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


MySQL Connector/J 3.1.13(MySQL用のタイプ4のall-Java JDBCドライバ)が リリースされました。

バージョン3.1.13は、MySQL-4.1、MySQL-5.0、MySQL-5.1 betaを含んだいくつかのMySQLのバージョンでの使用にふさわしい安定版のバグ対処リリースです。



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.