-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

MySQL Connector/J 5.0.0 Beta, a new version of the Type-IV all-Java JDBC
driver for MySQL has been released. You will notice that there is a new
version numbering scheme for this release that more closely aligns with
the server version that the JDBC driver is intended to be used with. You
will soon see new "base" version numbers for all new connectivity
libraries released by MySQL, including Connector/Net, Connector/ODBC and
Connector/MXJ. Hopefully this will help alleviate the common question of
"Which driver version should I use with my MySQL server?".

Version 5.0.0 is a development release based on code from the stable
tree. It is essentially Connector/J 3.1.13 with support for XA back
ported from the Connector/J 3.2 branch, as well as some internal
refactorings to support JDBC-4.0 features.

New features that are included:

* Support for Connector/MXJ integration via url subprotocol
"jdbc:mysql:mxj://....".

* XA Distributed Transactions via the
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource implementation of
javax.sql.XADataSource.

* Statement.cancel() and Statement.setQueryTimeout().

Connector/J 5.0.0 is suitable for use with any MySQL version including
MySQL-4.1, MySQL-5.0 or MySQL-5.1.

We expect that Connector/J 5.0 will soon stabilize, as the majority of
the codebase is from Connector/J 3.1 which is a generally available
release, with largely non-disruptive new functionality added (namely XA)
to the 5.0 codebase (which is also why this is a "beta" release out of
the gate).

It is now available in source and binary form from the Connector/J
download pages at http://dev.mysql.com/downloads/connector/j/5.0.html
and mirror sites (note that not all mirror sites may be up to date at
this point of time - if you can't find this version on some mirror,
please try again later or choose another download site.)

        -Mark


- From the changelog:

12-23-05 - Version 5.0.0-beta

- - XADataSource implemented (ported from 3.2 branch which won't be
released as a product). Use
"com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" as your datasource
class name in your application server to utilize XA transactions  in
MySQL-5.0.10 and newer.

- - PreparedStatement.setString() didn't work correctly when sql_mode on
server contained NO_BACKSLASH_ESCAPES, and no characters that needed
escaping were present in the string.

- - Attempt detection of the MySQL type "BINARY" (it's an alias, so this
isn't always reliable), and use the java.sql.Types.BINARY type mapping
for it.

- - Moved -bin-g.jar file into separate "debug" subdirectory to avoid
confusion.

- - Don't allow .setAutoCommit(true), or .commit() or .rollback() on an
XA-managed connection as-per the JDBC specification.

- - If the connection "useTimezone" is set to "true", then also respect
timezone conversions in escape-processed string literals (e.g. "{ts
...}" and "{t ...}").

- - Return original column name for RSMD.getColumnName() if the column was
aliased, alias name for .getColumnLabel() (if aliased), and original
table name for .getTableName(). Note this only works for MySQL-4.1 and
newer, as older servers don't make this information available to clients.

- - Setting "useJDBCCompliantTimezoneShift=true" (it's not the default)
causes the driver to use GMT for _all_ TIMESTAMP/DATETIME timezones, and
the current VM timezone for any other type that refers to timezones.
This feature can not be used when "useTimezone=true" to convert between
server and client timezones.

- - Add one level of indirection of internal representation of
CallableStatement parameter metadata to avoid class not found issues on
JDK-1.3 for ParameterMetadata interface (which doesn't exist prior to
JDBC-3.0).

- - Added unit tests for XADatasource, as well as friendlier exceptions
for XA failures compared to the "stock" XAException (which has no messages).

- - Fixed BUG#14279 - Idle timeouts cause XAConnections to whine about
rolling themselves back

- - Added support for Connector/MXJ integration via url subprotocol
"jdbc:mysql:mxj://....".

- - Removed Java5-specific calls to BigDecimal constructor (when result
set value is '', (int)0 was being used as an argument in-directly via
method return value. This signature doesn't exist prior to Java5.)

- - Moved all SQLException creation to a factory method in SQLError,
groundwork for JDBC-4.0 SQLState class-based exceptions.

- - Added service-provider entry to META-INF/services/java.sql.Driver for
JDBC-4.0 support.

- - Return "[VAR]BINARY" for RSMD.getColumnTypeName() when that is
actually the type, and it can be distinguished (MySQL-4.1 and newer).

- - When fix for BUG#14562 was merged from 3.1.12, added functionality for
CallableStatement's parameter metadata to return correct information for
.getParameterClassName().

- - Fuller synchronization of Connection to avoid deadlocks when using
multithreaded frameworks that multithread a single connection (usually
not recommended, but the JDBC spec allows it anyways), part of fix to
BUG#14972).

- - Implementation of Statement.cancel() and Statement.setQueryTimeout().

Both require MySQL-5.0.0 or newer server, require a separate connection
to issue the "KILL QUERY" command, and in the case of setQueryTimeout()
creates an additional thread to handle the timeout functionality.

      Note: Failures to cancel the statement for setQueryTimeout() may
manifest themselves as RuntimeExceptions rather than failing silently,
as there is currently no way to unblock the thread that is executing the
query being cancelled due to timeout expiration and have it throw the
exception instead.

xx-xx-06 - Version 3.1.13 (fixes/features included in 5.0.0)

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

- --
Mark Matthews
MySQL AB, Software Development Manager - Client Connectivity
www.mysql.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDuuThtvXNTca6JD8RAivKAJ9lfKGCOi9QMBFu3qCHS95UpCwtOQCdFjdo
N2hqsY5gnjRWhyfqaojaSSM=
=23+F
-----END PGP SIGNATURE-----

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to