Hiroshi Inoue [Sat, 15 Oct 2016 03:11:59 +0000 (12:11 +0900)]
Oops, I forgot to update installer/buildInstallers.ps1 in commit
c0a3b083ab5394c50cf0e71986769f265de297fe.
Heikki Linnakangas [Wed, 12 Oct 2016 07:26:33 +0000 (10:26 +0300)]
Remove unused #defines.
Heikki Linnakangas [Wed, 12 Oct 2016 07:24:12 +0000 (10:24 +0300)]
Silence compiler warning about missing argument datatype.
Heikki Linnakangas [Wed, 12 Oct 2016 07:21:31 +0000 (10:21 +0300)]
Use SIZEOF_LONG_INT to check whether SQLROWSETSIZE exists.
I changed this originally to use SIZEOF_LONG_INT, in commit
661b9bf8. That
commit also changed an unrelated check in psqlodbc.h, but that was wrong.
Hiroshi fixed that in commit
19b3dee3, by changing them to use SIZEOF_LONG
instead. That was correct for psqlodbc.h, but was in turn wrong for
odbcapi.c.
SIZEOF_LONG_INT is defined in UnixODBC headers, while SIZEOF_LONG is defined
by psqlodbc's ./configure. In odbcapi.c, we use it to determine what format
modifier, %ld or %lld, to use for pointers. (Why don't we use %p?). We should
rely on our autoconf check for that. In odbcapi.c, however, the check should
match that in the ODBC headers, to determine whether SQLROWSIZE exists, so
we should use SIZEOF_LONG_INT.
Heikki Linnakangas [Wed, 12 Oct 2016 07:21:11 +0000 (10:21 +0300)]
Mark ParseWithLibpq as static.
For sake of tidiness.
Hiroshi Inoue [Tue, 11 Oct 2016 04:06:31 +0000 (13:06 +0900)]
Rename long name of properties, WarningLevel -> WarnLvl, DisableSpecificWarnings -> DSpcWarn.
Hiroshi Inoue [Mon, 10 Oct 2016 11:29:46 +0000 (20:29 +0900)]
Handle *default* PG directories.
Hiroshi Inoue [Mon, 10 Oct 2016 03:00:48 +0000 (12:00 +0900)]
Before invoking MSBuild, test the existence of include, lib or bin directory.
Hiroshi Inoue [Sun, 9 Oct 2016 10:39:48 +0000 (19:39 +0900)]
Use powershell script module Psqlodbc-config.psm1 instead of configuration.ps1.
Hiroshi Inoue [Sun, 9 Oct 2016 12:11:28 +0000 (21:11 +0900)]
build_macros rather than setvcvars about which there's no code.
Hiroshi Inoue [Sun, 9 Oct 2016 10:52:11 +0000 (19:52 +0900)]
Documentation update.
Hiroshi Inoue [Sun, 9 Oct 2016 04:36:17 +0000 (13:36 +0900)]
Documentation update.
Hiroshi Inoue [Sat, 8 Oct 2016 13:03:59 +0000 (22:03 +0900)]
set lc_messages='C' so that error messages are ASCII ones.
Hiroshi Inoue [Sat, 8 Oct 2016 12:39:42 +0000 (21:39 +0900)]
Fix compiler warnings.
Hiroshi Inoue [Tue, 4 Oct 2016 04:20:27 +0000 (13:20 +0900)]
Using Powershell and MSBuild is the recommended way.
Hiroshi Inoue [Mon, 3 Oct 2016 05:39:45 +0000 (14:39 +0900)]
Documentation update for MSBuild.
Hiroshi Inoue [Tue, 4 Oct 2016 11:06:14 +0000 (20:06 +0900)]
Remove Imported-Modules.
Don't forget to initialize $msbuildexE
Hiroshi Inoue [Sat, 1 Oct 2016 11:53:45 +0000 (20:53 +0900)]
Documentation update.
Hiroshi Inoue [Sat, 1 Oct 2016 11:43:23 +0000 (20:43 +0900)]
Documentation update.
Hiroshi Inoue [Wed, 28 Sep 2016 12:47:23 +0000 (21:47 +0900)]
Add some error check to RegisterRegdsn.
Hiroshi Inoue [Sun, 25 Sep 2016 04:05:13 +0000 (13:05 +0900)]
Stop using invoke-expression.
Hiroshi Inoue [Fri, 23 Sep 2016 02:57:40 +0000 (11:57 +0900)]
Don't forget to replace globals when the driver name is diffrent from that of default.
Hiroshi Inoue [Fri, 23 Sep 2016 21:09:44 +0000 (06:09 +0900)]
Add TestList parameter which specifies a list of test cases.
Hiroshi Inoue [Fri, 23 Sep 2016 21:19:20 +0000 (06:19 +0900)]
Treat a parameter properly.
Hiroshi Inoue [Sat, 17 Sep 2016 05:33:07 +0000 (14:33 +0900)]
Add a special DSN for regression test.
Hiroshi Inoue [Wed, 31 Aug 2016 07:27:48 +0000 (16:27 +0900)]
Build the setup program psqlsetup used for the regression dsn.
psqlsetup also playes a role to relay ODBC API calls to compiled psqlodbc35w(30a).dll.
Hiroshi Inoue [Tue, 30 Aug 2016 04:04:55 +0000 (13:04 +0900)]
Separate the functionality of setup program.
Setup consists of setup.c, dlg_wingui.c, dlg_specific.c, mylog.c, xalibname.c, misc.c, loadlib.c and win_unicode.c.
Hiroshi Inoue [Tue, 20 Sep 2016 03:37:37 +0000 (12:37 +0900)]
Move a property group about version number from psqlodbc.vcxproj to psqlodbc.Cpp.props so that different dlls share the same version number.
Hiroshi Inoue [Mon, 19 Sep 2016 10:00:01 +0000 (19:00 +0900)]
Remove byte order mark from .vcxproj files.
Hiroshi Inoue [Mon, 19 Sep 2016 07:38:41 +0000 (16:38 +0900)]
Get the version from version.h when the number is not specified in the config file.
Hiroshi Inoue [Sat, 10 Sep 2016 11:59:16 +0000 (20:59 +0900)]
Add PG_BIN to the parameters of platformbuild.vcxproj.
Hiroshi Inoue [Sat, 10 Sep 2016 06:07:59 +0000 (15:07 +0900)]
Modify helper batch commands so that they can handle path names which contain spaces.
Hiroshi Inoue [Tue, 6 Sep 2016 11:56:30 +0000 (20:56 +0900)]
Add a helper batch command for regression test.
Hiroshi Inoue [Tue, 6 Sep 2016 11:08:40 +0000 (20:08 +0900)]
Rename a Powershell Module MSBuild-Get to MSProgram-Get.
Rename a function Get-MSBuild to Find-MSBuild so as to avoid the risk that msbuild is misunderstood Get-MSBuild.
Hiroshi Inoue [Thu, 28 Jul 2016 02:02:37 +0000 (11:02 +0900)]
Find dumpbin for the people like me who don't load C++ environment.
1. Make a function which find a dumpbin with additional PATH if necessary.
2. Make a function which get a list of dlls a dll directly or indirectly links.
Hiroshi Inoue [Sun, 4 Sep 2016 02:12:13 +0000 (11:12 +0900)]
Rewrite BuildAll.ps1 using Get-MSBuild function common to regress.ps1.
Hiroshi Inoue [Thu, 1 Sep 2016 03:26:18 +0000 (12:26 +0900)]
Use a common function getPGDir between winbuild/BuildAll.ps1 and installer/buildInstallers.ps1 so as to get PG related include, lib or bin directory.
Hiroshi Inoue [Tue, 2 Aug 2016 10:30:24 +0000 (19:30 +0900)]
Regression test using MSBuild.
Hiroshi Inoue [Fri, 5 Aug 2016 09:36:37 +0000 (18:36 +0900)]
Fix compiler warnings.
Hiroshi Inoue [Sat, 30 Jul 2016 22:50:27 +0000 (07:50 +0900)]
Cleanup win.mak a little for regression test on Windows.
Hiroshi Saito [Sat, 30 Jul 2016 13:27:37 +0000 (22:27 +0900)]
Prep release 09.05.0400.
Hiroshi Inoue [Fri, 29 Jul 2016 07:35:59 +0000 (16:35 +0900)]
Add 6 expected output so as to fix regression test failures on Windows.
Hiroshi Inoue [Fri, 29 Jul 2016 07:05:20 +0000 (16:05 +0900)]
Fix a regression test failure in catalogfunctions-test. SQLTablePrivileges test case produces 5 * (1 + count of super users other than current user) lines. Limiting the output to the first 5 lines fixes the result anyway.
Hiroshi Inoue [Thu, 28 Jul 2016 10:20:06 +0000 (19:20 +0900)]
Improve the handling of common.obj in regression test on Windows.
Now we can notice if common.c changes. Also, we don't build common.c separately
for each test, instead we build common.obj once and just link it to each test.
Hiroshi Inoue [Fri, 29 Jul 2016 02:34:57 +0000 (11:34 +0900)]
Fix some compilation warnings.
Hiroshi Inoue [Tue, 26 Jul 2016 23:23:34 +0000 (08:23 +0900)]
Fix regression test failures in param-convesrions-test. Though error messages of 2 test cases about SQL_FLOAT are not so appropriate, they are not wrong.
Hiroshi Inoue [Sun, 24 Jul 2016 22:13:19 +0000 (07:13 +0900)]
Fix regression test failures in result-conversions-test on big-endian platforms. expected/result-conversions_1.out lacks 3 lines.
Hiroshi Inoue [Sun, 24 Jul 2016 09:58:42 +0000 (18:58 +0900)]
Fix regression test failures on armv7hl. 'char' type seems to mean unsigned char on the platform. Though move_direction member of QResultClass takes negative values, QR_is_moving_backward() never returns TRUE. So ensure that move_direction is signed char on any platform.
Hiroshi Inoue [Wed, 20 Jul 2016 10:40:42 +0000 (19:40 +0900)]
The following infomation is from Dave Cramer(davecramer@gmail.com).
Prior to Visual Studio 2015 Update 3, the hook functions of type PfnDliHook __pfnDliNotifyHook2 and __pfnDliFailureHook2 were non-const. They were made const to improve security (global, writable function pointers are bad). If for backwards compatibility you require the hooks to be writable, define the macro DELAYIMP_INSECURE_WRITABLE_HOOKS prior to including this header and provide your own non-const definition of the hooks.
Hiroshi Inoue [Sun, 17 Jul 2016 02:45:23 +0000 (11:45 +0900)]
Fix a warning on non-windows platform.
Hiroshi Inoue [Wed, 13 Jul 2016 13:35:32 +0000 (22:35 +0900)]
Ignore the difference between CR LF, LF and CR line break when comparing expected and result output.
Hiroshi Inoue [Tue, 5 Jul 2016 23:35:42 +0000 (08:35 +0900)]
Move src/*.exe to exe/*.exe on Windows.
Also use fc command instead of diff command on Windows.
Fix a compilation error in large-object-data-at-exec-test.c regarding a type declaration in the middle of a code block (Patch by Michael Paquier).
Hiroshi Inoue [Thu, 7 Jul 2016 03:42:39 +0000 (12:42 +0900)]
Fix the bug introduced by the commit
4d44165af04d40e8aad405a9fbe31d7304c654c8 that SQLGetDiagFieldW, SQLGetDescFieldW or SQLColAttributeW mistakenly returns SQL_ERROR.
Hiroshi Inoue [Wed, 6 Jul 2016 10:17:12 +0000 (19:17 +0900)]
Default of *level of rollback on errors* is default(statement) not transaction.
Hiroshi Inoue [Wed, 6 Jul 2016 00:03:37 +0000 (09:03 +0900)]
Enable COMMLOG and MYLOG button.
Hiroshi Saito [Fri, 17 Jun 2016 14:03:43 +0000 (23:03 +0900)]
Prep release 09.05.0300.
Hiroshi Saito [Fri, 17 Jun 2016 13:57:06 +0000 (22:57 +0900)]
Prep release 09.05.0300.
Hiroshi Inoue [Thu, 5 May 2016 00:05:54 +0000 (09:05 +0900)]
Move test/src/*.exe to test/exe/*.exe so that directory name test/src can be specified for EXTRA_DIST.
Hiroshi Inoue [Fri, 17 Jun 2016 10:34:07 +0000 (19:34 +0900)]
Another one where 'for' loop initial declarations are only allowed in C99 mode.
Hiroshi Inoue [Fri, 17 Jun 2016 10:27:02 +0000 (19:27 +0900)]
'for' loop initial declarations are only allowed in C99 mode.
Hiroshi Inoue [Fri, 17 Jun 2016 02:53:44 +0000 (11:53 +0900)]
Implement SQL_QUERY_TIMEOUT. Patch by Tsunakawa, Takayuki.
Hiroshi Inoue [Fri, 17 Jun 2016 02:43:58 +0000 (11:43 +0900)]
fix buffer overrun in logging, and code cleanup. Patch by Tsunakawa, Takayuki.
Hiroshi Inoue [Sun, 15 May 2016 05:12:37 +0000 (14:12 +0900)]
Convert tableoid to relation name in case of inheritance.
Hiroshi Inoue [Sat, 21 May 2016 06:07:43 +0000 (15:07 +0900)]
Add one more delete-loop to cursor-block-delete-test after rolling back to another savepoint.
Hiroshi Inoue [Sat, 23 Apr 2016 04:43:54 +0000 (13:43 +0900)]
Preparation for handling inheritance.
Hiroshi Inoue [Mon, 25 Apr 2016 03:50:41 +0000 (12:50 +0900)]
Refine cursors with KEYSET using oid or oid alternative as far as possible.
Hiroshi Inoue [Mon, 9 May 2016 03:38:01 +0000 (12:38 +0900)]
Reflect the change in expected/result-conversions_1.out as well as expected/result-conversions.out.
Hiroshi Inoue [Sun, 8 May 2016 01:16:48 +0000 (10:16 +0900)]
Fix expected output of cursor-movement_1.
Hiroshi Inoue [Sun, 8 May 2016 00:49:54 +0000 (09:49 +0900)]
Fix regression test diagnostic-test.
Hiroshi Inoue [Sat, 26 Mar 2016 13:28:47 +0000 (22:28 +0900)]
Fix regression test result-conersions-test by setting lc_monetary to 'C'.
Hiroshi Inoue [Sat, 7 May 2016 11:42:42 +0000 (20:42 +0900)]
Oops, I forgot to add "Fetch=37" to connection string.
Hiroshi Inoue [Wed, 4 May 2016 03:04:49 +0000 (12:04 +0900)]
Refine SQLFetchScroll() for the orientations other than SQL_FETCH_NEXT/PRIOR. Discard move_from_the_last stuff and call move_cursor_to_last() instead.
Hiroshi Inoue [Wed, 4 May 2016 11:40:23 +0000 (20:40 +0900)]
Add missing header time.h.
Hiroshi Inoue [Sat, 30 Apr 2016 23:09:50 +0000 (08:09 +0900)]
Set once_reached_eof status when useDeclareFetch=0 so that QR_num_total_read() macro works well.
Don't forget to call CC_on_abort_partial() when rollback back to a savepoint.
Now the driver passes cursor-block-delete test.
Hiroshi Inoue [Thu, 28 Apr 2016 04:21:39 +0000 (13:21 +0900)]
Estimate the rowsetSize including deleted tuples correctly so that rowset can be effectively handled.
Hiroshi Inoue [Wed, 27 Apr 2016 12:24:40 +0000 (21:24 +0900)]
Fix the handling of boundary_should_be_adjusted case when a rowset is cut in the middle of cached rows.
Also fix the row info of SQL_ADDed tuples.
Hiroshi Inoue [Tue, 26 Apr 2016 03:52:33 +0000 (12:52 +0900)]
Fix the use and the implementation of getNthValid().
Hiroshi Inoue [Sun, 1 May 2016 10:54:58 +0000 (19:54 +0900)]
Add a test case cursor-block-delete which deletes all the tuples using SQLFetchScroll(.,., SQL_FETCH_NEXT/PRIOR,.) and SQLSetPos(). Unfortunately the current driver doesn't pass this test.
Michael Paquier [Mon, 25 Apr 2016 06:16:56 +0000 (15:16 +0900)]
Largely reduce overhead of localtime() in SQLFetch
localtime() is a very costly system call causing serious grief on
performance of the driver for OLTP-type applications using a lot
SQLFetch and this one is being called for all data types when performing
an in-line conversion, while it is being used only in the case where
some of the date and/or timestamp fields are not initialized. While
testing performance of an internal application, this patch has proved
to improve the overall performance of an application by 20%.
Michael Paquier [Mon, 25 Apr 2016 05:34:40 +0000 (14:34 +0900)]
Improve tests for localtime() calls for NULL text values
The ODBC driver allocates by default values for year, day and month
depending on result of localtime() when those fields are not filled by
the client during a cast operation. This commit adds some tests to make
sure that those code paths are working correctly.
Hiroshi Saito [Fri, 15 Apr 2016 13:38:44 +0000 (22:38 +0900)]
Release 09.05.0210.
Hiroshi Inoue [Fri, 15 Apr 2016 08:13:54 +0000 (17:13 +0900)]
Add a helper batch for installer/buildInstallers.ps1.
Hiroshi Inoue [Wed, 13 Apr 2016 14:02:51 +0000 (23:02 +0900)]
Use LoadLibraryEx so that pgxalib.dll can load msvcp120.dll.
Hiroshi Inoue [Wed, 13 Apr 2016 12:54:36 +0000 (21:54 +0900)]
Change Makefile.am in order to add new test case and expected output to distribution.
Hiroshi Inoue [Wed, 13 Apr 2016 12:33:17 +0000 (21:33 +0900)]
Remove a message for debug.
Hiroshi Inoue [Wed, 13 Apr 2016 12:23:05 +0000 (21:23 +0900)]
Distribute msvcpxxx.dll for Windows package as well as mcvcrxxx.dll.
Hiroshi Saito [Sat, 9 Apr 2016 13:07:38 +0000 (22:07 +0900)]
Prep release 09.05.0200.
Hiroshi Inoue [Thu, 7 Apr 2016 04:54:56 +0000 (13:54 +0900)]
Prevent bus error crash on sparc in regression test.
It seems a problem of alignment.
Hiroshi Inoue [Thu, 7 Apr 2016 05:20:36 +0000 (14:20 +0900)]
Add expected output for Big Edian machine.
Hiroshi Inoue [Sun, 3 Apr 2016 04:57:12 +0000 (13:57 +0900)]
The third stricmp() in writeDriverCommoninfo() is useless, because the second one causes the function to return.
SC_get_errormsg() definition is repeated twice in succession.
In info.c:SQLGetInfo(), "len = 0" is unnecessary because len is assigned at the end of the function.
In execute.c:PGAPI_ExecDirect(), flag doesn't need to be set as its value doesn't change.
PODBC_PER_STATEMENT_ROLLBACK is not used.
[patch by Tsunakawa, Takayuki]
Hiroshi Inoue [Sun, 27 Mar 2016 11:57:21 +0000 (20:57 +0900)]
SQLS(G)etDescRecW instead of SQLS(G)etDescRec for Unicode driver.
Hiroshi Inoue [Sat, 2 Apr 2016 02:44:32 +0000 (11:44 +0900)]
There's no msvcrxxx,dll in VC14.
Hiroshi Inoue [Fri, 1 Apr 2016 09:48:06 +0000 (18:48 +0900)]
In Windows the use of external variables timezone, tzname and daylight are deprecated. Use _timezone, _tzname and _daylight instead.
Hiroshi Inoue [Fri, 1 Apr 2016 10:40:46 +0000 (19:40 +0900)]
Fix a parameter unmatch of snprintf.
Hiroshi Inoue [Fri, 1 Apr 2016 03:33:44 +0000 (12:33 +0900)]
LINKMT is not used in the build process. ADDL_INC should be ADD_INC. Just a typo. The CLEAN target doesn't delete .pdb files. [patch by Tsunakawa, Takayuki]
Hiroshi Inoue [Fri, 1 Apr 2016 02:05:53 +0000 (11:05 +0900)]
Fixed a typo.
Hiroshi Inoue [Tue, 29 Mar 2016 12:29:49 +0000 (21:29 +0900)]
The statement linked list is not properly chained, which throws away some statements. [patch by Tsunakawa, Takayuki]
Hiroshi Inoue [Tue, 29 Mar 2016 08:38:06 +0000 (17:38 +0900)]
The existing memory is not freed upon realloc() failure.
PGAPI_BindCol() doesn't check the failure of extend_getdata_info().
[patch by Tsunakawa, Takayuki]
Hiroshi Inoue [Tue, 29 Mar 2016 08:43:28 +0000 (17:43 +0900)]
setup.c:test_connection() calls EN_Constructor() twice, leaking small memory. [patch by tsunakawa, Takayuki]
Hiroshi Inoue [Tue, 29 Mar 2016 08:48:19 +0000 (17:48 +0900)]
Checking a flag bit mistakenly resets other flag bits. [patch by Tsunakawa, Takayuki]