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
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
We welcome and appreciate your feedback, bug reports, bug fixes, patches
MySQL Connector/J 5.1.19 includes the following general bug fixes and
- Fix for Bug#64621, setMaxRows was not correctly processed during CS
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
and ConnectionImpl.mysqlCharsetToCustomMblen have been added for
- Added support for pluggable authentication via the
interface (which extends standard "extension" interface). Examples
com/mysql/jdbc/authentication and in
This introduces three new properties:
authenticationPlugins defines comma-delimited list of classes
com.mysql.jdbc.AuthenticationPlugin and which will be used for
unless disabled by "disabledAuthenticationPlugins" property.
disabledAuthenticationPlugins defines comma-delimited list of
com.mysql.jdbc.AuthenticationPlugin or mechanisms, i.e.
The authentication plugins or mechanisms listed will not be used
which will fail if it requires one of them. It is an error to
disable the default
authentication plugin (either the one named by
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
plugin. It is an error to use a class which is not listed in
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
- 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
- Prepared statements would needlessly allocate a 4K buffer for
streams when no set*Stream() methods had been used.
|• MySQL Connector/J 5.1.19 has been released||Tonci Grgin||4 Apr|