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 released | Tonci Grgin | 4 Apr |