Documentation Home
MySQL Connector/J Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 487.7Kb
PDF (A4) - 488.0Kb
EPUB - 128.6Kb


MySQL Connector/J Release Notes  /  Changes in MySQL Connector/J 5.1  /  Changes in MySQL Connector/J 5.1.19 (April 2012)

Changes in MySQL Connector/J 5.1.19 (April 2012)

Fixes bugs found since release 5.1.18.

Functionality Added or Changed

  • Added support for pluggable authentication. via the com.mysql.jdbc.AuthenticationPlugin interface (which extends the standard extension interface). Examples are in com/mysql/jdbc/authentication and in testsuite.regression.ConnectionRegressionTest. This feature introduces three new connection properties:

    • authenticationPlugins defines a comma-delimited list of classes that implement com.mysql.jdbc.AuthenticationPlugin and are used for authentication unless disabled by the disabledAuthenticationPlugins property.

    • disabledAuthenticationPlugins defines a comma-delimited list of classes implementing com.mysql.jdbc.AuthenticationPlugin or mechanisms, i.e. mysql_native_password. The authentication plugins or mechanisms cannot be used for authentication. Authentication will fail if it requires one of these classes. It is an error to disable the default authentication plugin, either the one named by defaultAuthenticationPlugin property or the hardcoded one if defaultAuthenticationPlugin property is not set.

    • defaultAuthenticationPlugin defines the name of a class implementing com.mysql.jdbc.AuthenticationPlugin, which is used as the default authentication plugin. It is an error to use a class that is not listed in authenticationPlugins and is not one of the built-in plugins. It is an error to set as default a plugin that is disabled by being listed in the disabledAuthenticationPlugins property. It is an error to set this value to null or the empty string; there must be at least one valid default authentication plugin specified for the connection, meeting all the constraints listed above.

Bugs Fixed

  • Reduced the memory overhead for server-side prepared statements. Each prepared statement allocated a 4K buffer for converting streams. Now this allocation is skipped when no set*Stream() methods have been used.

  • The Connection.changeUser() method did not check for closed connections, leading to NullPointerException errors when this method was called on a closed connection.