List:MySQL and Java« Previous MessageNext Message »
From:Tonci Grgin Date:April 4 2012 7:22am
Subject:MySQL Connector/J 5.1.19 has been released
View as plain text  
Hello all,

MySQL Connector/J 5.1.19, a maintenance release of the production 5.1 
branch has been released.
Connector/J is the Type-IV pure-Java JDBC driver for MySQL.

Version 5.1.19 is suitable for use with many MySQL server versions, 
including 4.1, 5.0, 5.1, 5.4 and 5.5.

It is now available in source and binary form from the Connector/J 
download pages at
http://dev.mysql.com/downloads/connector/j/5.1.html
and mirror sites as well as Maven-2 repositories.

As always, we recommend that you check the "CHANGES" file in the 
download archive to be aware of changes in behavior that might affect 
your application.

We welcome and appreciate your feedback, bug reports, bug fixes, patches 
etc:
http://forge.mysql.com/wiki/Contributing

MySQL Connector/J 5.1.19 includes the following general bug fixes and 
improvements:

   - Fix for Bug#64621, setMaxRows was not correctly processed during CS 
PS metadata
     collection causing entire resultset to be fetched and possibly 
leading to OOM.

   - Fix for Bug#63456, MetaData precision is different when using UTF8 
or Latin1 tables.
     The problem was in finding maxBytesPerChar through versioned 
mapping from Java charset to MySQL charset.
     That map returns "utf8mb4" instead "utf8" for server versions 
starting with 5.5.2.
     CharsetMapping, ConnectionImpl and Field have been reorganized to 
use static maps INDEX_TO_MYSQL_CHARSET,
     STATIC_CHARSET_TO_NUM_BYTES_MAP instead. Also dynamic maps 
ConnectionImpl.indexToCustomMysqlCharset
     and ConnectionImpl.mysqlCharsetToCustomMblen have been added for 
custom charsets.

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

        authenticationPlugins defines comma-delimited list of classes 
that implement
        com.mysql.jdbc.AuthenticationPlugin and which will be used for 
authentication
        unless disabled by "disabledAuthenticationPlugins" property.

        disabledAuthenticationPlugins defines comma-delimited list of 
classes implementing
        com.mysql.jdbc.AuthenticationPlugin or mechanisms, i.e. 
"mysql_native_password".
        The authentication plugins or mechanisms listed will not be used 
for authentication
        which will fail if it requires one of them. It is an error to 
disable the default
        authentication plugin (either the one named by 
"defaultAuthenticationPlugin" property
        or the hard-coded one if "defaultAuthenticationPlugin" propery 
is not set).

        defaultAuthenticationPlugin defines name of a class implementing
        com.mysql.jdbc.AuthenticationPlugin which will be used as the 
default authentication
        plugin. It is an error to use a class which is not listed in 
"authenticationPlugins"
        nor it is one of the built-in plugins. It is an error to set as 
default a plugin
        which was disabled with "disabledAuthenticationPlugins" 
property. It is an error
        to set this value to null or the empty string (i.e. there must 
be at least a valid
        default authentication plugin specified for the connection, 
meeting all constraints
        listed above).

   - Fix for Bug#63526. The problem happens in 
com.mysql.jdbc.EscapeProcessor#escapeSQL. The function recognizes the 
string in the create table statement as an escape sequence (line 
136+138). The "if" construct beginning in line 182 tries to match a 
white-space collapsed version of the string to prefixes for valid 
jdbc-escapes (till line 300). Since no matching escape sequence is found 
and no "else" clause is defined, neither the token, nor replacement are 
added to the resulting escaped SQL string.

   - Fix for Bug#61203, noAccessToProcedureBodies does not work anymore.

   - Fix for Bug#63811, pointless Socket.bind() when using ephemeral 
ports and interfaces, which limits scalability on some platforms.

   - Connection.changeUser() would not check for closed connections, 
leading to NPEs when this method was called on a closed connection.

   - Fix for Bug#63284, memory leak with Failover proxied 
Statement/PreparedStatement with DBCP due to improper implementation of 
equals().

   - Prepared statements would needlessly allocate a 4K buffer for 
converting
     streams when no set*Stream() methods had been used.


Enjoy!

Tonci
Thread
MySQL Connector/J 5.1.19 has been releasedTonci Grgin4 Apr