libdb/lang/sql/odbc/ChangeLog
2011-09-13 13:44:24 -04:00

532 lines
21 KiB
Text
Raw Blame History

SQLite ODBC Driver
------------------
Wed May 26 2010 version 0.86 released
* update to SQLite 3.6.23.1
* fixes in handling SQL_TIMESTAMP data regarding fractional part
* fixes in SQLForeignKeys() and SQLGetTypeInfo() as suggested
by Farid Zidan
* SQLGetData() now returns real length instead of SQL_NO_TOTAL
when the buffer was too small
* added sqlite3_mod_extfunc.dll from www.sqlite.org/contrib
* fixed UTF8/UNICODE en/decoding of character range 0x80..0xff
* fixed SQLSetConnectAttr(..SQL_AUTOCOMMIT..) handling
as suggested by Simon Schubert
Tue Jan 12 2010 version 0.85 released
* update to SQLite 3.6.22
* added JournalMode DSN option
* again fixes in SQLPrimaryKeys()
* allow zero length parameter in SQLSetConnectAttr(..SQL_AUTO_COMMIT..)
Wed Dec 02 2009 version 0.84 released
* update to SQLite 3.6.20
* SQLStatistics() now reports INTEGER PRIMARY KEY as first index
* SQL_ATTR_MAX_ROWS for SQLite3 driver
* fixed memory leaks in SQLPrimaryKeys()
* try to detect last argument of SQLSetStmtOption()
needed for newer unixODBC versions
Tue May 26 2009 version 0.83 released
* update to SQLite 3.6.14.2
* fixed UNICODE string length issues in SQLGetInfoW() et.al.
Mon May 11 2009 version 0.82 released
* update to SQLite 3.6.14
* in driver connect dialog, disable DSN input field
when driver name property is set on begin of dialog
* initial Win64 NSIS installer of SQLite3 driver
* Win64 version of SQLite3 driver can now be made with
MingW-64 cross compiler
* eliminated warnings for Win64 build
Tue Apr 14 2009 version 0.81 released
* update to SQLite 3.6.13
* use sqlite3_table_column_metadata() when available to
optimize out "PRAGMA table_info()"
* configure now prefers the amalgamation SQLite3 source if
it finds sqlite3.c/sqlite3.h using the --with-sqlite3 switch
* various hacks to make MS Excel/Query happy
* various fixes and enhancements in impexp.c
* keep sqlite3_stmt pointers as long as possible between
SQLPrepare() and SQLExecute() in order to minimize
SQLite API calls
* provide current date when retrieving TIME rows as TIMESTAMP
* now use amalgamation source sqlite3.c when building
SQLite3 drivers
* partial implementation of SQLSetPos(), fixes in length
handling for deferred parameters, and row-wise parameter
array binding to make Database Template Library (DTL) happy
* 64 Bit fixes for getrowdata() thanks Nikolas Taylor for fix
Tue Jan 27 2009 version 0.80 released
* update to SQLite 3.6.10
* Tru64 and HP/UX 64 bit fixes and build notes in README
thanks to Nikola Radovanovic
* length/indicator fixes for parameter arrays
* getrowdata fixes for length/indicator and truncation
* added Win32 build option to use sqlite*.dll instead of
static linking
* initial Win64 support, thanks Nikolas Taylor for help
* fixed x86_64 problems in SQLite2 driver
* provide ODBC2/ODBC3 column names for metadata w.r.t. SQL_HENV
* provide proper SQL_DESC_LENGTH for SQL_BIT
* fixes in SQLBindCol regarding SQL_BIND_BY_COLUMN
* made SQL_DESC_OCTET_LENGTH/SQL_DESC_TYPE_NAME more
consistent w.r.t. wide-char types
* fix in iODBC include path in configure.in, thanks
Ingo Bormuth for patch
* again fixes in SQLGetData for SQL_NO_DATA paths
Mon Sep 29 2008 version 0.79 released
* update to SQLite 3.6.3
* fixes in SQLGetData for zero-length SQL_C_CHAR and SQL_C_BINARY
* fixed off-by-one counting problem for SQL_ATTR_ROW_NUMBER and
SQL_ROW_NUMBER, thanks Christian Mueller for initial fix
Sun Aug 24 2008 version 0.78 released
* update to SQLite 3.6.1
* relaxed fixupsql() parsing to be able to support
"CREATE TRIGGER ..." SQL statements in SQLPrepare() et.al.
* added XML output format to impexp.c
* provide SQLAllocHandle/SQLFreeHandle for iODBC, too,
thanks Nick Davis for patch
* double free fix in SQLPrimaryKeys(), thanks Ingo Bormuth
for reporting
* increased some PRECISION fields in SQLGetTypeInfo()
* fix in SQLSetConnect(Attr|Option)(..SQL_AUTOCOMMIT..)
when a transaction is in progress and autocommit is turned on
again, thanks Sam Kanai for reporting
Sun Jan 06 2008 version 0.77 released
* update to SQLite 3.5.4
* fixed length/offset issues in SQLGetData() when reading data
in multiple chunks, thanks Sam Kanai for reporting
* fix in parameter binding regarding SQL_C_WCHAR/SQL_NTS buffers,
thanks Sam Kanai for reporting
* fix regarding SQL_RESET_PARAMS and unbound parameter semantic,
thanks Sam Kanai for reporting and providing initial fix
* fixes in Win32 rundll32 install/uninstall handlers
* more 64bit fixes
* fixed wrong typeinfo for time/timestamp
* now use sqlite3_bind_*() functions for SQLite3 driver's
parameter passing
Thu Oct 11 2007 version 0.76 released
* update to SQLite 3.5.1
* partly reverted SQLPrimaryKeys() change from version 0.73:
report primary keys from PRAGMA table_info or if none found
fall back to "*autoindex*" PKs from PRAGMA index_list
* minor tweaks in Makefile.in regarding libtool mode parameter
and SQLite3 install targets
* added handling for SQL_DESC_SCHEMA_NAME in SQLColAttribute()
* added handling for SQL_ATTR_CURSOR_SENSITIVITY in SQLSetStmtAttr()
* improved SQLTables()/SQLColumns() regarding pattern search
* use *printf(3) format %Q instead of '%q' in SQLite 3 driver
* if available use newer SQLite3 APIs (sqlite3_prepare_v2() etc)
Sat Aug 04 2007 version 0.75 released
* update to SQLite 3.4.1
* hack for MS Access' wrong usage of SQLStatistics
(reserved error -7748)
* minor code cleanup
* fixed bug in SQLite2 driver SQLColumns()
* reworked start transaction logic w.r.t. meta data
functions like SQLTables()
* added some additional logic to SQLCancel() and SQLite
busy handlers
Mon Apr 02 2007 version 0.74 released
* SQLColAttribute(s)(): provide proper info for
SQL_DESC_NULLABLE/SQL_COLUMN_NULLABLE
* SQLPrimaryKeys(): report only real primary keys
* fixed SQL_COLUMN_PRECISION/SQL_DESC_PRECISION for
integer/double/date/time/timestamp columns
* SQLStatistics(): report INTEGER PRIMARY KEY column as
index when no other indices available
* fixed SQL_COLUMN_TYPE_NAME/SQL_DESC_TYPE_NAME return,
should be "VARCHAR" instead of "VARCHAR(100)"
* fixed wrong pointer increments for DSN parsing on Win32
* minor fixes in blobtoxy extension module
Sun Feb 18 2007 version 0.73 released
* update to SQLite 3.3.13
* SQLGetInfo(SQL_OWNER_TERM) now is empty string
* fixed bug in Win32 version concerning SQLDriverConnect()
* added -L/-l/-I/-i switches to sqlite+tcc.c
Sat Feb 10 2007 version 0.72 released
* update to SQLite 3.3.12
* added case for SQL_DESC_NUM_PREC_RADIX in SQLColAttribute[s]
* Win32 MinGW build: turn on SQLITE_SOUNDEX
* UN*X: try libodbcinst.so.1/libiodbcinst.so.2 before
libodbcinst.so/libiodbcinst.so for SQLGetPrivateProfileString(),
the latter are normally only in development packages
* unquote table names for SQLForeignKeys() and
pragma foreign_key_list()
* added Win32 build of experimental sqlite+tcc module
* fixes/additions in configure.in/Makefile.in
* minor changes regarding WITHOUT_DRIVERMGR compile-time switch
* added new compile-time switches WITHOUT_INSTALLER and
WITHOUT_SHELL for Win32
* added blobtoxy and impexp loadable modules, Win32 names
are sqlite3_mod_blobtoxy.dll and sqlite3_mod_impexp.dll
* added DSN option LoadExt for specification of loadable
extensions as comma separated list of pathnames
* added Win32 build of FTS1/FTS2 to DLLs
sqlite3_mod_fts1.dll and sqlite3_mod_fts2.dll
Thu Jan 11 2007 version 0.71 released
* update to SQLite 3.3.10
* MingW Win32 build: added shell function in
order to run driver DLL as SQLite shell from rundll32
* WIN32 thread safety as suggested by Dmitriy Ivanov:
serialize most SQL*() APIs using critical section on ENV struct
* implemented SQLGetDiagField(W)(), initial code kindly
donated by Arnold Schulz
* more tweaks regarding Win32 code page vs. UTF-8
* added patches from Debian 0.70 testing
* on Win32 don't assume that database, DSN, and driver names
are UTF-8 encoded in SQLite3 driver
* fixes in corner cases of SQL query substitution
with 0 parameters and SQL patterns (%)
* added "ShortNames" DSN option in SQLite 3 driver
* allow naming a column (no pattern) in SQLColumns()
* UN*X standard behaviour now is not to build drivers
with wide char interfaces, this must be turned on
explicitely by specifying "--enable-winterface" at
configure time
* now provide SQL*W functions in Win32 SQLite3 driver, quick
and dirty ported from sqliteodbc.c, not optimized for
SQLite 3.x wide char APIs
Sun Aug 20 2006 version 0.70 released
* update to SQLite 3.3.7
* fix for SQLBindCol(,,NULL,,) which must unbind column
* added missing SQL_CATALOG_NAME/SQL_COLLATION_SEQ in SQLGetInfo()
* added SQLiteODBCInstaller for Win32 as contributed
by Gunter Hinrichsen
* added install/uninstall functions in Win32 versions in
order to allow driver install/remove by rundll32
Sun Jul 23 2006 version 0.69 released
* added "NoCreat" DSN option in SQLite3 driver to prevent
from implicit creation of empty database files
* fixed severe bug in conditional compile for (un)defined
HAVE_SQLITE3COLUMNTABLENAME, thanks Tim Tassonis for reporting
* detect and handle SQLITE_SCHEMA errors from sqlite3_prepare()
Fri Jul 07 2006 version 0.68 released
* update to SQLite 3.3.6, 2.8.17
* increased default lock timeout to 100000 milliseconds
* use sqlite3_column_table_name when available
* improved type mapping/type detect for SQLite3 driver,
thanks Rainer Keuchel for ideas/initial coding
* fixed buggy memcpy() in getrowdata(), thanks Rainer Keuchel
* tweaks in SQLTables()
* improved .spec file w.r.t. standard RPM/configure places,
* UN*X version: try to use dlopen() for SQLGetPrivateProfileString()
in order to become agnostic of unixODBC vs iODBC
* fixes in SQLite3 driver regarding percent substitution
for queries with no parameters (eg strftime SQL function)
* fixes w.r.t. SQL_C_DEFAULT type mapping
* fixes in SQLParamData()/SQLPutData() again
* minor changes in Win32 dialog handling
Mon Apr 03 2006 version 0.67 released
* reworked blob handling in SQLite 2+3 drivers,
thanks Altan <20>zg<7A>r for testing
* added NSIS installer script
* Win32 version can now be made with MingW cross compiler
* eliminated some more warnings in Win32 DSN config
* improved SQLite 3 tracing for DSN option "tracefile"
* added shell scripts drvdsninst.sh/drvdsnuninst.sh
and Makefile targets drvinst/drvuninst
* added configure option --enable/disable-winterface to
turn on (= enable, default) or off (= disable) SQLite 2.x
SQLITE_UTF8 mapping to SQL*W() functions
* fixes in accordance with MSDN KB#294169 Unicode length
arguments mainly in SQLColAttribute[s]*W()
Sat Feb 25 2006 version 0.66 released
* update to SQLite 3.3.4
* added DSN option "LongNames" to switch behaviour
regarding column name truncation
* eliminated warnings when compiled with GCC 4.x
* added handling for Unicode 2 word sequences
* added alpha SQL_BINARY support for SQLite 3 driver
* fixes regarding SQLParamData/SQLPutData for data-at-execution
parameters
* GCC 4 related fixes regarding signedness warnings
* added mkopc3.c utility to create opcode.[ch] files for
newer SQLite 3 (> 3.0.8) sources
* added SQL_BIT data type handling
* added SQL_BIGINT data type handling for SQLite 3
* fixes in fixupsql()
* some defines to deal with newer ODBC headers
* fixes w.r.t. va_list handling for sqlite_exec_vprintf,
sqlite_vmprintf etc.
* update to SQLite 2.8.16
* fixes w.r.t. blob handling in SQLite2 driver
* added DSN option "NoTXN" to disable BEGIN/COMMIT/ROLLBACK
* added SQL_ATTR_NOSCAN handling
* added DSN option for PRAGMA synchronous (SQLite3 only)
* minor fixes concerning return code of SQLFetch() and friends
w.r.t. non-SELECT statements
* added SQL_DESC_COUNT handling as requested by Vadim Zeitlin
* added OS/2 port in SQLite2 driver contributed by Lorne Sunley
* handle MEMO like TEXT in columns
* use BEGIN EXCLUSIVE transaction when SQLite >= 3.0.8
* fixed memory leak in vm_step/s3stmt_step
Thu Oct 07 2004 version 0.65 released
* first (alpha) version of SQLite3 driver for Win32
* fixes in Win32 resources
* minor tweaks in SQLGetInfo()
* fixes in length return of SQLGetInfoW() concerning UNICODE data
* fixed errors in orientation/offset handling of SQLExtendedFetch/
SQLFetchScroll, thanks Lucky Prianata for testing
* added handling of SQL_ATTR_ROW_BIND_OFFSET_PTR for statements
* added handling of SQL_ATTR_RETRIEVE_DATA for statements
(seems to be needed by ADO)
Sun Sep 05 2004 version 0.64 released
* added row-wise binding for rowsets
* fixed off-by-one error for SQL_FETCH_PRIOR
* another bug fix in fixupsql() concerning quotes thanks to
Justin Foutts
* always fallback to _ROWID_ in SQLSpecialColumns(SQL_BEST_ROWID)
even for tables w/o index
* update to SQLite 2.8.15
* fixes concerning SQL_COLUMN_LABEL in SQLColumnAttribute(s)
Thu Jul 08 2004 version 0.63 released
* added tracefile DSN option using sqlite_trace() if available
* in drvprepare() make SQL check with all parameters set to NULL
* only use *step() for select statements w/o parameters
(makes option usable on OpenOffice.org on Linux)
* added pre-alpha version for SQLite 3.x
* added limited support for paramsets/rowset for OTLv4
* added limited support for named parameters (Oracle-style)
* fixed problem in SQLBindParameter argument checking
* when using gcc do printf-style format checks on setstat/setstatd
* added SQLite functions current_(date|time|datetime)_(local|utc)
* include SQLite error codes or -1 in native error field in
SQLError() and SQLGetDiagRec()
* bug fixes in SQLNativeSql() concerning buffer/length
semantics, thanks to N Rajesh
* corrected problems in fixupdyncols (select on views) and
UN*X version of drvdriverconnect
* added SQLite functions hextobin/bintohex when
sqlite_(encode|decode)_binary API available
* introduced blob handling when sqlite_(encode|decode)_binary
available (SQLite 2.8.14 made these APIs public)
* update to SQLite 2.8.14
* made SQL_COLUMN_LABEL different from SQL_COLUMN_NAME
* fix in configure.in concerning SQLITE_INC/LIBDIR macros,
thanks to Stefan Radman
Sat May 01 2004 version 0.62 released
* don't implement some APIs for unixODBC unicode driver version
* fixed unicode length semantics in SQLGetInfoW() et.al.
* when SQLITE_UTF8 make SQLDriverConnectW() on UN*X, too
* added missing SQL_DESC_TYPE_NAME case in SQLColAttribute(),
patch provided by Chris Waters
Sat Apr 24 2004 version 0.61 released
* fixed getrowdata() to support SQLGetData() with NULL ptr and
SQLFetch() to retrieve proper data length, thanks to Joel Reed
* fall back to integer primary key columns in SQLPrimaryKeys()
and SQLStatistics() when no indices on table found
* improved auto increment detection
Thu Apr 08 2004 version 0.60 released
* improved RPM .spec file
* added heuristic to detect auto increment columns
(not a 100% solution yet) for better OpenOffice.org
support, thanks to Yves Chaufour for OOo testing
* added property list function for unixODBC setup dialog
* another SQLFreeStmt(...SQL_CLOSE) fix to make OOo work
* added implemetation of SQLForeignKeys()
* removed worker thread support, use sqlite_compile(),
sqlite_step(), sqlite_finalize() instead, DSN option to
use that feature is "StepAPI"
* minimum required SQLite version is now 2.8.0
Sun Mar 21 2004 version 0.56 released
* update to SQLite 2.8.13
* fixes in UTF to unicode conversion
* fixes in handling of length indicator in SQLBindParameter()
* added SQL_{COLUMN,DESC}_{PRECISION,SCALE} to SQLColAttribute()
* some unixODBC tweaks related to SQLError()/SQLGetDiagRec()
* corrections in SQLError()/SQLGetDiagRec() handling,
* fixed bugs in SQLColAttribute() which crashed OpenOffice.org
* added SQL_FETCH_RELATIVE support as requested by Jorge Mason
* fix in SQLFreeStmt(...SQL_CLOSE): don't unbind bound columns
thanks to Martin Saturka
Sat Jan 25 2004 version 0.55 released
* update to SQLite 2.8.11
* fixes in error messages
* fixed SQL_IDENTIFIER_QUOTE_CHAR to be double-quote, thanks
to Mourad Ben Cheikh
* minor fixes in functions related to SQLColAttribute(s)
* started support of bookmarks
* added SQL_DYNAMIC_CURSOR_ATTRIBUTES1 in drvgetinfo(),
thanks to Jeff Robbins
* changed "numeric" in mapsqltype() to return SQL_DOUBLE,
thanks to Cristian Guissani
* added add[sys]dsn/rem[sys]dsn utility programs for Win32
as requested by Tom Shafer
* fix in ParseAttributes() for proper DSN configuration
* don't automatically rollback in drvexecute()
* bug fix in UTF8 version for deferred bound parameters
thanks to Kimmo Hamalainen
Sun Jul 27 2003 version 0.54 released
* update to SQLite 2.8.5
* minor fixes in SQLGetDiagRec()
* when ODBC V3 turned on report proper error codes (eg HY000)
* added partial support of SQL_ATTR_ROW_BIND_TYPE
Fri Jul 11 2003 version 0.53 released
* update to SQLite 2.8.4
* added missing handling of ODBC V3 data type codes SQL_C_DATE,
SQL_C_TIME, SQL_C_TIMESTAMP in some functions. Thanks to
Justin at cloudmark dot com
Sun Jun 15 2003 version 0.52 released
* update to SQLite 2.8.3
* fixed potential crash in dbopen() thanks to Gene Shkolnik
* some improvements and hacks for WIN32 ADO
* for SQL type "float" report SQL_DOUBLE instead of SQL_FLOAT
* WIN32: export more ODBC V2 symbols
* fixes in unicode conversions in SQLGetData() and drvbindparam().
Thu May 15 2003 version 0.51 released
* added support for SQLITE_UTF8 by SQL*W unicode entries,
partially tested on Win32 only!
* added ODBC v2/3 handling on SQLAllocHandle etc.
* use localeconv() to fixup floating point formatting
* eliminated unnecessary odbcver.h and ctl3d.h from
*.rc and *.c files, thanks to Roberto Artigas Jr
* added ODBC version 3 SQL_TYPE_* features
* fixes in configure.in for Solaris, thanks to
Gene Shkolnik
* fixed bug in drvbindparam() thanks to Alex Clement
* switched coroutine handling to use pth_uctx_*() from
GNU pth package, configure option --enable-pth
Sat Mar 08 2003 version 0.50 released
* changed freeresult() behaviour in order to allow
SQLBindCol() column bindings before prepare/execute
* revision of SQLGetTypeInfo()
* minor changes in SQLGetInfo() and SQLGetFunctions()
Sat Feb 22 2003 version 0.49 released
* update to SQLite 2.8.0
* bug fix in fixupsql() concerning quotes thanks to Alex Clement
* bug fix in substparam() for SQL_NTS/SQL_NULL_DATA
thanks to Alex Clement
* bug fix in drvfetchscroll for wrong column counting
for SQL_FETCH_ABSOLUTE, thanks to Gene Shkolnik
Thu Jan 02 2003 version 0.48 released
* cleanup threading
* added mkopc tool for making opcodes.[ch] on Win32
Sat Sep 14 2002 version 0.47 released
* fixed NULL pointer derefs in getmd() and mapsqltype()
* SQLBindCol() now always binds even if no result available
Sat Aug 31 2002 version 0.46 released
* experimental: configuration option: use coroutine
instead of thread for running select statements
* SQLMoreResults() now always returns SQL_NO_DATA
* use the new PRAGMA show_datatypes if available
* reworked busy handling logic to use sqlite_busy_handler()
* now perform sqlite_open() in single function dbopen()
* changed all pthread_cond_signal() to pthread_cond_broadcast()
Fri Jul 05 2002 version 0.45 released
* improved timestamp scanning
* return result set with _ROWID_ for SQLSpecialColumns()
when no unique column in table
* fixes in parameter substitution (SQLSetParam())
* fixed reading data in pieces (SQLGetData())
* added dummy implementations for SQLTablePrivileges(),
SQLColumnPrivileges(), SQLProcedures(), SQLForeignKeys(),
SQLProcedureColumns()
* code cleanup
* added support for NULL in parameters using %Q
sqlite_..printf() format specifier for SQLite > 2.4.x
Sun Jun 16 2002 version 0.44 released
* fixed getbool() to return false on empty string
* added implementation of SQLParamData(), SQLPutData()
* fixed values of NON_UNIQUE field in SQLStatistics(),
store empty INDEX_QUALIFIER field in SQLStatistics()
* fixes in getrowdata() concerning partial retrieving
of result set
* when starting an asynchronous query, set number of
result rows to -1
* fixes in SQLBindParameters(), for some datatypes
the binding was not performed
Sun Jun 09 2002 version 0.43 released
* replaced all %s in PRAGMAs by '%q' to make SQLPrimaryKeys(),
SQLStatistics(), SQLSpecialColumns() work on automatic indexes
* added NULLABLE column to result set of SQLSpecialColumns()
to support last SQLSpecialColumns() parameter properly
* additions in SQLGetInfo()
* added implemetation of SQL(Get|Set)ConnectAttr()
* improved handling of SQLDriverConnect() for non Win32 OSes
* improved handling of arguments in SQLTables()
Tue Jun 04 2002 version 0.42 released
* now use doxygen for docs
* added ChangeLog
* added BSD type license