[prev in list] [next in list] [prev in thread] [next in thread]
List: mysql-announce
Subject: MySQL Connector/J 5.1.14 Has Been Released!
From: Mark Matthews <mark.matthews () oracle ! com>
Date: 2010-12-07 23:21:19
Message-ID: 1E82854E-978B-4658-A5FA-27B6CE75A182 () oracle ! com
[Download RAW message or body]
Hi,
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
http://dev.mysql.com/downloads/connector/j/5.1.html
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
http://dev.mysql.com/doc/refman/5.1/en/cj-news.html
and "Upgrading" sections
http://dev.mysql.com/doc/refman/5.1/en/cj-upgrading.html
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.:
http://forge.mysql.com/wiki/Contributing
MySQL Connector/J 5.1.14 includes the following changes targeted at scalability and \
performance:
- Fixed Bug#58706 - Failover connections didn't honor "failOverReadOnly=false", \
and in some 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:
jdbc:mysql://address=(protocol=tcp)(host=localhost)(port=3306)(user=test)/db
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 \
com.mysql.jdbc.jdbc2.optional.StatementWrappe.getResultSet()
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 \
getvalueNeedsQuoting().
UpdatableResultSet refresher and updater call upon this value now.
- Fix for Bug#57697 - Metadata getTables() was not checking for table_name already \
been quoted.
- 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 daemon.
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 DatabaseMetaData.java 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 StringUtils.java 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
Bogdan.
- 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.
Enjoy!
-Mark
--
Mark Matthews
Principal Software Developer - MySQL Enterprise Tools
Oracle
http://www.mysql.com/products/enterprise/monitor.html
--
MySQL Announce Mailing List
For list archives: http://lists.mysql.com/announce
To unsubscribe: http://lists.mysql.com/announce?unsub=mysql-announce@progressive-comp.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic