Hiroshi Inoue [Wed, 10 Jun 2020 04:20:27 +0000 (13:20 +0900)]
Correct the handling of SQL_ROW_ERROR and SQL_ROW_SUCCESS_WITH_INFO.
worldleaderpretend [Wed, 27 May 2020 22:11:10 +0000 (18:11 -0400)]
* Remove the single table restriction in SC_set_SS_columnkey
Hiroshi Inoue [Thu, 18 Jun 2020 23:41:21 +0000 (08:41 +0900)]
Fix a compilation error in cygwin.
worldleaderpretend [Wed, 27 May 2020 14:49:38 +0000 (10:49 -0400)]
* Fixed the way joins are identified in the parser * Added to gitignore
Hiroshi Inoue [Sat, 30 May 2020 10:28:48 +0000 (19:28 +0900)]
Oops, I forgot to place a line in a macro defintion.
Hiroshi Inoue [Sat, 30 May 2020 00:16:21 +0000 (09:16 +0900)]
Improve error reporting abuut SC_pos_reload_needed().
Hiroshi Saito [Tue, 26 May 2020 10:10:24 +0000 (19:10 +0900)]
Prep release 12.02.0000.
Hiroshi Saito [Tue, 26 May 2020 10:00:35 +0000 (19:00 +0900)]
fixed loop initial declaration used outside C99 mode.
Hiroshi Inoue [Sat, 23 May 2020 12:06:24 +0000 (21:06 +0900)]
Suppress a warning.
Hiroshi Inoue [Wed, 25 Mar 2020 06:40:54 +0000 (15:40 +0900)]
An improvement for psqlodbc developpers. Make it possible to call some shell scripts from other directories.
Hiroshi Inoue [Wed, 20 May 2020 10:57:20 +0000 (19:57 +0900)]
Add a new option IgnoreTimeout.
Some tools issue issue SQLSetStmtAttr(.., SQL_ATTR_QUERY_TIMEOUT,,) internally and sometimes it's difficult for users to change the timeout value. You can disable the timeout by turning on this option.
Hiroshi Inoue [Tue, 19 May 2020 12:22:17 +0000 (21:22 +0900)]
Add regression test for batch execution.
Hiroshi Inoue [Mon, 18 May 2020 10:54:30 +0000 (19:54 +0900)]
Change SC_execute() so that it returns a return code which is not
affetced by the preceding results. It's necessary for batch execution
with arrays of parameters.
Hiroshi Inoue [Mon, 18 May 2020 10:53:48 +0000 (19:53 +0900)]
Improve execution of parameterized SQL statements with arrays of parameters by sending chunks of SQL statements.
If SQL_ATTR_CURSOR_TYPE of an statement is SQL_CURSOR_FORWARD_ONLY, SQL_ATTR_CONCURRENCY is SQL_CONCUR_READ_ONLY and extended protocol isn't used, the batch execution of the statement is possible.
A new option Batch Size was introduced for such cases.
Batch Size: Split an array (of parameters) into chunks of Batch Size to execute statements. The last chunk may contain less than Batch Size elements. Setting 1 to this option forces the current one by one execution.
Also turn off use_server_side_prepare option temporarily when batch executuion is possible.
Hiroshi Inoue [Sun, 17 May 2020 11:29:32 +0000 (20:29 +0900)]
Ignore PQtransactionStatus PQTRANS_ACTIVE in LIBPQ_update_transaction_status().
PQTRANS_ACTIVE isn't a transaction status.
Hiroshi Inoue [Sat, 16 May 2020 04:49:48 +0000 (13:49 +0900)]
Handle notice messages in libpq_bind_and_exec(). Sets and resets a notify receiver
around PQexecParams() or PQexecPrepared().
Hiroshi Inoue [Thu, 27 Feb 2020 13:08:54 +0000 (22:08 +0900)]
Add a new *Display Optional Error Message* option. This option allows to
display error messages other than primary one.
Also add documentaition about the option and *Numeric as* option.
Hiroshi Inoue [Fri, 28 Feb 2020 04:44:44 +0000 (13:44 +0900)]
Use diff command of git bash in preference to wsl diff command.
Unfortunately >> (appending redirected output) doesn't work well with wsl.
Hiroshi Saito [Tue, 7 Jan 2020 13:26:12 +0000 (22:26 +0900)]
Prep release 12.01.0000
Hiroshi Inoue [Sun, 5 Jan 2020 02:05:57 +0000 (11:05 +0900)]
Fix param-conversion and error-rollback regression test in PG12.
Old param-conversions.out was renamed param-conversions_2.out.
Old param-conversions_1.out was renamed param-conversions_3.out.
Old error-rollback.out was renamed error-rollback_1.out.
Hiroshi Inoue [Sun, 5 Jan 2020 01:29:49 +0000 (10:29 +0900)]
Update the expected result of odbc-escapes regression test for PG12's new floating point output format.
Old odbc-escapes.out was renamed odbc-escapes_1.out.
Hiroshi Inoue [Sun, 5 Jan 2020 01:01:07 +0000 (10:01 +0900)]
Cope with the removal of pg_class.relhasoids in PG12 correctly when retrieving updatable cursors.
Hiroshi Inoue [Wed, 11 Dec 2019 11:58:16 +0000 (20:58 +0900)]
Flush stdout before exiting.
Hiroshi Inoue [Sat, 30 Nov 2019 11:16:28 +0000 (20:16 +0900)]
Fix the bug that causes Error : A parameter cannot be found that matches parameter nameāne'.
1. Check BuildResult(the result of drivers build) before building installers.
2. Enclose the command part * Find_VSDir $vc_ver * with parentheses so that
the subsequent * -ne "" * isn't considered to be a parameter.
Hiroshi Inoue [Wed, 11 Dec 2019 03:27:07 +0000 (12:27 +0900)]
Check the format of version number in editConfiguration.ps1.
Hiroshi Inoue [Fri, 8 Nov 2019 10:00:59 +0000 (19:00 +0900)]
Fix result-conversions regression test.
1. Remove tests for abstime type because the type was removed in PG12.
2. Update results for PG12's new floating point output format.
Results for old floating point output format were moved to result-conversions_2.out and result-conversions_3.out.
Hiroshi Saito [Fri, 11 Oct 2019 13:35:43 +0000 (22:35 +0900)]
Prep release 12.00.0000
Hiroshi Inoue [Fri, 4 Oct 2019 05:51:32 +0000 (14:51 +0900)]
Silence some compiler warnings.
Hiroshi Inoue [Thu, 26 Sep 2019 11:58:28 +0000 (20:58 +0900)]
Fix a crash bug when SQLProcedureColumns() handles satisfies_hash_partition(). The proargmodes column of satisfies_hash_partition()'s pg_proc entry is not null but the proallargtypes column is null. Per report from James.wang <james.wangke@gmail.com>.
Hiroshi Inoue [Fri, 4 Oct 2019 05:48:55 +0000 (14:48 +0900)]
The macro IS_NOT_SPACE() is used for not pointers but integers.
Hiroshi Inoue [Sat, 10 Aug 2019 12:51:31 +0000 (21:51 +0900)]
Added support for scalar functions TIMESTAMPADD(), TIMESTAMPDIFF() and EXTRACT() functions.
Hiroshi Inoue [Thu, 25 Jul 2019 03:51:13 +0000 (12:51 +0900)]
Since commit 778571, SQLGetTypeInfo() filters SQL_TYPE_DATE, SQL_TYPE_TIME and SQL_TYPE_TIMESTAMP for ODBC 2.x applications. However it isn't appropriate to filter them for individual SQLGetTypeInfo(.., SQL_DATE/TIME/TIMESTAMP(9/10/11)) call because Microsoft ODBC driver manager calls SQLGetTypeInfo(.., SQL_TYPE_DATE/TIME/TIMESTAMP(91/92/93)) of ODBC 3.x drivers when ODBC 2.x applications call SQLGetTypeInfo(.., SQL_DATE/TIME/TIMESTAMP(9/10/11)).
Per report from Michael Riksman.
Hiroshi Inoue [Thu, 27 Jun 2019 12:35:42 +0000 (21:35 +0900)]
Fix the bug that SQLGetDescField() for Field SQL_DESC_COUNT returns SQLINTEGER value which should be of type SQLSMALLINT.
Hiroshi Saito [Fri, 24 May 2019 14:00:08 +0000 (23:00 +0900)]
Prep release 11.01.0000
Hiroshi Inoue [Sun, 19 May 2019 04:09:31 +0000 (13:09 +0900)]
Fix test_connection() in setup.c so that settings of conn_settings and pqopt option are reflected properly.
Hiroshi Inoue [Sun, 19 May 2019 03:55:16 +0000 (12:55 +0900)]
Bug fix: don't forget to set parameter numbers while handling escaped ODBC
functions.
Report and patch by Grant Shirreiffs.
Hiroshi Inoue [Wed, 15 May 2019 11:58:08 +0000 (20:58 +0900)]
Correct the rgbInfoValue returned by SQLGetInfo(.., SQL_NUMERIC_FUNCTIONS(SQL_SYSTEM_FUNCTIONS or SQL_STRING_FUNCTIONS, ..).
Pointed out by Grant Shirreffs.
Hiroshi Inoue [Wed, 1 May 2019 01:32:09 +0000 (10:32 +0900)]
Fix a typo in SQLForeignKeys-ResultSet-Column.
'deferrablity' should be 'DEFERRABILITY'.
Report from Alexander Roskamp.
Hiroshi Inoue [Mon, 29 Apr 2019 11:19:44 +0000 (20:19 +0900)]
Correct the rgbInfoValue returned by SQLGetInfo(SQL_LIKE_ESCAPE_CLAUSE, ..).
Pointed out by Grant Shirreffs.
Hiroshi Inoue [Mon, 29 Apr 2019 01:04:58 +0000 (10:04 +0900)]
Register drivers {PostgreSQL ANSI} and {PostgreSQL Unicode} during installation on 64bit Windows so that users could use the same connection strings in both x86 and x64 environments.
Per report from Grant Shirreffs.
Hiroshi Inoue [Sun, 28 Apr 2019 04:13:26 +0000 (13:13 +0900)]
Because the field 'relhasoids' was dropped in PG12, psqlodbc drivers would have some troubles with PG12 servers.
Report and patch by Vladimir KokoviÄ.
Hiroshi Inoue [Fri, 29 Mar 2019 07:35:22 +0000 (16:35 +0900)]
Correct the rgbInfoValue returned by SQLGetInfo(SQL_TIMEDATE_FUNCTIONS, ..).
Pointed out by Song X. Gao.
Hiroshi Saito [Sat, 17 Nov 2018 13:18:33 +0000 (22:18 +0900)]
Prep release 11.00.0000.
Hiroshi Inoue [Tue, 13 Nov 2018 11:04:05 +0000 (20:04 +0900)]
Fix a bug that SQLSpecialColumns() returns oid/xmin incorrectly when a table does not exist.
Patch by Quan Zongliang.
Hiroshi Inoue [Sat, 10 Nov 2018 00:46:32 +0000 (09:46 +0900)]
Change the default platform parameter from "x64" to "both" in Windows regression test.
Hiroshi Inoue [Wed, 7 Nov 2018 06:11:51 +0000 (15:11 +0900)]
Documentation fix.
Hiroshi Inoue [Mon, 5 Nov 2018 05:39:49 +0000 (14:39 +0900)]
In Postgresql, numeric items without precision are unlimited and there's no natural map between SQL Data types.
Add an option *Numeric(without precision) as*.
Hiroshi Inoue [Sat, 3 Nov 2018 10:27:27 +0000 (19:27 +0900)]
The Windows binaries of next release will be built using Visual Studio 2017.
Hiroshi Inoue [Sat, 3 Nov 2018 05:09:09 +0000 (14:09 +0900)]
Fix a bug caused by the previous commit
e7be9779ba98b14d4c694acf87c83122780cfa67.
Also use a macro MYLOG() instead of function mylog().
Hiroshi Inoue [Sun, 28 Oct 2018 03:45:56 +0000 (12:45 +0900)]
Add an alias DX of *Database* keyword for connection strings to aviod the use of "database" keyword which has a special meaning in some apps or middlewares..
Hiroshi Inoue [Fri, 26 Oct 2018 05:15:22 +0000 (14:15 +0900)]
Unbuffered-IO in Windows is incredibly slow. Instead call fflush() after fprintf().
Hiroshi Inoue [Fri, 26 Oct 2018 03:12:25 +0000 (12:12 +0900)]
Fix the regression test failure in odbc-escapes caused by the commit
499fb29b80cfaf60fffd81549b36ec2def1cf21d.
The parameters should be cast because parameters of concat() function are variadic "any".
Hiroshi Inoue [Sun, 21 Oct 2018 02:59:42 +0000 (11:59 +0900)]
Increase the number of choices for "diff" commands in Windows.
Hiroshi Inoue [Sat, 20 Oct 2018 23:38:02 +0000 (08:38 +0900)]
Ignore BOM(byte order mark)s when there are BOMs in the input lines of test/reset-db.
Hiroshi Inoue [Fri, 19 Oct 2018 02:04:15 +0000 (11:04 +0900)]
Added shell scripts to build binaries, test and build installers for Windows under WSL(Windows Sybsystem for Linux) or cygwin environment.
Hiroshi Inoue [Fri, 19 Oct 2018 01:32:17 +0000 (10:32 +0900)]
Add an option to reinstall the driver.
Hiroshi Inoue [Fri, 19 Oct 2018 01:15:58 +0000 (10:15 +0900)]
Make it possible to separate object trees x86_ANSI_Release, x86_Unicode_Release, x64_ANSI_Release, x64_Unicode_Release, winbuild/test_x86, winbuild/test_x64, installer/x86, installer/x64, installer/psqlodbc-setup/obj and installer/psqlodbc-setup/bin from source tree on Windows.
Hiroshi Inoue [Wed, 26 Sep 2018 22:59:45 +0000 (07:59 +0900)]
Remove connSettings option and/or pqopt option from the OutConnectionString parameter of SQLDriverConnect() when each option doesn't exist in InConnectionString parameter.
Hiroshi Inoue [Wed, 26 Sep 2018 13:05:19 +0000 (22:05 +0900)]
Remove obsolete maps pointed out by Daniel Cory <dcory@tableau.com>.
1. POWER -> pow
2. CONCAT -> textcat
3. LEFT -> ltrunc
4. RIGHT -> rtrunc
Hiroshi Inoue [Tue, 28 Aug 2018 05:27:48 +0000 (14:27 +0900)]
Review RegisterDsn.
1. Add a new functionality to 'check_dsn'(renamed from 'existCheck').
This option returns 0 when dsn exists,returns -1 when dsn does not exist,
(new) returns -2 when dsn exists but the driver doesn't exist.
2. Add 'reinstall_driver' option. This option is effective when
'check_dsn' option returns -2.
Hiroshi Inoue [Mon, 27 Aug 2018 05:37:05 +0000 (14:37 +0900)]
Correct the path name of Visual Studio 2017 tools.
Hiroshi Inoue [Wed, 23 May 2018 10:54:38 +0000 (19:54 +0900)]
Fix compiler warnings in i386-linux-gnu.
Hiroshi Inoue [Wed, 23 May 2018 07:34:22 +0000 (16:34 +0900)]
Call AC_CHECK_SIZEOF(long int) in configure.ac and always place config.h before sql....h. Due to this change, sqltypes.h of unixODBC can recognize SIZEOF_LONG_INT used in psqlodbc driver.
Hiroshi Inoue [Wed, 23 May 2018 03:54:42 +0000 (12:54 +0900)]
Fix compiler warnings.
Hiroshi Inoue [Tue, 22 May 2018 03:57:58 +0000 (12:57 +0900)]
odbc_config is often missing in ubuntu.
In those cases you can try
configure --with-unixodbc=__without_odbc_config
. If necessary, configure with LDFLAGS and/or CPPFLAGS e.g.
configure "LDFLAGS=-L /usr/lib/x86_64/linux/gnu" --with-unixodbc=__without_odbc_config
.
Hiroshi Inoue [Mon, 21 May 2018 22:04:31 +0000 (07:04 +0900)]
Create an output variable from a shell variable ODBCLIB using AC_SUBST() in configure.ac. The variable is used in test/Makefile.in.
Hiroshi Saito [Sat, 19 May 2018 10:59:07 +0000 (19:59 +0900)]
Prep release 10.03.0000
Hiroshi Inoue [Thu, 17 May 2018 03:05:25 +0000 (12:05 +0900)]
Reduce DB access to pg_class or pg_index by caching relhasoids, relhassubclass etc.
It would improve the performance of SQLSetPos() or SQLBulkOperations() very much in some cases.
Per report from Takayuki Tsunakawa.
Hiroshi Inoue [Sun, 13 May 2018 11:58:06 +0000 (20:58 +0900)]
Add a parameter SpecificDsn of regress.ps1.
Maxim Zakharov [Fri, 11 May 2018 08:36:58 +0000 (18:36 +1000)]
fix build on Solaris using Solaris Studio
Hiroshi Inoue [Sat, 12 May 2018 12:51:51 +0000 (21:51 +0900)]
Fix some typos in help messages of regrees.ps1.
Also cleanup the handling of DeclareFetch parameter a little.
Hiroshi Inoue [Sat, 12 May 2018 04:00:33 +0000 (13:00 +0900)]
Let SQLTables() or SQLTablePrivileges() show partition tables.
Hiroshi Inoue [Fri, 11 May 2018 09:42:08 +0000 (18:42 +0900)]
Fix a crash bug when handling error messages.
Also modified some error messages.
Hiroshi Inoue [Wed, 2 May 2018 02:35:35 +0000 (11:35 +0900)]
Revise ConfigDSN() so that it handles the 4th parameter(lpszAttribues) correctly.
Per report from Haribabu Kommi.
Hiroshi Inoue [Wed, 2 May 2018 02:09:30 +0000 (11:09 +0900)]
Fix SQLGetTypeInfo() so that it filters SQL_TYPE_DATE, SQL_TYPE_TIME or SQL_TYPE_TIMESTAMP for ODBC 2.x applications.
Per report from Oleg Tonkikh.
Hiroshi Inoue [Wed, 18 Apr 2018 08:52:58 +0000 (17:52 +0900)]
Put back the handling of lock_CC_for_rb variable.
The variable lock_CC_for_rb should be held per connection.
Per report from Ayman Samamry.
Hiroshi Saito [Fri, 30 Mar 2018 14:36:58 +0000 (23:36 +0900)]
Fixed typo..
Hiroshi Saito [Fri, 30 Mar 2018 14:06:14 +0000 (23:06 +0900)]
Prep release 10.02.0000
Hiroshi Inoue [Tue, 27 Mar 2018 08:38:50 +0000 (17:38 +0900)]
Fix a crash bug in AddDeleted().
Report and patch by Takayuki Tsunakawa.
Hiroshi Inoue [Tue, 27 Mar 2018 02:08:42 +0000 (11:08 +0900)]
Make SQLSetPos(SQL_DELETE/SQL_REFRESH) more effective.
Because queries calling currtid(2) like
select .. from .. where ctid=currtid2(.., ..)
cause Seq Scan, their execution may be very slow.
It is better to execute queries using subqueries like
select .. from .. where ctid=(select currtid2(.., ..))
because they cause Tid Scan.
Report and changes by Tsunakawa Takayuki.
Hiroshi Inoue [Mon, 26 Mar 2018 14:34:05 +0000 (23:34 +0900)]
Handle MALLOC/REALLOC errors while fetching tuples more effectively.
Per report from Haruka Takatsuka.
Hiroshi Inoue [Sat, 17 Mar 2018 13:03:45 +0000 (22:03 +0900)]
Oops, setting *tidval* variable in SC_pos_reload_with_key() was missing by mistake.
Hiroshi Inoue [Mon, 26 Mar 2018 13:29:18 +0000 (22:29 +0900)]
Modify positioned-update-test.
1. Add a SQLSetPos(.., SQL_REFRESH, ..) call so that the test passes SC_pos_reload().
2. Add a primary key to pos-update-test table(KEYSET-DRIVEN cursor needs non null int4/oid unique key).
3. Add expected/positioned-update-test_1.out for KEYSET-DRIVEN cursors.
Hiroshi Inoue [Wed, 14 Feb 2018 10:32:22 +0000 (19:32 +0900)]
Avoid replacing effective notice messages.
Report from Wolfgang Apolinarski. Patch by Clemens Ladisch.
Ayappan [Mon, 12 Mar 2018 15:03:06 +0000 (10:03 -0500)]
Fix build for non-gcc systems
Hiroshi Inoue [Wed, 28 Feb 2018 06:12:44 +0000 (15:12 +0900)]
It's safer to call setlocale(LC_CTYPE, "") than calling setlocale(LC_ALL, "").
Report and patch by Mario De Frutos.
Hiroshi Inoue [Fri, 12 Jan 2018 08:27:43 +0000 (17:27 +0900)]
It is not appropriate to distribute test/Makefile.
The file isn't in git repo and is generated depending on the environment via configure operation.
Hiroshi Inoue [Fri, 12 Jan 2018 03:26:43 +0000 (12:26 +0900)]
Fix a bug in is_setting_search_path. A pointer might be incremented to point beyond the null terminator.
Report and patch by Grant Shirreffs.
Hiroshi Inoue [Sun, 31 Dec 2017 03:13:34 +0000 (12:13 +0900)]
Oops, get_DocumentElement() doesn't return xml type.
Hiroshi Saito [Thu, 28 Dec 2017 12:37:01 +0000 (21:37 +0900)]
Fixed typo release document.
Hiroshi Saito [Wed, 27 Dec 2017 13:16:28 +0000 (22:16 +0900)]
Prep release 10.01.0000
Hiroshi Inoue [Tue, 26 Dec 2017 02:03:59 +0000 (11:03 +0900)]
Review the level of MYLOG, QLOG.
Divide *level 1(detail)* log into *level 1(tuple level)* log and *level 2(detail)* log.
Hiroshi Inoue [Sat, 23 Dec 2017 23:36:00 +0000 (08:36 +0900)]
Free any data at exec params before the statement is executed again or the next set of parameters is processed. If not, then there will be a memory leak when the next SQLParamData/SQLPutData is called.
Per report from Mihai Giurgeanu <mihai.giurgeanu@gmail.com>.
Hiroshi Inoue [Sat, 23 Dec 2017 07:52:52 +0000 (16:52 +0900)]
Fix a bug in pgdebug_realloc().
Fix compiler warnings in inouealc.c
Hiroshi Inoue [Fri, 22 Dec 2017 23:21:41 +0000 (08:21 +0900)]
Use MYLOG instead of inolog in inouealc.c .
Hiroshi Inoue [Thu, 23 Nov 2017 00:55:09 +0000 (09:55 +0900)]
Add add an option -NoPDB to buildInstallers.ps1.
The switch option can be specified so as to exclude PDB files from the installers.
Hiroshi Inoue [Mon, 20 Nov 2017 10:11:14 +0000 (19:11 +0900)]
Review the handling of @@IDENTITY when a column's default is nextval(a_sequence) but the column isn't a serial. Unfortunately the function pg_get_serial_sequence() doesn't work for sequences which aren't serial type.
Hiroshi Inoue [Thu, 16 Nov 2017 06:11:31 +0000 (15:11 +0900)]
Fix my mistake of previous commit.
Hiroshi Inoue [Wed, 18 Oct 2017 02:51:30 +0000 (11:51 +0900)]
Call Get-VSSetupInstance to detect Visual Studio installations whose version >= 15 when VSSetup module is available.
Hiroshi Saito [Fri, 13 Oct 2017 13:29:37 +0000 (22:29 +0900)]
Prep version 10.00.0000!