2010.01.21

MySQL

MySQL Connector/J 5.1.11がリリースされました

オリジナル版:http://lists.mysql.com/java/9284

バージョン5.1版でのメンテナンスリリースであるMySQL Connector/J 5.1.11が リリースされました。Connector/Jは、MySQL用のタイプ4のpure-Java JDBCドライバです。

バージョン5.1.11は、MySQL-5.0、MySQL-5.1、MySQL-5.5を含んだどのMySQLのバージョンでも快適に使用できます。

現在、Connector/Jダウンロードページ、およびミラーサイトからソースとバイナリ形式が入手可能です。

http://dev.mysql.com/downloads/connector/j/5.1.html

(すべてのミラーサイトが現在において最新であるとは限らないかもしれないことに注意してください。あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロードサイトを選択してください。)

いつものことですが、アプリケーションに影響を及ぼす動作変更を把握するには、アップグレードの前に、マニュアルの変更ログ

http://dev.mysql.com/doc/refman/5.1/en/cj-news.html)

と"Upgrading"の節

http://dev.mysql.com/doc/refman/5.1/en/cj-upgrading.html

をチェックするようお勧めします。

バグレポート、バグ修正、パッチ等の情報をお待ちしておりますので、以下のページをご利用ください。

http://forge.mysql.com/wiki/Contributing

 

以下は、Connector/J 5.11.の変更情報です。

    - Fix for BUG#50288 - NullPointerException possible during
invalidateCurrentConnection() for load-balanced connections.

- Fix for BUG#48605 - Ping for load balanced connections leaves closed connections in
liveConnections, causing subsequent Exceptions when that connection is used.

- Fix for BUG#48442 - Load-balanced Connection object returns inconsistent results for
hashCode() and equals() dependent upon state of underlying connections.

- Fix for BUG#48172 - Batch rewrite requires space immediately after "VALUES"

- Fix for BUG#48486 Cannot use load balanced connections with
MysqlConnectionPoolDataSource.

- "Replication" connections (those with URLs that start with
jdbc:mysql:replication) now use a jdbc:mysql:loadbalance connection
under the hood for the slave "pool". This also means that one can set
load balancing properties such as "loadBalanceBlacklistTimeout" and
"loadBalanceStrategy" to choose a mechanism for balancing the load and
failover/fault tolerance strategy for the slave pool. This work was done
in order to fix Bug#49537.

- Fixed Bug#36565 - permgen leak from java.util.Timer. Unfortunately no great
fix exists that lets us keep the timer shared amongst connection instances, so
instead it's lazily created if need be per-instance, and torn down when the
connection is closed.

- Fixed BUG#49700 - Connections from ConnectionPoolDataSource don't
maintain any values set with "sesssionVariables=...". This was a bug
in Connection.changeUser()/resetServerState(), we now resubmit the
session variables during the execution of these methods.

(special thanks to Todd Farmer from the Sun/MySQL support team for the numerous fixes to
load-balanced connections!)

As well as the following general bug fixes and improvements:

- Fix for BUG#49607 - Provide Connection context in ExceptionInterceptor.

- Fix for BUG#49745 - deleteRow() for updatable result sets can cause full table scan
because escaped hex values are used for primary key identifiers.

- Fix for Bug#32525 - "noDatetimeStringSync" doesn't work for server-side prepared
statements. Now it does.

- Hooked up exception interceptors so they get called now.

- Rev'd the statement interceptor interface to pass on some server flags, warning
counts and errors. See
the com.mysql.jdbc.StatementInteceptorsV2 interface for more details. The driver
will create adaptors to
transparently convert older implementations to the newer interface at runtime.

- Statement Interceptors are now enabled at connection instantiation, but
can not return result sets (they will be ignored) until the connection
has bootstrapped itself. If during the init() method your interceptor
requires access to the connection itself, it should ensure that methods
that might throw exceptions if the connection is closed should handle
this in a robust manner.

- Statement Interceptors didn't completely intercept server-side prepared statements.