MySQL Connector/C Release Notes  /  Changes in MySQL Connector/C 6.1  /  Changes in MySQL Connector/C 6.1.5 (2014-06-17, General Availability)

Changes in MySQL Connector/C 6.1.5 (2014-06-17, General Availability)

Security Notes

  • Connector/C 6.1.5 upgrades the linked OpenSSL library from version 1.0.1g to version 1.0.1h. Versions of OpenSSL prior to 1.0.1g are reported to be vulnerable to CVE-2014-0224.

Functionality Added or Changed

  • Because there are new API functions (mysql_session_track_get_first(), mysql_session_track_get_next()), the client library ABI version is now 18.3. Shared library names now include 18.3 where appropriate.

  • The server can now report session-state changes to client programs. Reportable session state consists of these values:

    • The default schema (database)

    • Session-specific values for system variables

    • User-defined variables

    • Temporary tables

    • Prepared statements

    The MySQL client/server protocol now includes tracker information so that session state changes can be detected. One use for the tracker mechanism is that it provides a means for MySQL Connectors, Fabric, and client applications to determine whether any session context is available to ensure session migration from one server to another. (To change connections in a load-balanced environment, it is necessary to detect whether there is session state to take into consideration when deciding whether a switch can be made.)

    The user interface to control the tracker and retrieve state-change information from it has the following components, which enable implementation of state-change tracking on the client side:

    • Clients can request notification when there is a change to any of the session state-related values just listed, in the form of a flag that is set in the OK packet received from the server after the change occurs. To control notification, enable or disable the session_track_state_change system variable. This variable is disabled by default.

    • Clients can request notification of changed values for certain specific types of session state information:

    • To enable applications to extract the state-change information returned by the server, the MySQL C API includes a pair of functions:

    • The mysqltest program has enable_session_track_info and disable_session_track_info commands to enable and disable tracking of session state-change information.

    For more information, see Server System Variables and mysql_session_track_get_first(). For information about the structure of the OK packet used to convey state-change information, see OK_Packet.

Bugs Fixed

  • Calling mysql_get_server_version() with an invalid connection handler argument caused the client to exit. Now it returns 0 and reports a CR_COMMANDS_OUT_OF_SYNC error. (Bug #18053212)

  • On Windows, calling mysql_thread_init() call without mysql_init() caused the client to exit. Now it returns a nonzero result because it is an error to call mysql_thread_init() before the client library is initialized with mysql_library_init(). (Bug #17514920)