April 12th, 2013
· New: Throw SQLException if a database access error occurs when ResultSet_next() is called. Previously, access errors could be masked as end of result set. Thanks to JiaQiang Xu.
· Fixes: (Volodymyr Tarasenko) Possible mem leak in Oracle's blob operation fixed.
· Fixed: MySQL: A Result Set with two or more columns larger than 256 bytes would cause libzdb to truncate the second column to 256 bytes in the first row. Thanks to Me from China for bug report and patch.
December 17th, 2012
· Fixed: MySQL: A ResultSet bind memory error could occur if string or blob columns of different size caused successive buffer reallocation. Thanks to Ryan Addams for discovering the problem.
December 6th, 2012
· New: Added support for the new bytea hex encoding format introduced in PostgreSQL 9.0.
· Fixed: MySQL: A table with two or more columns larger than 256 bytes would cause libzdb to truncate the second column to 256 bytes in the first row. Thanks to Me from China for bug report and patch.
· Fixed: Improved Build Configuration.
August 14th, 2012
· New: Libzdb is now compatible with and can be included in C++ or Objective-C(++) projects.
· Fixed: Oracle: Fixed a connection parameter bug. Thanks to l00106600
· Fixed: Oracle: Fixed a GCC C99 compile issue. Thanks to Stas Oginsky
· New: MySQL: Improved error reporting
· New: Automatically unescape the following URL components: credentials, path and parameter values
July 4th, 2009Internal optimizing changes and improvements:
· Enable shared cache mode for SQLite >= 3.5
· Added new configure option --enable-sqliteunlock which enables SQLite unlock notification. This feature requires >= 3.6.12 compiled with the SQLITE_ENABLE_UNLOCK_NOTIFY C-preprocessor symbol. This option greately improves upon SQLite concurrency when libzdb and SQLite is used from a multi-threaded program.
· Removed deprecated ResultSet_readData() from API
· PostgreSQL: Unescape values retrieved via ResultSet_getBlob() and via ResultSet_getBlobByName(). By an incurie, unescape was left out of libzdb version 2.5.
February 17th, 2009
· The configure options --with_mysql= and --with_postgresql= has a new meaning. If is given it is assumed to be the full path to respectively mysql_config and to pg_config. Example: ./configure --with_mysql=/usr/local/mysql/bin/mysql_config ./configure --with_postgresql=/usr/local/pgsql/bin/pg_config
· From version 2.4, libzdb places its header files into a zdb sub-directory as in, /include/zdb. Clients must now use the include-dir compiler flag, -I/include/zdb.
· Internal optimizing changes and improvements
· Changed prototypes of type 'extern void foo()' to 'extern void foo(void)' so the library compiles without warning if -Wstrict-prototype is used with gcc. Thanks to Paul Stevens
· Fixed off-by-one bug in Vector_remove
· PostgreSQL: Fixed PostgresqlResultSet_getColumnSize to report correct value.
· PostgreSQL: Improved error reporting and fixed potential allocation bugs in prepared statements.
· PostgreSQL: Calling PreparedStatement_setString with a NULL value now works
December 6th, 2008
· Cleaned up API and changed function return type to void for those functions that can throw exception on error.
· Support variable arguments in Connection_prepareStatement() to make it easy to build prepared statements in-place.
July 31st, 2008
· Make sure connection properties, max rows and query timeout are reset on Connection_close(), if changed.
· Ensure that timeout is set for new Connections and fixed a bug in the SQLite retry macro so the SQLite driver now will retry executing on database lock
June 9th, 2008
· Ensure that reaper progress forward and remove all connections it can
· Fixed a va_copy bug on 64 bits systems