MySQL Connector/ODBC Changelog

What's new in MySQL Connector/ODBC 5.3.4

Jul 19, 2014
  • Security Note:
  • Security Fix: The linked OpenSSL library for Connector/ODBC Commercial 5.3.4 has been updated from version 1.0.1g to version 1.0.1h. Versions of OpenSSL prior to and including 1.0.1g are reported to be vulnerable to CVE-2014-0224.
  • This change does not affect the Oracle-produced MySQL Community build of Connector/ODBC 5.3.4, which uses the yaSSL library instead. (CVE-2014-0224)
  • Functionality Added or Changed:
  • Introduced a new DSN configuration option, rsakey, for specifying the full-path name of the PEM file that contains the RSA public key for using the SHA256 authentication plugin of MySQL. See Connector/ODBC DSN Configuration Options for details.
  • Added NULL handle checks in functions exported by Connector/ODBC.

New in MySQL Connector/ODBC 5.3.2 (Apr 8, 2014)

  • Functionality Added or Changed:
  • Made the Connector/ODBC GUI on Linux comply with the GNOME Coding Guidelines for Supporting Accessibility.
  • Added support for the connection flag DFLT_BIGINT_BIND_STR.
  • Bugs Fixed:
  • Implemented a workaround for a control issue with GtkComboBox and GtkComboBoxEntry, in which the dialog control intercepted the keyboard signals, so that focus could be set to other controls using the keyboard.

New in MySQL Connector/ODBC 5.3.1 Beta (Dec 4, 2013)

  • Functionality Added or Changed:
  • Implemented the SQL_ATTR_RESET_CONNECTION connection attribute, newly introduced in ODBC 3.8. See the ODBC specifications for details. Currently, the connection attribute is supported by the Unicode driver, but not the ANSI driver.
  • Bugs Fixed:
  • Calling SQLBulkOperations() without setting SQLSetStmtAttr resulted in a segmentation fault. (Bug #17714290)
  • A memory leak occurred when using Connector/ODBC to update the contents of a row. (Bug #17653461, Bug #70662)
  • A bad memory access occurred in the ssps_get_out_params function in my_prepared_stmt.c, when a call was made to a stored procedure with any IN parameters coming after the last OUT or INOUT parameter. (Bug #17640929, Bug #70642)
  • A memory leak occurred in SQLConnect() when it was invoked after a call of SQLSetConnectAttr() that used the parameter SQL_ATTR_CURRENT_CATALOG. (Bug #17586844)
  • A memory leak occurred in SQLSetStmtAttr(), because statement deallocation was missing. (Bug #17441507)
  • A segmentation fault occurred when SQLColumns()'s table argument is longer than 256 characters, or its column argument is longer than 129 characters. This fix makes Connector/ODBC return a proper error for the situation. (Bug #17358838)
  • A memory leak occurred in SQLProcedureColumns() when no function or procedure column satisfying the selection condition existed. (Bug #17298721)
  • An assertion failure occurred in SQLDescribeCol() if the column number used is larger than the number of columns in the result set. (Bug #17311065)
  • The function SQLPutData() gave an error when handling a Unicode string that had SQL_NTS given as its string length. (Bug #14810497, Bug #66943)
  • From Connector/ODBC version 5.2.2 onwards, the function SQLForeignKeys() did not work if the connection option NO_INFORMATION_SCHEMA was set. (Bug #13712420, Bug #64307)

New in MySQL Connector/ODBC 5.3.0 Alpha (Oct 25, 2013)

  • Functionality Added or Changed:
  • Added a lock in the ENV structure against simultaneous accesses to an environment handle's connection list, in order to avoid memory access issues that might occur when multiple threads share the same environment handle. (Bug #17240611, Bug #69864)
  • Support for File Data Source Names. (Bug #11746219, Bug #24581)
  • Bookmark support added in MyODBC.
  • Added new variable in CMake configuration files ODBCCP32_LIB for odbccpp32.lib path, and added MYSQLCLIENT_LIB_NAME for linking MySQL client library statically or dynamically by specifying the MySQL client library (libmysql.*, mysqlclient.*, libmysqlclient_r.*, libmysqlclient.*) to be used.
  • Added a new test module for crash bugs (my_crash.c).
  • Added GUI DSN setup dialog for some Unix-based systems.
  • Support of ODBC 3.8 standard: driver self-identification and input/output stream parameters
  • Bugs Fixed:
  • Memory leaks occurred in SQLPrepare() and SQLExecDirect() when SQLBindParamater was used on the SQL statements. This fix frees previous results of mysql_stmt_result_metadata() in order to prevent the memory leaks. (Bug #17400483, Bug #70113)
  • A memory leak occurred in fetch_varlength_columns() while calling SQLExecDirect(), because freeing result_bind buffers requires field_count, which was set to “0” when mysql_stmt_free_result() was called. This fix frees result_bind buffers before calling mysql_stmt_free_result(). (Bug #17441296)
  • The exit condition for a for loop in stringutil.c is changed to avoid a possible out-of-bounds error and the associated reports by Valgrind. (Bug #17397596, Bug #64105)
  • Microsoft Visual Studio 2010 crashed when reading rows from any table in Server Explorer with connections to DSNs made by Connector/ODBC. (Bug #17304031, Bug #69950)
  • When SQL TIME data was converted to the C data type of TIMESTAMP, if the value of the hour field is greater than 24, the date fields did not get set to the current date and the fraction field for seconds did not get set to zero as required by the ODBC specifications. (Bug #17016839, Bug #69545)
  • When trying to create a linked server in Micrsoft SQL Server 2008 to a MySQL server set up with Connector/ODBC as a DSN, the Microsoft SQL Server (if it is a 64-bit version) crashed or the linked server suffered a catastrophic failure (if a 32-bit version of the Microsoft SQL Server is used). (Bug #16604346, Bug #63386)
  • When reading TIME column data using the SQLGetData method into the SQL_C_TYPE_TIME datatype, errors occured when the time string contained more than 6-digits (e.g., 120:53:44). (Bug #16176981, Bug #67793)
  • When called after SQLPrepare, the funciton SQLMoreResults returned SQL_ERROR, instead of SQL_NO_DATA as required by the ODBC specification. (Bug #16101282, Bug #67920)
  • Connector/ODBC used the “;” character instead of a null byte (“\0”) to terminate keyword-value pairs in attribute strings. (Bug #15940689, Bug #66548)
  • When using the Unicode-enabled version of the Connector/ODBC driver to connect to any MySQL server of version 5.5.2 or older, all statements failed with the error message “Server does not support 4-byte encoded UTF8 characters.” (Bug #14838690, Bug #67428)
  • The configured values of a DSN's parameters overrode the values provided through the connection string, instead of the other way round. (Bug #11760574, Bug #52996)

New in MySQL Connector/ODBC 5.2.6 (Oct 10, 2013)

  • Functionality Added or Changed:
  • Added a lock in the ENV structure against simultaneous accesses to an environment handle's connection list, in order to avoid memory access issues that might occur when multiple threads share the same environment handle.
  • Bugs Fixed:
  • Memory leaks occurred in SQLPrepare() and SQLExecDirect() when SQLBindParamater was used on the SQL statements. This fix frees previous results of mysql_stmt_result_metadata() in order to prevent the memory leaks.
  • The exit condition for a for loop in stringutil.c is changed to avoid a possible out-of-bounds error and the associated reports by Valgrind.
  • Microsoft Visual Studio 2010 crashed when reading rows from any table in Server Explorer with connections to DSNs made by Connector/ODBC.
  • When SQL TIME data was converted to the C data type of TIMESTAMP, if the value of the hour field is greater than 24, the date fields did not get set to the current date and the fraction field for seconds did not get set to zero as required by the ODBC specifications.
  • When trying to create a linked server in Micrsoft SQL Server 2008 to a MySQL server set up with Connector/ODBC as a DSN, the Microsoft SQL Server (if it is a 64-bit version) crashed or the linked server suffered a catastrophic failure (if a 32-bit version of the Microsoft SQL Server is used).
  • When reading TIME column data using the SQLGetData method into the SQL_C_TYPE_TIME datatype, errors occured when the time string contained more than 6-digits (e.g., 120:53:44).
  • When called after SQLPrepare, the funciton SQLMoreResults returned SQL_ERROR, instead of SQL_NO_DATA as required by the ODBC specification.
  • Connector/ODBC used the “;” character instead of a null byte (“\0”) to terminate keyword-value pairs in attribute strings.
  • When using the Unicode-enabled version of the Connector/ODBC driver to connect to any MySQL server of version 5.5.2 or older, all statements failed with the error message “Server does not support 4-byte encoded UTF8 characters.”
  • The configured values of a DSN's parameters overrode the values provided through the connection string, instead of the other way round.

New in MySQL Connector/ODBC 5.2.5 (May 3, 2013)

  • Bugs Fixed:
  • The query_print() function could cause a serious error on 32-bit systems due to a 32-bit / 64-bit mismatch in its return value.
  • Microsoft Access could experience a severe error when updating a BIT column in view representing a MySQL table, for example through the datasheet interface. (Bug #16287859, Bug #68243)

New in MySQL Connector/ODBC 5.2.2 (Oct 1, 2012)

  • Functionality Added or Changed:
  • The implementation of the SQLBindParameter() function was enhanced to support “out” and “inout” parameters when calling stored procedures. Designate the bind parameters intended to hold output values from stored procedures using the type specifiers SQL_PARAM_OUTPUT or SQL_PARAM_INPUT_OUTPUT.
  • Server-side prepared statements are now enabled by default. To revert to the former behavior, using client-side emulation for prepared statemnts, specify the NO_SSPS option when configuring the DSN.
  • The download page now offers choices of a Unicode driver or an ANSI driver. Now users can get an ANSI driver with the combination of high performance and the latest standard-compliant behavior, rather than staying on the older 3.51 codebase.

New in MySQL Connector/ODBC 5.1.5 (Jun 13, 2009)

  • 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)

New in MySQL Connector/ODBC 3.51.24 (Mar 21, 2008)

  • 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.
  • Driver would crash when requesting the current catalog before connecting.
  • Catalog data was truncated due to NAME_LEN only allocating a single byte for characters.
  • SSL connections could not be established properly. Added the server certificate verification flag.
  • Added deprecated SQLSetParam function.
  • Recordset-based update fails if blob field is queried.
  • Allows dirty reading with SQL_TXN_READ_COMMITTED isolation through ODBC
  • Don't cache results and SQLExtendedFetch work badly together.
  • SQLFetch or SQLFetchScroll returns negative data length using SQL_C_WCHAR.
  • An SQLSTATE of HY000 was returned when a stored procedure was not found, instead of 42000. This caused problems with ADO's adCmdUnknown option.
  • Identifiers were quoted incorrectly by SQLColumns().
  • 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.
  • Unresolved symbols "min" and "max" in libmyodbc3.so with gcc 4.2.
  • Fixed some incorrect information returned by SQLGetTypeInfo().
  • Values bound using the SQL_C_CHAR value type but with numeric parameter type were not correctly escaped.
  • The driver reported that it does not support SQLProcedureColumns(), which causes problems for ADO.