MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Mark Matthews Date:July 20 2007 3:45am
Subject:MySQL Connector/J 5.0.7 Has Been Released
View as plain text  
Hash: SHA1


MySQL Connector/J 5.0.7 a new version of the Type-IV all-Java JDBC driver for MySQL has
been released. 

This is a bug fix release for the current production branch of Connector/J. 

Version 5.0.7 is suitable for use with any MySQL version including MySQL-4.1, MySQL-5.0,
MySQL-5.1 beta or the MySQL-6.0 Falcon development releases.

It is now available in source and binary form from the Connector/J download pages at 

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

As always, we recommend that you check the change log 

and "Upgrading" sections 

in the manual before upgrading to be aware of changes in behavior that might affect your

We welcome and appreciate your feedback, bug reports, bug fixes, patches etc.:

- ------------------------------
Functionality added or changed
- ------------------------------

Setting the configuration parameter "useCursorFetch" to "true" for MySQL-5.0+ enables the
use of cursors that allow Connector/J to save memory by fetching result set rows in chunks
(where the chunk size is set by calling setFetchSize() on a Statement or ResultSet) by
using fully-materialized cursors on the server. The driver will will now automatically set
"useServerPrepStmts" to "true" when "useCursorFetch" has been set to true, since the
feature requires server-side prepared statements in order to function. 

Added configuration property "useNanosForElapsedTime" - for profiling/debugging
functionality that measures elapsed time, should the driver try to use nanoseconds
resolution if available (requires JDK >= 1.5)?
Added configuration property "slowQueryThresholdNanos" - if "useNanosForElapsedTime" is
set to "true", and this property is set to a non-zero value the driver will use this
threshold (in nanosecond units) to determine if a query was slow, instead of using
millisecond units. 

Added configuration properties to allow tuning of TCP/IP socket parameters: 

  tcpNoDelay - Should the driver set SO_TCP_NODELAY (disabling the Nagle Algorithm,
default true)? 

  tcpKeepAlive - Should the driver set SO_KEEPALIVE (default true)? 

  tcpRcvBuf - Should the driver set SO_RCV_BUF to the given value? The default value of
means use the platform default value for this property. 

  tcpSndBuf - Should the driver set SO_SND_BUF to the given value? The default value of
'0', means use the platform default value for this property. 

  tcpTrafficClass - Should the driver set traffic class or type-of-service fields? See the
documentation for for more information. 

Give more information in EOFExceptions thrown out of MysqlIO (how many bytes the driver
expected to read, how many it actually read, say that communications with the server were
unexpectedly lost). 

Setting "useDynamicCharsetInfo" to "false" now causes driver to use static lookups for
collations as well (makes ResultSetMetadata.isCaseSensitive() much more efficient, which
leads to performance increase for ColdFusion, which calls this method for every column on
every table it sees, it appears). 

Driver detects when it is running in a ColdFusion MX server (tested with version 7), and
uses the configuration bundle coldFusion, which sets "useDynamicCharsetInfo" to "false"
(see previous entry), and sets useLocalSessionState and autoReconnect to true. 

Added new debugging functionality - Setting configuration property
"includeInnodbStatusInDeadlockExceptions" to true will cause the driver to append the
output of SHOW ENGINE INNODB STATUS to deadlock-related exceptions, which will enumerate
the current locks held inside InnoDB. 

- ----------
Bugs Fixed
- ----------

PreparedStatement.getMetaData() for statements containing leading one-line comments is not
returned correctly. As part of this fix, we also overhauled detection of DML for
executeQuery() and SELECTs for executeUpdate() in plain and prepared statements to be
aware of the same types of comments. (Bug#28469) 

Parser in client-side prepared statements eats character following '/' if it's not a
multi-line comment. (Bug#28851)
Parser in client-side prepared statements runs to end of statement, rather than
end-of-line for '#' comments. Also added support for '--' single-line comments.

Don't send any file data in response to LOAD DATA LOCAL INFILE if the feature is disabled
at the client side. This is to prevent a malicious server or man-in-the-middle from asking
the client for data that the client is not expecting. Thanks to Jan Kneschke for
discovering the exploit and Andrey "Poohie" Hristov, Konstantin Osipov and Sergei
Golubchik for discussions about implications and possible fixes. (Bug#29605) 


- -- 
Mark Matthews, Architect (Client Connectivity)
MySQL, Inc. Chicago, USA -
Version: GnuPG v1.4.6 (MingW32)


MySQL Connector/J 5.0.7 Has Been ReleasedMark Matthews20 Jul