Dave Cramer [Tue, 1 Oct 2024 13:19:08 +0000 (09:19 -0400)]
update version numbers to release 16.00.0007 to release a version 16 with the latest memory fixes (#62)
Alexandr Kuznetsov [Sat, 28 Sep 2024 20:29:00 +0000 (23:29 +0300)]
Another place where refcnt in the COL_INFO object is unfortunately (#55)
erased.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
Dave Cramer [Fri, 27 Sep 2024 16:02:54 +0000 (12:02 -0400)]
Use REL_17_STABLE (#53)
Dave Cramer [Fri, 27 Sep 2024 13:02:11 +0000 (09:02 -0400)]
update version numbers for release 17 (#52)
* update version numbers for release 17
Dave Cramer [Fri, 27 Sep 2024 11:28:28 +0000 (07:28 -0400)]
release 16_00_0006 bugfix for double free (#50)
* release 16_00_0006 bugfix for double free
Alexandr Kuznetsov [Fri, 27 Sep 2024 10:23:20 +0000 (13:23 +0300)]
Fix for issue #47 - double free of COL_INFO object (#48)
* Fix for issue #47 - double free of COL_INFO object due to refcount
breakage during reuse of directly found object in getColumnsInfo(...).
One more possible memory leak of COL_INFO objects in
getColumnsInfo(...).
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Fix spelling mistake in comment.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
---------
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
Dave Cramer [Mon, 23 Sep 2024 16:55:25 +0000 (12:55 -0400)]
prepare release notes and update version in configure.ac (#45)
Dave Cramer [Mon, 23 Sep 2024 15:06:14 +0000 (11:06 -0400)]
Update main.yml Build against PostgreSQL RC1 (#44)
* Update main.yml Build against PostgreSQL RC1
* Update OPENSSL to 3.3.2
Hunaid Sohail [Sun, 11 Aug 2024 23:30:48 +0000 (04:30 +0500)]
Implementation of SQLSetDescRec & SQLGetDescRec functions (#23)
* Implemented SQLSetDescRec function
- Fixed SQL_DESC_PRECISION field in IPDSetField & IPDGetField functions
- Added support for other fields for bookmark column in ARDSetField
- SQL_DESC_TYPE
- SQL_DESC_DATETIME_INTERVAL_CODE
- SQL_DESC_OCTET_LENGTH
- SQL_DESC_PRECISION
- SQL_DESC_SCALE
* Implemented SQLGetDescRec function
- Handled SQL_NO_DATA case in GetField functions
- Handled 01004 SQLSTATE in GetField functions
- Added support for SQL_DESC_NAME & SQL_DESC_NULLABLE IPDGetField functions
* Implemented SQLGetDescRecW & SQLSetDescRecW functions
- Updated PGAPI_GetFunctions function to get new functions
- Updated psqlodbc.def file for new functions on Windows
- Fixed HY007 error handling
* Added regression test for DescRec functions
Dave Cramer [Tue, 6 Aug 2024 17:40:14 +0000 (13:40 -0400)]
only change what is necessary (#12)
Carlos García [Tue, 6 Aug 2024 17:34:47 +0000 (19:34 +0200)]
Updated error code returned by SQLGetData function (#35)
* Updated error code returned by SQLGetData function
* use openssl v 3_3_1
---------
Co-authored-by: Carlos García García <cgarciag@denodo.com>
Co-authored-by: Dave Cramer <davecramer@gmail.com>
Dave Cramer [Tue, 6 Aug 2024 10:12:19 +0000 (06:12 -0400)]
build against postgresql version 17_beta2 (#37)
* build against postgresql version 17_BETA2
* use openssl v 3_3_1
Adrian Grucza [Tue, 28 May 2024 23:56:53 +0000 (09:56 +1000)]
Prevent mimalloc release tag recursively triggering another release (#27)
Adrian Grucza [Tue, 28 May 2024 23:12:56 +0000 (09:12 +1000)]
Support building against VC17 on AMD64 (#9)
Alexandr Kuznetsov [Fri, 24 May 2024 09:47:10 +0000 (12:47 +0300)]
Fixed bugs, reported in issue #8. (#25)
* Fixed bugs, reported in issue #8.
Bunch of memory leaks, occuring in tests.
One heap-buffer-overrun in read operation at convert.c:3162.
Two memory leaks, detected by my unit tests:
password, conn_settings, pqopt fields overwrite if their values
provided by both, system config and connstring.
Restored reference counting lifetime managment of COL_INFO objects.
Some minor cosmetic changes.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Minor cosmetic changes.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Forgot set col_info to NULL in TABLE_INFO object while clearing it.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
* Fixing comments.
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
---------
Signed-off-by: Alexandr Kuznetsov <progmachine@xenlab.one>
Hunaid Sohail [Sun, 19 May 2024 20:22:18 +0000 (01:22 +0500)]
Fixed typos in all source code and documentations (#11)
Adrian Grucza [Wed, 15 May 2024 11:20:15 +0000 (21:20 +1000)]
Fix warnings about caches not being saved (#20)
Adrian Grucza [Tue, 14 May 2024 12:11:11 +0000 (22:11 +1000)]
Add workflow version to force PostgreSQL rebuild (#19)
Adrian Grucza [Mon, 13 May 2024 15:38:02 +0000 (01:38 +1000)]
Use strdup on non-Windows systems (#17)
Dave Cramer [Mon, 13 May 2024 13:48:54 +0000 (09:48 -0400)]
use openssl64 from slproweb
Dave Cramer [Mon, 13 May 2024 11:14:32 +0000 (07:14 -0400)]
Merge branch 'main' of github.com:postgresql-interfaces/psqlodbc
Adrian Grucza [Sun, 12 May 2024 14:37:42 +0000 (00:37 +1000)]
Add mimalloc release (#14)
Adrian Grucza [Sun, 12 May 2024 11:57:02 +0000 (21:57 +1000)]
Key caches based on software versions (#13)
* Key caches based on software versions
* Rename cache keys to prevent partial key matches
Dave Cramer [Fri, 10 May 2024 18:07:53 +0000 (14:07 -0400)]
use same version of openssl to build x64 and x86
Dave Cramer [Fri, 10 May 2024 15:29:02 +0000 (11:29 -0400)]
get latest windows version from edb
Dave Cramer [Tue, 7 May 2024 20:06:34 +0000 (16:06 -0400)]
fix error
Dave Cramer [Tue, 7 May 2024 19:33:17 +0000 (15:33 -0400)]
fix error
Dave Cramer [Tue, 7 May 2024 19:31:00 +0000 (15:31 -0400)]
download win32openssl and build with it
Dave Cramer [Mon, 6 May 2024 14:25:22 +0000 (10:25 -0400)]
use installed version of postgresql to build against
Dave Cramer [Wed, 1 May 2024 18:15:43 +0000 (14:15 -0400)]
increment version for testing
Dave Cramer [Wed, 1 May 2024 14:26:23 +0000 (09:26 -0500)]
Merge pull request #1 from davecramer/fix_x64_release
Fix x64 release
Dave Cramer [Wed, 1 May 2024 13:25:54 +0000 (09:25 -0400)]
add x64 artifacts
Adrian Grucza [Fri, 26 Apr 2024 13:00:13 +0000 (23:00 +1000)]
Use mimalloc to improve performance and reduce memory allocation lock contention (#6)
* Add mimalloc submodule and update build script
* Add steps to build and test with UseMimalloc
* Update mimalloc submodule
* Change UseMimalloc parameter type to switch
* Add ExpectMimalloc parameter
* Fetch mimalloc submodule and use mimalloc parameters
* Prevent MIMALLOC_VERBOSE aborting tests
* Uninstall driver after tests; upload mimalloc artifacts
davecramer [Mon, 4 Mar 2024 23:08:49 +0000 (18:08 -0500)]
Build and release using github actions
Dave Cramer [Mon, 4 Mar 2024 21:25:20 +0000 (16:25 -0500)]
Merge pull request #3 from davecramer/fix_overflow
use unsigned word for lengths to avoid overflow
Dave Cramer [Wed, 28 Feb 2024 13:30:05 +0000 (08:30 -0500)]
make stapos an unsigned int just in case
Dave Cramer [Tue, 27 Feb 2024 14:20:27 +0000 (09:20 -0500)]
use unsigned word for lengths to avoid overflow
SAITO Hiroshi [Sat, 16 Sep 2023 08:18:07 +0000 (17:18 +0900)]
Prep Relese 16.00.0000.
Hiroshi Inoue [Fri, 8 Sep 2023 02:04:30 +0000 (11:04 +0900)]
Make it possible to use standard bool on Windows.
Ubuntu [Mon, 4 Sep 2023 19:57:41 +0000 (19:57 +0000)]
Use autoconf to check for stdbool.h Committer: Dave Cramer <davecramer@gmail.com>
SAITO Hiroshi [Fri, 23 Jun 2023 07:28:19 +0000 (16:28 +0900)]
Prep release 15.00.0000.
Hiroshi Inoue [Fri, 23 Jun 2023 02:37:02 +0000 (11:37 +0900)]
Define TRUE and FALSE for regression tests in case they aren't defined.
Adrian Grucza [Fri, 23 Jun 2023 01:10:57 +0000 (11:10 +1000)]
Bug fix: SQLColAttribute returns wrong column name - In some circumstances it was returning a name from the previous result
Adrian Grucza [Fri, 23 Jun 2023 00:15:24 +0000 (09:15 +0900)]
Prevent cursors being closed prematurely
Hiroshi Inoue [Sun, 27 Nov 2022 11:00:07 +0000 (20:00 +0900)]
Currenly SQLColumnPrivileges() call fails. Fix a typo which is the cause.
Patch by foxi_yiyi12081003@outlook.com.
Hiroshi Inoue [Wed, 30 Nov 2022 02:54:50 +0000 (11:54 +0900)]
Enable SQLColumnPrivileges functionality.
Add a regression test for SQLColumnPrivileges().
Adrian Grucza [Wed, 30 Nov 2022 11:09:45 +0000 (20:09 +0900)]
Fix FetchRefcursors issues 1. Fix crash if error occurs when fetching noninitial refcursor 2. Fix error when fetching NULL refcursor 3. Return empty result if all refcursors are NULL
Hiroshi Inoue [Sun, 17 Oct 2021 12:29:12 +0000 (21:29 +0900)]
1. Fix a bug that SQLGetDiagField(SQL_DIAG_NUMBER) with SQL_HANDLE_DBC returns SQL_NO_DATA
even if an error record exists.
2. Fix a typo "RECISION" which should be "PRECISION".
Hiroshi Saito [Wed, 22 Sep 2021 09:59:47 +0000 (18:59 +0900)]
Prep Release 13.02.0000.
Vadim [Mon, 2 Aug 2021 15:56:08 +0000 (18:56 +0300)]
CPTimeout option set to 60 for odbc driver by default
Hiroshi Inoue [Sun, 22 Aug 2021 05:39:49 +0000 (14:39 +0900)]
Use ODBC 3 column names for the result set of catalog functions.
Hiroshi Inoue [Mon, 7 Jun 2021 12:47:21 +0000 (21:47 +0900)]
Suppress compiler warnings.
Adrian Grucza [Wed, 26 May 2021 05:14:16 +0000 (15:14 +1000)]
Named parameter binding support
Hiroshi Inoue [Mon, 24 May 2021 09:20:54 +0000 (18:20 +0900)]
The commit 2e67af added a new ansi test dsn psqlodbc_test_dsn_ansi_debug. So change the way how to determine ansi test driver.
Hiroshi Inoue [Sun, 23 May 2021 11:41:50 +0000 (20:41 +0900)]
Suppress compiler warnings.
Adrian Grucza [Wed, 12 May 2021 06:50:42 +0000 (16:50 +1000)]
Allow installation and testing of a debug build of the driver (useful for debugging).
Fixed a bug in `regress.ps1` where accepting the default password of
`postgres` did not work.
Adrian Grucza [Wed, 12 May 2021 14:15:02 +0000 (00:15 +1000)]
Support fetching results from multiple refcursors * Multiple result sets are returned if multiple refcursors are found * Works with both ODBC CALL and PostgreSQL CALL syntaxes * Query must be executed in a transaction to avoid cursors being closed * Now works when output parameters are present * Added fetch-refcursors regression test
Adrian Grucza [Wed, 12 May 2021 13:16:35 +0000 (23:16 +1000)]
Remove REFCUR_SUPPORT, add FetchRefcursors setting
Aaron Spike [Tue, 27 Apr 2021 10:46:59 +0000 (19:46 +0900)]
We've noticed that the password field on the PostgreSQL Connection
dialog is always focused when empty, even when other fields that appear
earlier on the dialog (and in the tab order) are empty. This is only a
minor annoyance, but it does seem like it would be contrary to the
expectation of most users.
I would propose separating the conditional to inform the user that the
password is required, but still focus the first empty field.
Aaron Spike
Hiroshi Inoue [Tue, 11 May 2021 12:03:08 +0000 (21:03 +0900)]
Remove a mylog() call which is a dupilicate of the preceding MYLOG()
macro call.
Also direct use of mylog() should be avoided because mylog() uses lots of CPU.
Report and patch by Marko Ristola.
Hiroshi Saito [Sun, 2 May 2021 12:07:34 +0000 (21:07 +0900)]
Prep Ver 03.01.0000
Hiroshi Inoue [Fri, 23 Apr 2021 11:25:31 +0000 (20:25 +0900)]
Format check for ExtraOptions of setup dialog.
Hiroshi Inoue [Wed, 21 Apr 2021 06:39:41 +0000 (15:39 +0900)]
Prioritize DISABLE_KEEPALIVE checkbox over the disable_keepalive bit of ExtraOptions.
Hiroshi Inoue [Wed, 21 Apr 2021 03:43:30 +0000 (12:43 +0900)]
Forget to apply disable_convert_func flag to VARCHAR and LONGVARCHAR.
Hiroshi Inoue [Wed, 14 Apr 2021 04:45:00 +0000 (13:45 +0900)]
Let SQLExecute() destroy the old result first.
This change fixes the diff of insertreturning-test regression test
reported by Patrick Cheung.
Hiroshi Inoue [Wed, 7 Apr 2021 09:36:40 +0000 (18:36 +0900)]
Let SQLDescribeCol() use parsed result when the current executed result is NULL.
This change fixes the diff of prepare-test regression test reported by Mangold Fabian.
Hiroshi Inoue [Mon, 19 Apr 2021 06:25:41 +0000 (15:25 +0900)]
Add a *update returning* test case to insertreturning regression test.
The diff of the result was reported by Patrick Cheung and will be fixed
in the later commit.
Hiroshi Inoue [Mon, 19 Apr 2021 00:12:07 +0000 (09:12 +0900)]
Add a call for SQLDescribeCol() before SQLExecute() to prepare-test.
The diff of the result was reported by Mangold Fabian and will be fixed in the later commit.
Hiroshi Inoue [Thu, 8 Apr 2021 09:55:36 +0000 (18:55 +0900)]
Fix a bug of CC_send_query_append() when the ignore_roundtrip_time flag is on.
Daniel Gustafsson [Tue, 16 Feb 2021 15:01:08 +0000 (16:01 +0100)]
Refactor check for SSL connection
PQgetssl has been discouraged from use since postgres 9.5 since it
will risk false negatives if postgres supports other TLS libraries
than OpenSSL. Refactor to use PQsslInUse which has been available
since 9.5 for just this purpose.
Hiroshi Inoue [Sun, 13 Dec 2020 11:55:13 +0000 (20:55 +0900)]
Remove deprected-test from regression test. It is no longer needed
and causes compilation errors in some environments.
Hiroshi Saito [Wed, 2 Dec 2020 11:56:47 +0000 (20:56 +0900)]
fixed typo, per report Hayato Kuroda-san.
Hiroshi Saito [Thu, 19 Nov 2020 09:26:08 +0000 (18:26 +0900)]
Prep release 13.00.0000.
Hiroshi Saito [Thu, 19 Nov 2020 08:47:03 +0000 (17:47 +0900)]
fixed C99 mode.
Hiroshi Inoue [Mon, 6 Jul 2020 12:31:00 +0000 (21:31 +0900)]
Add support for CONVERT scalar function.
Hiroshi Inoue [Mon, 9 Nov 2020 04:43:35 +0000 (13:43 +0900)]
Cope with the case that openssl libraries link msvc runtimes other than libraries which psqlodbc or libpq links.
Hiroshi Inoue [Sat, 7 Nov 2020 12:43:41 +0000 (21:43 +0900)]
Fix a compilation error with vc10.
Hiroshi Inoue [Thu, 24 Sep 2020 04:44:55 +0000 (13:44 +0900)]
Call AC_CHECK_SIZEOF() or AC_CHECK_TYPES() macros at earlier stage where LIBS variable isn't set yet.
These macros compile and run some programs. On some platforms(with some linker options like
--no-as-needed in Lnux Gnu linker) the programs try to link libraries specified by LIBS variable at run time.
There are some cases that the programs fail due to missing library which is actually not needed and AC_CHECK_SIZEOF() returns 0.
Hiroshi Inoue [Wed, 23 Sep 2020 07:46:58 +0000 (16:46 +0900)]
Suppress some gcc compiler warnings.
Hiroshi Inoue [Sun, 26 Jul 2020 09:29:49 +0000 (18:29 +0900)]
Fix a compilation error with GCC 10 due to conflicting variable names.
Patch by Paul Wise.
Hiroshi Inoue [Thu, 2 Jul 2020 10:53:34 +0000 (19:53 +0900)]
A code cleaup.
Remove curr_param_result property of StatementClass and separate parsed result from the exec result.
Hiroshi Inoue [Tue, 14 Jul 2020 23:43:51 +0000 (08:43 +0900)]
Add support for development with VC16(Visual Studio 2019).
MSToolsVersion parameter of BuildAll.ps1 and of regress.ps1 are deprecated.
Hiroshi Inoue [Thu, 16 Jul 2020 11:46:18 +0000 (20:46 +0900)]
Fix compilation errors with vc10 caused by the previous commit.
Hiroshi Inoue [Fri, 26 Jun 2020 13:44:51 +0000 (22:44 +0900)]
Hold the first and last result for parametrized SQL statements with array of parameters. This would improve the performance of bulk inserts/updates etc.
Hiroshi Inoue [Wed, 24 Jun 2020 10:46:44 +0000 (19:46 +0900)]
Revise the handling of QResultClass list.
Introduce macros QR_concat(), QR_detach() and QR_next().
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.