MySQL Lists are EOL. Please join:

List:MySQL and Java« Previous MessageNext Message »
From:Mark Matthews Date:December 7 2010 11:21pm
Subject:MySQL Connector/J 5.1.14 Has Been Released!
View as plain text  

MySQL Connector/J 5.1.14, 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.14 is suitable for use with any MySQL version including MySQL-5.0, MySQL-5.1
or MySQL-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 (note that not all mirror sites or
repositories may be up to date at this point of time - if you can't find this version on
some mirror, please try again later or choose another download site.)

As always, we recommend that you check the change log

and "Upgrading" sections

in the manual before upgrading as well as 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.:

MySQL Connector/J 5.1.14 includes the following changes targeted at scalability and

    - Fixed Bug#58706 - Failover connections didn't honor "failOverReadOnly=false", and in
      situations would not fall back.

   - Added ability to load-balance while auto-commit is enabled.  This
     introduces two new properties:

       loadBalanceAutoCommitStatementThreshold defines the number of matching
       statements which will trigger the driver to (potentially) swap physical
       server connections,

       loadBalanceAutoCommitStatementRegex defines the regular expression
       against which statements must match.  The default values (0 and blank,
       respectively) retain the previously-established behavior that
       connections with auto-commit enabled are never balanced.  Feature
       request documented in Bug#55723.

   - Added support for hosts specified in the URL of the form:
     address=(key=value), supported keys are:

       (protocol=tcp or pipe (for named pipes on Windows)
       (path=[] for named pipes)
       (host=[]) for TCP connections
       (port=[]) for TCP connections

       An example would be:


      Any other parameters are treated as host-specific properties that follow
      the conventions of the JDBC URL properties. This now allows per-host
      overrides of any configuration property for multi-host connections
      (failover, loadbalance, replication). We do recommend that the overrides
      are limited to user, password, network timeouts and statement and
      metadata cache sizes. Unexpected behavior may be observed with other
      per-host overrides.

    - Fix for Bug#56099 - Added support for JDBC4-specific functionality when
      using load-balanced connections.

    - Fix for Bug#56200 - Added diagnostic information to SQLException message
      thrown when a closed load-balanced connection is reused.  This
      information will identify the conditions which caused the connection to
      be closed.

    - Fix for Bug#56429 - When using Connector/J configured for failover
      (jdbc:mysql://host1,host2,... URLs), the non-primary servers re-balance
      and spawned new idle connections when the transactions on the master were
      committed or rolled-back, eventually exceeding max_connections. It was
      also discovered that session state (autocommit, isolation level, catalog)
      wasn't  being copied from the primary connection to secondary
      connections correctly because of the same changes that caused this bug,
      and this was fixed as well.

    - Fix for Bug#56706 - Ensure read-only state is synchronized when new
      load-balanced connections are selected.

    - Fixed Bug#56979 - Improper connection closing logic leads to TIME_WAIT
      sockets on server

As well as the following general bug fixes and improvements:

   - Fix for Bug#58728, NPE in
     if rs is null. Regression test case added to Statement regression tests.

   - Fix for Bug#58751, DatabaseMetadata.getIndexInfo() CARDINALITY now clamped
     to Integer.MAX_VALUE.

   - Fix for BUG#58590

   - Fix for Bug#58232 - CallableStatement fails to fetch OUT parameter against 5.5 server

   - Fix for Bug#57850 - Refresh SELECT statement doesn't use correct data type.
     Added Field.valueNeedsQuoting (private final boolean) and protected boolean
         UpdatableResultSet refresher and updater call upon this value now.

   - Fix for Bug#57697 - Metadata getTables() was not checking for table_name already been
   - Fix for Bug#57694 - 3byte UTF8 can not be used with 5.5.3+ server.
   - Fix for Bug#54756 - Cannot retrieve data from ResultSet by column name from a Sphinx
     We were relying only on "server version string" passed. Now, determining
         server version is done via protocol flags too, where applicable.

   - Fix for Bug#57022 - cannot execute a store procedure with output parameters,
     database parameter was ignored in db.sp notation. The fix is to "sanitize"
         db.sp call just like in patch for noAccessToProcedureBodies. BaseTestCase
         extended with createDatabase and dropDatabase. Regression test added.

   - Fix for Bug#57262 - "useOldUTF8Behavior" behavior was broken since 5.1.3,
     now explicitly sets connection character set to latin1 ("SET NAMES latin1")
     during connection post-handshake process.

   - Patch for problem where "noAccessToProcedureBodies=true" was causing
     "underprivileged" user not to have access to procedures created by him.

   - Patch for Bug#56305, unhandled NPE in when calling
     wrong-cased function without access to mysql.proc. Although simple by
     itself, some more enhancements were needed for everything to function
     properly.  So, along with catching potential NPE due to server bug, a
     guard against calling JDBC functions with db_name.proc_name notation was
     also added. Necessary changes added to too.

   - Minor fix in getProcedureColumns() DisplaySize for Bug#51712. Fix for
     Bug#41269 is not complete without this.  getColumnDisplaySize on a
     ResultSet already consisting of metadata is now functional thanks to

   - Minor fix for Bug#55217, return 4 as a result of 
     DataBaseMetadata.getJDBCMajorVersion() as per manual.

    - Fixed Bug#56955 - Connection properties "trustCertificateKeyStoreType"
      and "clientCertificateKeyStoreType" have invalid defaults, therefore
      connections that specify "useSSL" will sometimes fail with exceptions
      from JSSE unless "JKS" has been specified for both of these properties.
      The default value for these properties is now "JKS", and thus it no
      longer has to be specified.

    - Fixed Bug#57380 - DatabaseMetaData.supportsMultipleResultSets() now returns
      true when connected to a 4.1 version or later server.

    - Removed logging integrations with log4j and apache-commons-logging due to license
      incompatibility. Replacing with SLF4J integration in next release.


Mark Matthews
Principal Software Developer -  MySQL Enterprise Tools

MySQL Connector/J 5.1.14 Has Been Released!Mark Matthews8 Dec