GixSQL v1.0.18 is here

This is a maintenance release for GixSQL, that fixes a few issues and adds some new features, notably two new database drivers (Oracle and SQLite). Check the documentation for generic and driver-specific usage notes.

Please note: there have been several breaking changes both in the runtime libraries and in the preprocessing engine, so source code compiled with older versions MUST be preprocessed again and recompiled. Also, be sure you are using the updated runtime libraries (i.e libgixsql/libgixsql-*).

Binary packages available (as usual on the release page on GitHub):

  • Windows x64 (MSVC + MinGW)
  • Windows x64 (MinGW only)
  • Windows x86 (MSVC + MinGW)
  • Windows x86 (MinGW only)
  • Windows x86 "portable"
  • Linux x64 (Ubuntu 20.04)

There is also a autoconf-enabled source package, to make building on Linux and MinGW easier.

A summary of new features and fixes:

  • Added new Oracle driver, based on ODPI
  • Added new SQLite driver
  • All the drivers have been updated and now implement the complete set of supported features
  • Solution for "PG: issue with prepared statements" (#99)
  • Solution for "PCursors cannot be re-opened after close" (#98)
  • Solution for "libgixpp: setStatus is called for errors without DBI parm passed - sets SQLERRM" (#94)
  • Solution for "error handling (especially for 07001)" (#92)
  • Solution for "show-stopper bug in pgsql_prepare" (#91)
  • Solution for "PREPARE does not work with VARLENGTH groups (ocesql compat)" (#79)
  • Partial solution for "PREPARE does not work with VARLENGTH groups (ocesql compat)" (#68)
  • Solution for "The PostgreSQL driver needs START TRANSACTION before using cursors" (#14)
  • Solution for "FR: support EXEC SQL VAR" (#21)
  • Fixed a bug in "problems with "codegen / logic issue for "GIXSQLCursorDeclareParams" (#88)
  • Solution for "FR: allow mapping of "NoRecCode"' (#95) - added --no-rec-code parameter to gixpp
  • Tokens in the parser have been labeled to improve diagnostics (pulled PR #96 by @GitMensch)
  • Fixed COMP-3 handling in drivers other than PostgreSQL
  • Rewrote the test suite (still MSTest-based) to dynamically generate a matrix of test to be run on the various platforms/database drivers
  • Added options for parameter generation in gixpp (-a was removed)
  • Added new GIXSQL_FIXUP_PARAMS option for runtime, to automatically convert parameter format in prepared statements
  • "Native" cursors are now the default for the PostgreSQL driver
  • "Smart" cursor initialization is now the default for all cursors, including those declared in WORKING-STORAGE (-L was removed from gixpp), should fix #101
  • Removed dynamic cursor emulation from the ODBC driver when using PostgreSQL