From: Date: July 20 2007 5:45am Subject: MySQL Connector/J 5.0.7 Has Been Released List-Archive: http://lists.mysql.com/announce/472 Message-Id: <018d01c7ca80$77d2d940$9c1da8c0@marksworkbox> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,=20 MySQL Connector/J 5.0.7 a new version of the Type-IV all-Java JDBC = driver for MySQL has been released.=20 This is a bug fix release for the current production branch of = Connector/J.=20 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=20 http://dev.mysql.com/downloads/connector/j/5.0.html=20 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 http://dev.mysql.com/doc/refman/5.0/en/cj-news.html=20 and "Upgrading" sections=20 http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html=20 in the manual before upgrading to be aware of changes in behavior that = might affect your application.=20 We welcome and appreciate your feedback, bug reports, bug fixes, patches = etc.: http://forge.mysql.com/wiki/Contributing =09 - ------------------------------ 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.=20 Added configuration property "useNanosForElapsedTime" - for = profiling/debugging functionality that measures elapsed time, should the = driver try to use nanoseconds resolution if available (requires JDK >=3D = 1.5)? =20 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.=20 Added configuration properties to allow tuning of TCP/IP socket = parameters:=20 tcpNoDelay - Should the driver set SO_TCP_NODELAY (disabling the Nagle = Algorithm, default true)?=20 tcpKeepAlive - Should the driver set SO_KEEPALIVE (default true)?=20 tcpRcvBuf - Should the driver set SO_RCV_BUF to the given value? The = default value of '0',=20 means use the platform default value for this property.=20 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.=20 tcpTrafficClass - Should the driver set traffic class or = type-of-service fields? See the documentation for = java.net.Socket.setTrafficClass() for more information.=20 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).=20 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).=20 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.=20 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.=20 - ---------- 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)=20 Parser in client-side prepared statements eats character following '/' = if it's not a multi-line comment. (Bug#28851) =20 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. (Bug#28956)=20 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)=20 Enjoy! -Mark - --=20 Mark Matthews, Architect (Client Connectivity) MySQL, Inc. Chicago, USA - www.mysql.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (MingW32) iD8DBQFGoC/qtvXNTca6JD8RAnBBAJ42T6N8pajo2hYnY0idJ9n4NpgnnACggEis 8RVoqj7TloZ27qSPG/XHskA=3D =3Dwpss -----END PGP SIGNATURE-----