2006.07.12

MySQL

MySQL Connector/J 5.0.2ベータ版がリリースされました。

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

MySQL Connector/J 5.0.2ベータ版(MySQL用のタイプ4のall-Java JDBCドライバ)が
リリースされました。これはこのドライバ版の最近計画されたベータ版リリースです。バージョン5.0.1は、直前のパッケージエラーのためリリースされなかった事に注意してください。

バージョン5.0.2は、MySQL-4.1、MySQL-5.0、MySQL-5.1ベータ版を含んだいくつかのMySQLのバージョンでの使用にふさわしい開発版のリリースです。

バージョン5.0.2は、http://dev.mysql.com/downloads/connector/j/5.0.htmlおよびミラーサイトのConnector/Jダウンロードページからソースおよびバイナリ形式で入手可能です。(すべてのミラーサイトが現在において最新であるとは限らないかもしれないことに注意してください。あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。)

"docs/release-test-output"サブディレクトリ内でJUnitのリリーステストと結果コード範囲の出力を搭載している為、以前に比べてダウンロードアーカイブが大きくなっていることに注意してください。

以下は変更ログから。(このリリースは、バージョン3.1.13と3.1.14からの変更と修正を含んでいます)

    - 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.