MySQL Connector/J 5.0.8(MySQL用のタイプ4のall-Java JDBCドライバの最新バージョン)が リリースされました。
これはConnector/Jにおける現在の製品版に対するバグ修正リリースです。
本日、バージョン5.1.5もGAとして同時にリリースしています。したがって、セキュリティまたはデータ破損のバグがバージョン5.0版に対して報告されない限り、バージョン5.0.8が5.0版における最終予定リリースとなります。
バージョン5.0.8は、MySQL-4.1、MySQL-5.0、MySQL-5.1ベータ版、MySQL-6.0ファルコンプレビュー用を含んだいくつかのMySQLのバージョンでの使用にふさわしいリリースです。
バージョン5.0.8は、http://dev.mysql.com/downloads/connector/j/5.0.htmlおよびミラーサイトのConnector/Jダウンロードページからソースおよびバイナリ形式で入手可能です。(すべてのミラーサイトが現在において最新であるとは限らないかもしれないことに注意してください。あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。)
いつものことですが、アプリケーションに影響を及ぼす動作変更を把握するには、アップグレードの前に、マニュアルの変更ログ(http://dev.mysql.com/doc/refman/5.0/en/cj-news.html)と"Upgrading"の節(http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html)をチェックするようお勧めします。
バグレポート、バグ修正、パッチ等の情報をお待ちしておりますので、以下のページをご利用ください。
http://forge.mysql.com/wiki/Contributing
以下はこのリリースのパフォーマンス改善、機能の追加および変更情報です。
- ------------------------------ Functionality added or changed - ------------------------------ - - Added two configuration parameters (both default to "false") * blobsAreStrings - Should the driver always treat BLOBs as Strings specifically to work around dubious metadata returned by the server for GROUP BY clauses? * functionsNeverReturnBlobs - Should the driver always treat data from functions returning BLOBs as Strings - specifically to work around dubious
metadata returned by the server for GROUP BY clauses? - - Specifying a "validation query" in your connection pool that starts with "/* ping */" _exactly_ will cause the driver to instead send a ping to the server and return a fake result set (much lighter weight), and when using a ReplicationConnection or a LoadBalancedConnection, will send the ping across all active connections. - - XAConnections now start in auto-commit mode (as per JDBC-4.0 specification clarification). - - Driver will now fall back to sane defaults for max_allowed_packet and net_buffer_length if the server reports them incorrectly (and will log this situation at WARN level, since it's actually an error condition). - ---------- Bugs Fixed - ---------- - - FixedBUG#27182- Connection.getServerCharacterEncoding() doesn't work for servers with version >= 4.1. - - FixedBug#27412- cached metadata with PreparedStatement.execute() throws NullPointerException. - - FixedBUG#27867- Schema objects with identifiers other than the connection character aren't retrieved correctly in ResultSetMetadata. - - FixedBUG#27915- DatabaseMetaData.getColumns() doesn't contain SCOPE_* or IS_AUTOINCREMENT columns. - - FixedBUG#27916- UNSIGNED types not reported via DBMD.getTypeInfo(), and capitalization of type names is not consistent between DBMD.getColumns(), RSMD.getColumnTypeName() and DBMD.getTypeInfo(). This fix also ensures that the precision of UNSIGNED MEDIUMINT and UNSIGNED BIGINT is reported correctly via DBMD.getColumns(). - - FixedBUG#28689- CallableStatement.executeBatch() doesn't work when connection property "noAccessToProcedureBodies" has been set to "true". The fix involves changing the behavior of "noAccessToProcedureBodies",in that the driver will now report all paramters as "IN" paramters but allow callers to call registerOutParameter() on them without throwing an exception. - - FixedBUG#28972- DatabaseMetaData.getTypeInfo() for the types DECIMAL and NUMERIC will return a precision of 254 for server versions older than 5.0.3, 64 for versions 5.0.3-5.0.5 and 65 for versions newer than 5.0.5. - - FixedBUG#29106- Connection checker for JBoss didn't use same method parameters via reflection, causing connections to always seem "bad". - - FixedBUG#29852- Closing a load-balanced connection would cause a ClassCastException. - - FixedBUG#30550, executeBatch() would fail with an ArithmeticException and/or NullPointerException when the batch had zero members and "rewriteBatchedStatements" was set to "true" for the connection. - - FixedBUG#30664- Note that this fix only works for MySQL server versions 5.0.25 and newer, since earlier versions didn't consistently return correct metadata for functions, and thus results from subqueries and functions were indistinguishable from each other, leading to type-related bugs. - - FixedBUG#30851, NPE with null column values when "padCharsWithSpace" is set to "true". - FixedBug#30892setObject(int, Object, int, int) delegate in PreparedStatmentWrapper delegates to wrong method. - - FixedBUG#31053- Connections established using URLs of the form "jdbc:mysql:loadbalance://" weren't doing failover if they tried to connect to a MySQL server that was down. The driver now attempts connections to the next "best" (depending on the load balance strategy in use) server, and continues to attempt connecting to the next "best" server every 250 milliseconds until one is found that is up and running or 5 minutes has passed.
If the driver gives up, it will throw the last-received SQLException.