MySQL Connector/ODBC Release Notes  /  Changes in MySQL Connector/ODBC Version 5.1  /  Changes in MySQL Connector/ODBC 5.1.12 (2013-02-05)

Changes in MySQL Connector/ODBC 5.1.12 (2013-02-05)

Functionality Added or Changed

  • The following reserved words were added to the list returned by the SQLGetInfo() ODBC function, for compatibility with the latest MySQL 5.6 syntax:

    • GET

    • IO_AFTER_GTIDS

    • IO_BEFORE_GTIDS

    • MASTER_BIND

    • ONE_SHOT

    • PARTITION

    • SQL_AFTER_GTIDS

    • SQL_BEFORE_GTIDS

    (WL #6704)

  • The new connection option can_handle_exp_pwd indicates that your application includes error-handling logic to deal with the error code for an expired password. See Connector/ODBC Connection Parameters for the details of this connection option and the associated SQL state and native error code. See ALTER USER Statement for details about password expiration for MySQL server accounts.

    This new option is added to the Windows GUI, through a check box Can Handle Expired Password on the Connection tab of the Details dialog. (WL #6786)

Bugs Fixed

  • The string returned by the SQLNativeSql function was not null-terminated as it should be. (Bug #14559721)

  • Specifying certain values for the CHARSET option in the connection string could cause a serious error when a query was executed. (Bug #14363601)

  • If multiple statements were called using the same statement handle, SQLColumns and possibly other catalog functions could return wrong results. Some field length values were not reset in the descriptor records. The issue occurred even if the statement handle was closed with SQL_CLOSE between the statements. (Bug #14338051)

  • If an application received a SIGPIPE signal, then another SIGPIPE signal immediately after (before the first signal handler was finished), the application could terminate rather than handling the second signal. (Bug #14303803)

  • Several catalog or info functions could raise an incorrect error String data, right truncated when only partial information was requested. For example, if the application called SQLDescribeCol(hstmt, ColNumber, ColName, BufferLen, ....), but did not want the column name (ColName == NULL and BufferLen == 0). SQL_SUCCESS_WITH_INFO could also be returned rather than the correct value SQL_SUCCESS. This issue affected many ADO, DAO, and other applications.

    Affected functions include:

    Spurious error and incorrect return code:
    
    SQLDescribeCol
    SQLDescribeColA
    SQLDescribeColW
    SQLGetInfoA
    SQLGetInfoW
    
    Incorrect return code:
    
    SQLColAttribute
    SQLColAttributeW
    SQLGetConnectAttr
    SQLGetConnectAttrW
    SQLGetCursorName
    SQLGetCursorNameW
    SQLGetInfo
    SQLGetInfoW
    SQLNativeSql
    SQLNativeSqlW

    (Bug #14285620)

  • Calling the SQLTables function with a very long database or table name could cause a serious error. This fix allows the SQLTables function to accept database and table names with the maximum length of 64 characters. (Bug #14085211)

  • The symbols SQLInstallDriverEx, SQLInstallDriverExW, and SQLRemoveDriverW were exported, causing incompatibility with some commercial ODBC packages such as DataDirect ODBC, and making Connector/ODBC dependent on the unixODBC library libodbcinst.so.1. This issue was first observed in Connector/ODBC 5.1.8. (Bug #11766724, Bug #59900)

  • On a 64-bit system, calls to the SQLBindCol function using indicator variables (through the last parameter) could return incorrect results. (Bug #11766437, Bug #59541)

  • When a column with type TINYTEXT, TEXT, MEDIUMTEXT, or LONGTEXT was retrieved from a table with a binary collation, the text fields were converted to a hexadecimal representation, even though these values were not really BLOBs. The unnecessary conversion could expand the data, causing overflow problems when storing the result values. (Bug #11746572, Bug #27282)