5.1.5 (18-Aug-2008) Functionality added or changed: * Added FLAG_NO_BINARY_RESULT connection option to always handle binary function results as character data. (Bug #29402) Bugs fixed: * Some catalog functions used fixed-sized buffers for handling arguments that could be overrun, and misinterpreted some arguments as patterns when they should be treated as identifiers. (Bug #36275) * SQLDriverConnect() returned SQL_ERROR when the user cancelled the dialog box instead of SQL_NO_DATA. (Bug #36293) * System DSN lookup (using ODBC_BOTH_DSN) fails on Windows XP. (Bug #36203) * SQLProcedures() followed by SQLFreeStmt() crashes (Bug #36069) * ADO adUseServer cursor is lost after updating adLongVarWChar field (Bug #26950) * SQL_TYPE_TIMESTAMP and SQL_TYPE_TIME parameters were incorrectly included when parameters were expanded. (Bug #37342) * DSN-less connection prompting cannot lookup driver entry (Bug #37254) Includes changes from Connector/ODBC 3.51.26. Built using MySQL 5.0.60sp1. ---- 5.1.4 (15-Apr-2008) Bugs fixed: * SQLGetDiagRec() sometimes returned SQL_SUCCESS but no error message. (Bug #33910) * Driver installer (myodbc-installer.exe) fails to create a new DSN (Bug #35776) * Get wrong result with decimal(8,2) field type (Bug #35920) Includes changes from Connector/ODBC 3.51.25. Built using MySQL 5.0.56sp1. ---- 5.1.3 (26-Mar-2008) Functionality added or changed: * Added SSLVERIFY connection option to verify server certificate. By default certificate is not verified now. (Bug #34648) * Database list height is autoadjusted in Windows GUI. (Bug #33918) Bugs fixed: * Recordset-based update fails if blob field is queried. (Bug #19065) * Descriptor records were not cleared correctly when calling SQLFreeStmt(SQL_UNBIND). (Bug #34271) * The driver incorrectly reported that the SQL standard CAST() and CONVERT() functions were supported. (Bug #33808) * Unresolved symbols "min" and "max" in libmyodbc3.so w/gcc 4.2. (Bug #34256) * Notorious #DELETED problem when linking tables in Access and BIGINT PK (Bug #24535) * MyODBC 51/Access unable to use DBEngine.RegisterDatabase to create a DSN (Bug #33825) * Unable to use surrogate pairs into with unicode column. (Bug #34672) * SQLGetData w/SQL_C_WCHAR gives incorrect data. (Bug #34429) Includes changes from Connector/ODBC 3.51.24. Built using MySQL 5.0.52. ---- 5.1.2 (12-Feb-2008) Functionality added or changed: * SQLForeignKeys uses INFORMATION_SCHEMA when it is available on the server, which allows more complete information to be returned. * Disabled MYSQL_OPT_SSL_VERIFY_SERVER_CERT when using an SSL connection. * Explicit descriptors are implemented. (Bug #32064) * Changed SQL_ATTR_PARAMSET_SIZE to return an error until support for it is implemented. Bugs fixed: * Tried to use the already-entered database when connecting to get list of databases in Windows setup library. (Bug #33615) * SQLForeignKeys returned an empty string for the schema columns instead of a NULL. (Bug #19923) * SQLGetInfo() reported characters for SQL_SPECIAL_CHARACTERS that were not encoded correctly. (Bug #33130) * Adding or updating a row using SQLSetPos() on a result set with aliased columns would fail. (Bug #6157) * Changing the DSN name when editing a DSN left behind the DSN under the old name in addition to creating the new entry. Fixed for native Windows GUI. (Bug #31165, fixed for Qt GUI in 3.51.23) * Numeric values (such as OPTIONS or PORT) were not read correctly from a connection string if they were not the last parameter. (Bug #33822) * The SSLCIPHER option was saved incorrectly on Windows. (Bug #33897) * The cursor position was incorrect after rows were deleted from a static cursor. (Bug #33388) * Dynamic cursors on statements with parameters were not supported. (Bug #11846) * FLAG_COLUMN_SIZE_S32 did not limit the octet length or display size reported for fields, causing problems with Microsoft Visual FoxPro. (Bug #30890) * Retrieving SQL_C_WCHAR data with SQLGetData() could crash due to incorrect handling of the buffer length. (Bug #32684) Includes changes from Connector/ODBC 3.51.23. Built using MySQL 5.0.52. ---- 5.1.1 (12-Dec-2007) Functionality added or changed: * Added MSI installer for Windows 64-bit (Bug #31510) * Implemented support for SQLCancel(). (Bug #15601) * Added wrappers for missing ODBC driver manager installer functions. This makes it possible to use the driver with unixODBC 2.2.11, which is the version shipped with Debian and Ubuntu. (Bug #32685) * Disallow 'SET NAMES' in initial statement and in executed statements. * Replaced the internal library which handles creation and loading of DSN information. The new library, which was originally a part of Connector/ODBC 5.0, supports Unicode option values. * Implemented native Windows setup library * Removed monitor (myodbc3m) and dsn-editor (myodbc3c). * Replaced myodbc3i (now myodbc-installer) with Connector/ODBC 5.0 version. * Added support for SQL_NUMERIC_STRUCT (Bug #3028, #24920). * Removed non-threadsafe configuration of the driver. The driver is now always built against the threadsafe version of libmysql. Bugs fixed: * SQL statements were limited to 64k. (Bug #30983) * Diagnostics were not correctly cleared on connection and environment handles. * SQLCopyDesc() did not correctly copy all records. * Freeing a statement resulted in a memory leak due to descriptor records not being freed.. (Bug #31115) * SQL_ODBC_SQL_CONFORMANCE was not handled by SQLGetInfo(). * NULL pointers passed to SQLGetInfo() could result in a crash. * Passwords with ';' were not handled correctly. (Bug #16178) * Binding of columns between calling prepare and execute caused premature statement execution. (Bug #29239) * ADO could not open a recordset that has a DECIMAL field (Bug #31720) * SQLError() incorrectly cleared the error information, making it unavailable from subsequent calls to SQLGetDiagRec(). * ADO was unable to open record set using dynamic cursor. (Bug #32014) * SQLSetConnectAttr() did not clear previous errors, possibly confusing SQLError(). * SQLDescribeColW returned UTF-8 column as SQL_VARCHAR instead of SQL_WVARCHAR. (Bug #32161) * Fixed SQL_ATTR_PARAM_BIND_OFFSET, and fixed row offsets to work with updatable cursors. * SQLSetPos w/SQL_DELETE advances dynamic cursor incorrectly. (Bug #29765) * Recordset Update() fails in 5.1 ODBC connector when using adUseClient cursor. (Bug #26985) * MyODBC 5/ ADO Not possible to update a client side cursor. (Bug #27961) * Intermixing of SQLGetData() using SQL_C_CHAR and SQL_C_WCHAR on the same field value was incorrect. (Bug #28617) * SQLNativeSql() didn't properly handle the output length pointer. (Bug #10128 & Bug #31049) Includes changes from Connector/ODBC 3.51.21 and 3.51.22. Built using MySQL 5.0.52. ---- 5.1.0 (8-Sep-2007) Functionality added or changed: * Added support for SQL_C_WCHAR. * Added support for Unicode functions (SQLConnectW, etc). * Added descriptor support (SQLGetDescField, SQLGetDescRec, etc) ---- 3.51.26 (7-Jul-2008) Bugs fixed: * Access Violation in myodbc3.dll (Bug #30770) * Truncation of "SHOW CREATE TABLE" result (Bug #24131) * Added a new connection option FLAG_NO_BINARY_RESULT. Fixed field type charset 63 problem. (Bug #29402) ---- 3.51.25 (11-Apr-2008) Bugs fixed: * SQL_DESC_FIXED_PREC_SCALE was possibly being reported as true, but it's never supported. (Bug #35581) * ADO failed to retrieve the length of LONGBLOB columns. (Bug #12805) ---- 3.51.24 (14-Mar-2008) Bugs fixed: * ConfigDSN() returned FALSE when the dialog was cancelled by the user. * Static cursor was unable to be used through ADO when dynamic cursors were enabled. (Bug #27351) * Driver would crash when requesting the current catalog before connecting. (Bug #16653) * Catalog data was truncated due to NAME_LEN only allocating a single byte for characters. (Bug #32864) * SSL connections could not be established properly. Added the server certificate verification flag. (Bug #29955) * Added deprecated SQLSetParam function. (Bug #29871) * Recordset-based update fails if blob field is queried. (Bug #19065) * Allows dirty reading with SQL_TXN_READ_COMMITTED isolation through ODBC (Bug #31959) * Don't cache results and SQLExtendedFetch work badly together. (Bug #32420) * SQLFetch or SQLFetchScroll returns negative data length using SQL_C_WCHAR. (Bug #31220) * An SQLSTATE of HY000 was returned when a stored procedure was not found, instead of 42000. This caused problems with ADO's adCmdUnknown option. (Bug #27158) * Identifiers were quoted incorrectly by SQLColumns(). (Bug #32989) * Worked around bug in iODBC installer library that made it impossible to create a system DSN, particularly on Mac OS X, where the installer created the /Library/ODBC/*.ini files with insufficient permissions. (Bug #31495) * Unresolved symbols "min" and "max" in libmyodbc3.so w/gcc 4.2. (Bug #34256) * Fixed some incorrect information returned by SQLGetTypeInfo(). (Bug #30918) * Values bound using the SQL_C_CHAR value type but with numeric parameter type were not correctly escaped. (Bug #34575) * The driver reported that it does not support SQLProcedureColumns(), which causes problems for ADO. (Bug #33298) ---- 3.51.23 (9-Jan-2008) Bugs fixed: * Allowed connections to be enlisted in distributed transactions, even though the driver doesn't support them. (Bug #32727) * Cleaning up environment handles in multithread environments could result in a five (or more) second delay. (Bug #32366) * SQLAllocStmt() and SQLFreeStmt() did not synchronize access to the list of statements associated with a connection. (Bug #32857) * SQLGetInfo() returned the wrong value for SQL_DATABASE_NAME when no database was selected. (Bug #3780) * Changing the DSN name when editing a DSN left behind the DSN under the old name in addition to creating the new entry. (Bug #31165) ---- 3.51.22 (13-Nov-2007) Functionality added or changed: * Removed workaround for bug #10491 in the server, which has now been fixed in MySQL Server 5.0.48 and 5.1.21. * Added FLAG_COLUMN_SIZE_S32 to limit the reported column size to a signed 32-bit integer. This option is automatically enabled for ADO applications, in order to work around a bug in ADO. (Bug #13776) Bugs fixed: * SQLGetInfo() reported that UNION was not supported. (Bug #32253) * The non-portable "English" locale was used for handling of decimal and floating-point values instead of "C". (Bug #32294) * Unsigned integer values greater than the maximum value of a signed integer were handled incorrectly. (Bug #32171) * The wrong result was returned by SQLGetData() when the data was an empty string and a zero-sized buffer was specified. (Bug #30958) ---- 3.51.21 (5-Oct-2007) Bugs fixed: * The wrong value was returned for SQL_DESC_LITERAL_PREFIX and SQL_DESC_LITERAL_SUFFIX for date-time fields. (Bug #31009) * The wrong SQLSTATE was reported when the connection to the server was lost. (Bug #3456) * SQLDescribeCol() incorrectly reported whether auto-increment and some timestamp fields were nullable. (Bug #26108) * SQLGetTypeInfo() reported the wrong column size for the SQL_TYPE_TIME type. (Bug #30939) * Empty selection for database and character set comboboxes in setup were set to " " instead of an empty string. (Bug #30568) * Fixed incorrect input requirement in the setup dialog. (Bug #30499) * Added SQLSetParam function and fixed handling of buffer length in SQLBindParameter. (Bug #29871) * Fixed SQLSetPos that generated incorrect INSERT statement for result columns without bound data buffers. (Bug #31246) ---- 3.51.20 (7-Sep-2007) Bugs fixed: * The FLAG_NO_PROMPT option was not handled by SQLDriverConnect(). (Bug #30840) * Removed checkbox in setup dialog for FLAG_FIELD_LENGTH ("Don't Optimize Column Width"), which was removed from the driver in 3.51.18. * The wrong column size was returned for binary data. (Bug #30547) * The specified length of the username and authentication parameters to SQLConnect() were not being honored. (Bug #30774) * SQLGetData() will now always return SQL_NO_DATA_FOUND on second call when no data left, even if requested size is 0. (Bug#30520) * SQLSetParam() caused memory allocation errors due to driver manager's mapping of deprecated functions (buffer length -1). (Bug#29871) * SQLGetConnectAttr() did not reflect the connection state correctly. (Bug#14639) ---- 3.51.19 (8-Aug-2007) Functionality added or changed: * Because of Bug #10491 in the server, character string results were sometimes incorrectly identified as SQL_VARBINARY. Until this server bug is corrected, the driver will identify all variable-length strings as SQL_VARCHAR. ---- 3.51.18 (6-Aug-2007) Functionality added or changed: * An experimental binary package, without an installer, is available for Microsoft Windows x64 Edition. * Binary packages as disk images with installers are now available for Mac OS X. * Binary packages for Sun Solaris are available as PKG packages. * Added FLAG_MULTI_STATEMENTS to allow issuing queries that contain multiple statements. Also added to the setup GUI. (Bug #7445) * Removed support for the TRACE and TRACEFILE DSN options. The standard ODBC logging should be used. * Added support for SQL_ATTR_ROW_BIND_OFFSET_PTR in normal cursors. (Bug #6741) * Added SSL options to the GUI setup dialog. Bugs fixed: * SQLColumns() incorrectly reported that an auto-incrementing field was not nullable. (Bug #14407) * SQLColumns() incorrectly reported that an auto-updating timestamp field was not nullable. (Bug #14414) * Lengths returned by SQLColumns(), SQLDescribeCol(), and SQLColAttribute() were often incorrect. These lengths should now conform to the ODBC specification. FLAG_FIELD_LENGTH no longer has any effect. The default behavior was incorrect. (Bug #27862) * The SQL_DATA_TYPE column in SQLColumns() results did not report the correct value for date and time types. * The SQL_DATETIME_SUB column in SQLColumns() was not correctly set for date and time types. * The value for SQL_DESC_FIXED_PREC_SCALE was not returned correctly for decimal values in MySQL 5.0 and later. * The wrong value from SQL_DESC_LITERAL_SUFFIX was returned for binary fields. * The wrong value for SQL_DESC_TYPE was returned for date and time types. * The wrong value for DECIMAL_DIGITS in SQLColumns() was reported for FLOAT and DOUBLE fields, as well as the wrong value for the scale parameter to SQLDescribeCol(), and the SQL_DESC_SCALE attribute from SQLColAttribute(). * MySQL BIT(n) fields were always treated as SQL_BIT data. When n > 1, they are now treated as binary data. * If the connection character set was set to a multibyte character set, such as UTF-8, the wrong column size was reported. (Bug #19345) * SQLSpecialColumns() returned all TIMESTAMP fields when queried for SQL_ROWVER, not just an auto-updating TIMESTAMP field. (Bug #9927, still limited by Bug #30081 in the server.) * SQLConnect() and SQLDriverConnect() were rewritten to eliminate duplicate code and ensure all options were supported using both connection methods. SQLDriverConnect() now only requires the setup library to be present when the call requires it. * SQLColumns() failed when a catalog was specified due to an incorrectly-generated query. (Bug #29888) * SQLGetTypeInfo() returned incorrect information for date and time fields, and would not return results when queried for the SQL_DATETIME type. (Bug #28657) * myodbc3i did not honor the 's' and 'u' modifier to the -d option for installing the driver as a system or user driver. (Bug #29964) * Tables from the mysql database (catalog) were listed as SYSTEM TABLES by SQLTables() even when a different catalog was being queried. This also introduced errors due to the fix for Bug #26934. (Bug #28662) ---- 3.51.17 (13-Jul-2007) Functionality added or changed: * The setup library has been split into its own RPM package, to allow installing the driver itself with no GUI dependencies. * Added an option (CHARSET) for specifying the default character set for a connection. This must be used instead of a "SET NAMES" statement. Also available from the GUI setup dialog. (Related to Bug #6667 and Bug #9498.) * Dis-allow NULL ptr for null indicator when calling SQLGetData() if value is null. Now returns SQL_ERROR w/state 22002. * Fixed calling convention ptr and wrong free in myodbc3i, and fixed the null terminating (was only one, not two) when writing DSN to string. Bugs fixed: * myodbc3i did not correctly format driver info, which could cause the installation to fail. (Bug #29709) * Multiple result sets were not correctly flushed when a statement handle was closed. (Bug #16817) * SQLProcedures() did not handle NULL parameters, which could lead to crashes (Bug #28316) * SQLColumns() did not handle many of its parameters correctly, which could lead to incorrect results. The table name argument was not handled as a pattern value, and most arguments were not escaped correctly when they contained non-alphanumeric characters. (Bug #8860) * If there was more than one unique key on a table, the correct fields were not used in handling SQLSetPos(). (Bug #10563) * SQLColAttribute() returned the wrong value for SQL_DESC_BASE_COLUMN_NAME and SQL_DESC_BASE_TABLE_NAME for aliased fields. (Bug #6197) * Calling SQLGetDiagField with RecNumber 0,DiagIdentifier NOT 0 returns SQL_ERROR (Bug #16224) * Correctly return error if SQLBindCol is called with an invalid column * Fixed error handling of OOM and bad connections in catalog functions. This might raise errors in code paths that had not seen them in the past. Gathered the logic for internal result sets into one place. (Bug #26934) * Fixed bad use of memory related to setup/util/GUI. (Bug #27315) * Added a new DSN "OPTION" (FLAG_ZERO_DATE_TO_MIN) to retrieve XXXX-00-00 dates as the minimum allowed ODBC date (XXXX-01-01). Added another option (FLAG_MIN_DATE_TO_ZERO) to mirror this but for bound parameters. FLAG_MIN_DATE_TO_ZERO only changes 0000-01-01 to 0000-00-00. (Bug #13766) * Fixed possible crash if SQLBindCol() was not called before SQLSetPos(). Fixed use of MYSQL structure pertaining to updating large blobs in cursors. (Bug #10562) ---- 3.51.16 (14-Jun-2007) Functionality added or changed: * Added support for using SSL. This is not yet exposed in the setup GUI, but must be enabled through configuration files or the DSN. (Bug #12918) Bugs fixed: * Statements that return multiple result sets (such as calls to stored procedures) would not free all results when closed. (Bug #27544) * SQL_C_TYPE_DATE, SQL_C_TYPE_TIME, and SQL_C_TYPE_TIMESTAMP were formatted without seperators, which could cause them to get interpreted incorrectly in some cases due to server bugs. (Bug #15773) * Calls to SQLNativeSql() could cause stack corruption due to an incorrect pointer cast. (Bug #28758) * SQLSetPos() could update or delete the wrong rows when the original result set did not contain all columns of a multi-part primary key. (Bug #28255) * SQLTables() did not distinguish tables from views. (Bug #23031) * The wrong function was used for freeing the artificial result sets that are created by some catalog functions. (Bug #22797) * Accessing the results of catalog functions could cause a crash when the "Don't cache results" option was set and a forward-only cursor was being used. (Bug #4657) * SQL_WVARCHAR and SQL_WLONGVARCHAR parameters were not properly quoted and escaped. (Bug #16235) * SQLForeignKeys() did not properly escape wildcard characters in its table name parameters when retrieving information. (Bug #27723) * Calls to SQLSetPos() could cause the driver to incorrectly calculate the length of some fields. (Bug #16917) ---- 3.51.15 (04-May-2007) Bugs fixed: * SQLGetFunctions() reported that the driver supported SQLProcedureColumns(), even though it does not. (Bug #27591) * The row status array given to SQLExtendedFetch() was being stored as SQL_ATTR_ROW_STATUS_PTR, which could cause it to be used when it should not. * SQLSetPos() would not update a row unless all columns were bound, but it should only require that at least one column is bound and not set to be ignored. * SQLBulkOperations() and SQLSetPos() used the wrong indicator variable values when batch-inserting rows. (Bug #24306) * SQLGetConnectAttr() would report an incorrect isolation level if it was not explicitly set using SQLSetConnectAttr(). (Bug #27589) * The last argument of SQLColAttribute() and SQLColAttributes() was always being treated as a pointer to an SQLINTEGER even though it is sometimes a pointer to an SQLLEN. * SQLForeignKeys would return keys from the wrong tables due to improper handling of table names. (Bug #4518) * Changed the behavior of myodbc3i utility, so it loads the driver library prior to the setup library when creating a new DSN (Bug #27220) * SQLProcedures returned incomplete and incorrect information. (Bug #23033) * Statements that used "WHERE CURRENT OF" for positioned updates could not be re-executed or used with parameters that were provided using SQLPutData() and SQLParamData(). (Bug #5853) * SQLTransact() did not commit or rollback all transactions in the environment when no database connection was specified. (Bug #21588) * Updated use of FIELD_TYPE_* to MYSQL_TYPE_*, which has been preferred since the 3.23 days. (And FIELD_TYPE_* may finally disappear in 5.2.) ---- 3.51.14 (08-Mar-2007) Functionality added or changed: * Added auto-reconnect option because automatic reconnect is now disabled by default in libmysql * Added auto is null option (Bug #10910) * Added support for SQLMoreResults * Checking SQL_ATTR_CONNECTION_DEAD now always calls mysql_ping() to check for a dead connection. * Remove ODBC escape syntax { and } that begin and terminate statements, allowing {CALL (?)} for procedures that don't require OUT or INOUT parameters * Improved regression tests * Added --with-separate-debug-driver ./configure option Bugs fixed: * SQL_ATTR_CONNECTION_TIMEOUT was inappropriately mapped to MYSQL_OPT_CONNECT_TIMEOUT. (Bug #19823) * Prepared statements using the embedded MySQL server would fail due to an uninitialized variable. (Bug #16535) * Fix positioned update and delete on statements derived from one table with no primary key but including all columns (Bug #22796) * Only initialize the ODBC version when the old-style SQLAllocEnv() is called. If SQLAllocHandle() is used, the ODBC version must be explicitly specified using a call to SQLSetEnvAttr() * On 64-bit systems, some types would be incorrectly returned. (Bug #26024) * Using DataAdapter, Connector/ODBC may continually consume memory when reading the same records within a loop (Windows Server 2003 SP1/SP2 only). (Bug #20459) * Fix truncation of queries with leading spaces when SQL_ATTR_MAX_ROWS is set to a non-zero value (Bug #6609) * Fixed problem with memory allocation in Windows for BLOB and long queries that need re-allocation of net->buff * Using Connector/ODBC, with SQLBindCol and binding the length to the return value from SQL_LEN_DATA_AT_EXEC fails with a memory allocation error. (Bug #20547) * Fixed Windows-specific problems with the GUI for SQL_DRIVER_PROMPT * Fixed issues with numeric and decimal rounding * Fixed memory leak in SQLDriverConnect() * Fixed serious memory leak in SQLSpecialColumns() (up to 8KB/call) * Fixed handle leak in LibMain (Bug #21385, thanks to Leandro Becker) * Fixed field lengths reported by SQLDescribeCol() when using functions such as COMPRESS() in SELECT queries (Bug #20208) * Fixed 64-bit issues related to SQLINTEGER columns defined as int, but later cast to long. * TIME fields were incorrectly converted into date/time values. (Bug #25846, Bug #24867, and Bug #25432) * Fixed #Deleted issue in Microsoft Access by changing the default behavior of MyODBC driver regarding SQL_AUTO_IS_NULL variable. Added new option to the GUI and driver * Fixed memory leak in SQLSpecialColumns() * Corrected return size of SQLGetStmtAttr() when getting desc handles * Fixed SQLGetInfo() of SQL_TXN_CAPABLE to return SQL_TC_DDL_COMMIT * For SQL_C_TIME, handle conversion from the different time-related MySQL types, instead of always assuming it is just a TIME. (DATETIME, TIMESTAMP, and DATE were all handled incorrectly.) * Fix crash when default database is not set * Fix handling of lost connections (Bug #14639) * File DSNs could not be saved. (Bug #12019) * Nullability of auto_increment fields is incorrect. (Bug #10130) * Connector/ODBC may insert the wrong parameter values when using prepared statements under 64-bit Linux. (Bug #22446) * The SQLDriverConnect() ODBC method did not work with recent Connector/ODBC releases. (Bug #12393) * Some properties returned by SQLGetInfo() were set using the wrong data type, resulting in possible memory overruns. (Bug #20995) * Ending a transaction using SQLEndTran() on a environment handle was not supported. (Bug #21588) ---- 3.51.13 (never officially released, changes listed with those for 3.51.14) ---- 3.51.12 (25-Aug-2005) Functionality added or changed: * Improved README and other documentation * Improved source distribution for Microsoft Windows * Renamed package from 'MyODBC' to 'mysql-connector-odbc' * Improved configure script * Added -w option to myodbc3i to disable GUI popups * Redid help screen in myodbc3i * Added support for ODBCINI environment variable in SQLConnect() * Added CLIENT_MULTI_RESULTS client option * Added support for FIELD_TYPE_NEWDECIMAL * Moved to WiX-based installer for Windows * Made implied insert more intelligent (minimized the number of columns used) * Improved time/timestamp handling Bugs fixed: * Fixed problem with positioned update * Fixed SQLForeignKeys() to support more than 18 foreign keys * Fixed handling of quoting in SQLForeignKeys() * Fixed problem with SQLBulkOperations() * Fixed problems with SQL_C_BIT data type * Fixed problems with SQLGetTypeInfo() and date/time/timestamp * Fixed problems when SOCKET was something other than 'MySQL' Binaries were made using MySQL 4.1.13 and unixODBC 2.2.11 (where applicable). ---- 3.51.11-2 (11-Feb-2005) Bugs fixed: * Resources for last thread now freed * Rolled back a fix for Crystal Reports (force v3) because it caused problems for Microsoft Access (wants v2) * Fixed binary RPM spec to no longer create sample DSN. * Fixed myodbcinst to exit with proper exit code. ---- 3.51.11 (28-Jan-2005) Functionality added or changed: * Enhanced SQLGetTypeInfo(), mostly for blob types * Allow alternate keywords for DSN for read, silently converted upon write Bugs fixed: * Corrected SQLDriverConnect() to always prompt when SQL_DRIVER_PROMPT is specified * Fixed a number of problems with connecting using SQLDriverConnect ---- 3.51.10a (15-Dec-2004) Functionality added or changed: * SQLDriverConnect() heavily reworked to support prompting * Port information now saved by GUI Bugs fixed: * Fixes for working with Crystal Reports ---- 3.51.10 (25-Oct-2004) Functionality added or changed: * Qt-based setup library added * MyODBC now built against 4.1 client library Bugs fixed: * (Bug #3456) ---- 3.51.07 (10-Oct-2003) Functionality added or changed: * MyODBC now built against 4.0 client library * ./configure now uses mysql_config to get library and include options * Compile as a thread-safe library by default * Disable SIGPIPE if not compiling threadsafe * Added test suite (run as user 'odbc' and no password) * Cleaned up code to conform to MySQL coding standards * Added bin-tar target to Makefile.am for building binary distribution * Added make_win_src_distribution script for building Windows source archive * Moved Windows-specific files into win32 directory Bugs fixed: * Fixed compiler warnings * Fixed crash when SQLSetPos() is called with SQL_ADD to insert a record with an empty value (pcbValue is SQL_COLUMN_IGNORE) * Fixed SQLFetch() to return and update SQL_ATTR_ROWS_FETCHED_PTR and SQL_ATTR_ROW_STATUS_PTR statement attribute pointers * Fixed SQLFetch() to properly handle SQL_ROWSET_SIZE * Fixed .NET crash when creating the MFC database project (Bug #913) * Added search pattern for all catalog APIs for all input parameters * Added support for SQLProcedures when connected to MySQL 5.0 server * Fixed SQL_ATTR_CURRENT_CATALOG to take a correct length pointer * Portability fixes ---- 3.51.06 (27-Feb-2003) Bugs fixed: * Fixed handling long text field with 0 length data (for ADO) * Fixed syntax error due to error message overflow * Fixed problems when a dynamic cursor is used for cursor-based updated and deletes and there ar eno key fields and the table schema is changed * Fixed to refresh the initialized SQLSTATE values in the driver when the ODBC version is changed and when multiple instances of the driver are loaded * Fixed a problem with bulk inserts are performed using SQLBulkOperations() or SQLSetPos() with SQL_ADD and the wrong pcbValue is given ---- 3.51.05 Release Candidate (27-Feb-2003) Functionality added or changed: * Return the DRIVER name when no DSN is specified * Added support for new autoconf tools * Added scripts for producing binary distributions and source snapshots Bugs fixed: * Fixed core dumps when driver is built with debug options and the thread-safe client library is used * Return a valid list of catalog names in SQLTables() (for OpenOffice.org) * Fixed SQLTablePrivileges() and SQLColumnPrivileges() to return each privilege type in a distinct row * Fixed the time conversion format error from SQL_TIME_STRUCT (thanks to Ocke Janssen from Sun) * Fixed core dump on HP-UX in SQLSpecialColumns() * Fixed SQLGetTypeInfo to return individual rows for auto_increment status for all numeric types (requested by Gerry Sweeney) * Return an error when converting from SQL_C_NUMERIC. The driver is not able to handle SQL_NUMERIC_STRUCT conversion due to the lack of descriptors support. (Requested by Michael Thomas of Microsoft's ODBC team) * Added missing ROWS_FETCH_PTR and PARAM_PROCESSED_PTR status updates to SQLFetch() and SQLExtendedFetch() * Fixed failure to set the default attributes for a new DSN when they were not set through the config APIs on Microsoft Windows * Cleaned up configure scripts to work on all UNIX platforms and gcc 3.x * Minor fixes for non-gcc compilers ---- 3.51.04 (30-Sep-2002) Functionality added or changed: * Support for handling large tables without caching the entire result set. Now one can force the driver to use mysql_use_result() instead mysql_store_result(). Note that this can be used only with forward-only cursors. * Added options to ./configure to control whether to use the thread-safe client library * Cleaned up thread-safe code (debug calls) * Added checks for attempts to set pre-connection attributes (AUTOCOMMIT, TXN_ISOLATION) values after the connection instead of returning error when they are set before the connection * Added two new options, 'Force use of forward-only cursors' and 'Don't cache results', to help large-scale applications * Made improvements to driver logging calls (myodbc.log and myodbc.sql) Bugs fixed: * Fixed SQLTables() to not return an data related to SYSTEM TABLES * Fixed core dumps on HP-UX and AIX * Portability changes for MySQL 4.0.3 and 4.1 * Fixed SQLForeignKeys() when the CREATE TABLE had a COMMENT syntax * Fixed rs.update when server-side cursors are used ---- 3.51.03 (29-May-2002) Functionality added or changed: * Added new DSN configuration dialog window * Added support for SQLForeignKeys() for InnoDB tables * Added support for new Query Log eoption, which allows the driver to log all SQL queries that it processes * Added code for one-time initialization when ODBC version is specified as SQL_OV_ODBC2 so that subsequent calls will not check ODBC version * Added MY_SQL_PRIMARY_KEY(1212) option to SQLColAttribute to make rs.resync work from ADO (info from Dan Perik) Bugs fixed: * Fixed multi-step generated errors when server-side cursor is used (Thanks to vrincon_dtt@hotmail.com and AdoAnywhere) * Fixed time conversion using SQL_C_TIME when hour has three digits (Reported by Michael Thomas) * Fixed ADO/DAO empty string issue (reported by Tom DeGerlia) * Fixed BLOB data reading from ADO/DAO (reported by Justin Goodwin) * Made SQLSetPos() return an error when float fields are used (info from Jim Dickenson) * Fixed errors generated during export of tables with VARCHAR/TEXT from Microsoft Access and Microsoft DTS to MySQL using MyODBC. * Fixed to handle SQL_C_BINARY properly (info from Spilka) * Updated SQLSTATE to return correct truncated data in warning cases (info from akbar ali) * Fixed type casting issues in SQLGetInfo to make OpenOffice.org work (reported by Ocke Janssen) * Fixed SQLFetch() when it is called after SQLFetchScroll() with SQL_FETCH_FIRST (reported by Simone Tregnago) * Mapped SQL_ATTR_CONNECTION_TIMEOUT option to mysql_options() with MYSQL_OPT_CONNECT_TIMEOUT ---- 3.51.02 (05-Mar-2002) Functionality added or changed: * Added support for SQLTablePrivileges() and SQLColumnPrivileges() Bugs fixed: * Fixed SQLDriverConnect() to return correct output string. This is the main fix for 'Reserved error (-7778)' from all Windows ODBC applications. * Fixed SQLError() to clear the error buffers on the first call when the ODBC version is SQL_OV_ODBC3, so subsequent calls will return SQL_NO_DATA. * Fixed SQL_UPDATE and SQL_ADD from SQLSetPos(). * Fixed SQLSetPos() and SQLBulkOperations() to handle when the application passes SQL_NTS as pcbValue * Fixed SQLColumns() to return the correct Nullability * Fixed SQL_ATTR_CONNECTION_DEAD. This should fix the issues from SQLExpress for XBase++ and .NET connection closed issues * Fixed SQLGetTypeInfo() to return correct values for SQL_DATE, SQL_TYPE_DATE, SQL_TIME, SQL_TYPE_TIME, SQL_TIMESTAMP, and SQL_TYPE_TIMESTAMP. * Fixed tab ordering from DSN configuration dialog * Added default values for new DSN creation * Fixed export of tables from Microsoft Access 97 or Microsoft DTS when one of the field types are TEXT or VARCHAR ---- 3.51.01 (30-Jan-2002) Functionality added or changed: * Added support for the following functions: - SQLAllocHandle() - SQLFreeHandle() - SQLSetEnvAttr() - SQLGetEnvAttr() - SQLSetConnectAttr - SQLGetConnectAttr - SQLSetStmtAttr - SQLGetStmtAttr - SQLFetchScroll - SQLBulkOperations with SQL_ADD (bulk inserts) - SQLGetDiagRec - SQLGetDiagField - SQLCloseCursor - SQLEndTran * SQLGetInfo() and SQLGetFunctions() were completely rewritten * Completely changed error handling, and driver returns SQLSTATE values based on the ODBC version * Enhanced cursor handling * Changed SQLGetTypeInfo() to return column headers as per ODBC 3.50 specification * Changed all catalog functions to return column headers as per ODBC 3.50 specification * Added support for dynamic cursor types * Added a feature called 'Test Data Source' in the DSN setup catalog so that DSN settings can be tested while configuring * Added 'Help' button to the DSN setup dialog * Added SOCKET option to the SQLConnect() interface * Added support for the deprecated SQLParamOptions() function so one can specify batch parameter processing with ODBC 2.x applications * Added server name and version to the statement error prefix * Added FILEDSN support Bugs fixed: * Fixed SQL_FETCH_RELATIVE from SQLExtendedFetch() or SQLFetchScroll() to handle the following cases: - BeforeStart AND FetchOffset <= 0 - CurrRowsetStart = 1 AND FetchOffset < 0 - CurrRowsetStart > 1 AND CurrRowsetStart + FetchOffset < 1 AND |FetchOffset| > RowsetSize - CurrRowsetStart > 1 AND CurrRowsetStart + FetchOffset < 1 AND |FetchOffset| <= RowsetSize * Fixed SQL_FETCH_RELATIVE from SQLExtendedFetch() or SQLFetchScroll() to handle the case when: - FetchOffset < 0 AND |FetchOffset| > LastResultRow AND |FetchOffset| > RowsetSize * Fixed memory leaks when linked against iODBC or unixODBC vim: ft=text