オリジナル版:http://lists.mysql.com/java/8879
MySQL Connector/J 5.0.3(MySQL用のタイプ4のall-Java JDBCドライバの最新バージョン)が リリースされました。
これはConnector/J 5.0の製品リリースの最初の一般的に利用可能なリリースです。Connector/J 3.1はMySQL5.0のXAトランザクション以外のMySQL5.0の特徴を全てサポートしていましたが、しかし、バージョン5.0.3は、XAトランザクションのサポートの追加と共に、サーバーをバージョン番号と「同期化する」最初の一般的に利用可能なリリースであることに注意してください。
バージョン5.0.3は、MySQL-4.1、MySQL-5.0、MySQL-5.1ベータ版を含んだいくつかのMySQLのバージョンでの使用にふさわしいリリースです。
バージョン5.0.3は、http://dev.mysql.com/downloads/connector/j/5.0.htmlおよびミラーサイトのConnector/Jダウンロードページからソースおよびバイナリ形式で入手可能です。(すべてのミラーサイトが現在において最新であるとは限らないかもしれないことに注意してください。あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。)
ダウンロードアーカイブは、"docs/release-test-output"サブディレクトリ内でJUnitのリリーステストと結果コード範囲の出力を搭載している為、以前に比べて大きくなっていることに注意してください。
以下はこのリリースの変更ログから。
- Fixed BUG#17401 - Can't use XAConnection for local transactions
when no global transaction is in progress.
- Fixed BUG#18086 - Driver fails on non-ASCII platforms. The driver
was assuming that the platform character set would be a superset
of MySQL's "latin1" when doing the handshake for authentication,
and when reading error messages. We now use Cp1252 for all strings
sent to the server during the handshake phase, and a hard-coded
mapping
of the "language" server variable to the character set that
is used for error messages.
- Fixed BUG#19169 - ConnectionProperties (and thus some
subclasses) are not serializable, even though some J2EE containers
expect them to be.
- Fixed BUG#20242 - MysqlValidConnectionChecker for JBoss doesn't
work with MySQLXADataSources.
- Better caching of character set converters (per-connection)
to remove a bottleneck for multibyte character sets.
- Added connection/datasource property
"pinGlobalTxToPhysicalConnection" (defaults to "false"). When set
to "true", when using XAConnections, the driver ensures that
operations on a given XID are always routed to the same physical
connection. This allows the XAConnection to support
"XA START ... JOIN" after "XA END" has been called, and is also a
workaround for transaction managers that don't maintain thread
affinity for a global transaction (most either always maintain
thread affinity, or have it as a configuration option).
- MysqlXaConnection.recover(int flags) now allows combinations of
XAResource.TMSTARTRSCAN and TMENDRSCAN. To simulate the "scanning"
nature of the interface, we return all prepared XIDs for
TMSTARTRSCAN, and no new XIDs for calls with TMNOFLAGS, or
TMENDRSCAN when not in combination with TMSTARTRSCAN. This change
was made for API compliance, as well as integration with IBM
WebSphere's transaction manager.
nn-nn-06 - Version 3.1.14
- Fixed BUG#20479 - Updatable result set throws ClassCastException
when there is row data and moveToInsertRow() is called.
- Fixed BUG#20485 - Updatable result set that contains a BIT column
fails when server-side prepared statements are used.
- Fixed BUG#16987 - Memory leak with profileSQL=true.
- Fixed BUG#19726 - Connection fails to localhost when using
timeout and IPv6 is configured.
- Fixed BUG#16791 - NullPointerException in MysqlDataSourceFactory
due to Reference containing RefAddrs with null content.
- Fixed BUG#20306 - ResultSet.getShort() for UNSIGNED TINYINT
returns incorrect values when using server-side prepared
statements.
- Fixed BUG#20687 - Can't pool server-side prepared statements,
exception raised when re-using them.
05-26-05 - Version 3.1.13
- Fixed BUG#15464 - INOUT parameter does not store IN value.
- Fixed BUG#14609 - Exception thrown for new decimal type when
using updatable result sets.
- Fixed BUG#15544, no "dos" character set in MySQL > 4.1.0
- Fixed BUG#15383 - PreparedStatement.setObject() serializes
BigInteger as object, rather than sending as numeric value
(and is thus not complementary to .getObject() on an UNSIGNED
LONG type).
- Fixed BUG#11874 - ResultSet.getShort() for UNSIGNED TINYINT
returned wrong values.
- Fixed BUG#15676 - lib-nodist directory missing from
package breaks out-of-box build
- Fixed BUG#15854 - DBMD.getColumns() returns wrong type for BIT.
- Fixed BUG#14938 - Unable to initialize character set mapping
tables.
Removed reliance on .properties files to hold this information, as
it turns out to be too problematic to code around class loader
hierarchies that change depending on how an application is
deployed. Moved information back into the CharsetMapping class.
- Fixed BUG#16841 - updatable result set doesn't return
AUTO_INCREMENT values for insertRow() when multiple column primary
keys are used. (the driver was checking for the existence of
single-column primary keys and an autoincrement value > 0 instead
of a straightforward isAutoIncrement() check).
- Fixed BUG#17099 - Statement.getGeneratedKeys() throws
NullPointerException when no query has been processed.
- Fixed BUG#13469 - Driver tries to call methods that don't exist on
older and newer versions of Log4j. The fix is not trying to
auto-detect presense of log4j, too many different incompatible
versions out there in the wild to do this reliably.
If you relied on autodetection before, you will need to add
"logger=com.mysql.jdbc.log.Log4JLogger" to your JDBC URL to enable
Log4J usage, or alternatively use the new "CommonsLogger" class to
take care of this.
- Added support for Apache Commons logging, use
"com.mysql.jdbc.log.CommonsLogger" as the value for the "logger"
configuration property.
- LogFactory now prepends "com.mysql.jdbc.log" to log class name if
it can't be found as-specified. This allows you to use "short
names" for the built-in log factories, for example
"logger=CommonsLogger" instead of
"logger=com.mysql.jdbc.log.CommonsLogger".
- Fixed BUG#15570 - ReplicationConnection incorrectly copies state,
doesn't transfer connection context correctly when transitioning
between the same read-only states.
- Fixed BUG#18041 - Server-side prepared statements don't cause
truncation exceptions to be thrown when truncation happens.
- Added performance feature, re-writing of batched executes for
Statement.executeBatch() (for all DML statements) and
PreparedStatement.executeBatch() (for INSERTs with VALUE clauses
only). Enable by using "rewriteBatchedStatements=true" in your
JDBC URL.
- Fixed BUG#17898 - registerOutParameter not working when some
parameters pre-populated. Still waiting for feedback from JDBC
experts group to determine what correct parameter count from
getMetaData() should be, however.
- Fixed BUG#17587 - clearParameters() on a closed prepared statement
causes NPE.
- Map "latin1" on MySQL server to CP1252 for MySQL > 4.1.0.
- Added additional accessor and mutator methods on
ConnectionProperties so that DataSource users can use same naming
as regular URL properties.
- Fixed BUG#18740 - Data truncation and getWarnings() only returns
last warning in set.
- Improved performance of retrieving BigDecimal, Time, Timestamp and
Date values from server-side prepared statements by creating fewer
short-lived instances of Strings when the native type is not an
exact match for the requested type. Fixes BUG#18496 for
BigDecimals.
- Fixed BUG#18554 - Aliased column names where length of name > 251
are corrupted.
- Fixed BUG#17450 - ResultSet.wasNull() not always reset
correctly for booleans when done via conversion for server-side
prepared statements.
- Fixed BUG#16277 - Invalid classname returned for
RSMD.getColumnClassName() for BIGINT type.
- Fixed case where driver wasn't reading server status correctly
when fetching server-side prepared statement rows, which in some
cases could cause warning counts to be off, or multiple result
sets to not be read off the wire.
- Driver now aware of fix for BIT type metadata that went into
MySQL-5.0.21 for server not reporting length consistently
(BUG#13601).
- Fixed BUG#19615, PreparedStatement.setObject(int, Object, int)
doesn't respect scale of BigDecimals.
- Fixed BUG#19282 - ResultSet.wasNull() returns incorrect value
when extracting native string from server-side prepared statement
generated result set.
- Fixed BUG#19568 - ResultSet.getSomeNumeric() didn't work for the
BIT type.
- Fixed BUG#19724 - Updatable result set fails when server is in
ANSI sql_mode.