Newsletters older than 6 months may have links that are out of date. Please use the Search to check for updated links.
Mark Matthews
MySQL Connector/J 3.0.9, a new version of the Type-IV all-Java JDBC driver for MySQL has been released.
It is now available in source and binary form from the Connector/J download pages athttp://www.mysql.com/downloads/api-jdbc-stable.html (http://www.mysql.com/downloads/api-jdbc-stable.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. The new CHANGELOG for 3.0.9 should be hosted on the website later today as well (the one for 3.0.8 is still listed there), but 3.0.9 is available for downloading from the URL bove.
- From the changelog:
10-07-03 - Version 3.0.9-stable
- Faster date handling code in ResultSet and PreparedStatement (no longer uses Date methods that synchronize on static calendars).
- Fixed test for end of buffer in Buffer.readString().
- Fixed ResultSet.previous() behavior to move current position to before result set when on first row of result set (bugs.mysql.com BUG#496)
- Fixed Statement and PreparedStatement issuing bogus queries when setMaxRows() had been used and a LIMIT clause was present in the query.
- Fixed BUG#661 - refreshRow didn't work when primary key values contained values that needed to be escaped (they ended up being doubly-escaped).
- Support InnoDB contraint names when extracting foreign key info in DatabaseMetaData BUG#517 and BUG#664 (impl. ideas from Parwinder Sekhon)
- Backported 4.1 protocol changes from 3.1 branch (server-side SQL states, new field info, larger client capability flags, connect-with-database, etc).
- Fix UpdatableResultSet to return values for getXXX() when on insert row (BUG#675).
- The insertRow in an UpdatableResultSet is now loaded with the default column values when moveToInsertRow() is called (BUG#688)
- DatabaseMetaData.getColumns() wasn't returning NULL for default values that are specified as NULL.
- Change default statement type/concurrency to TYPE_FORWARD_ONLY and CONCUR_READ_ONLY (spec compliance).
- Don't try and reset isolation level on reconnect if MySQL doesn't support them.
- Don't wrap SQLExceptions in RowDataDynamic.
- Don't change timestamp TZ twice if useTimezone==true (BUG#774)
- Fixed regression in large split-packet handling (BUG#848).
- Better diagnostic error messages in exceptions for 'streaming' result sets.
- Issue exception on ResultSet.getXXX() on empty result set (wasn't caught in some cases).
- Don't hide messages from exceptions thrown in I/O layers.
- Don't fire connection closed events when closing pooled connections, or on PooledConnection.getConnection() with already open connections (BUG#884).
- Clip +/- INF (to smallest and largest representative values for the type in MySQL) and NaN (to 0) for setDouble/setFloat(), and issue a warning on the statement when the server does not support +/- INF or NaN.
- Fix for BUG#879, double-escaping of '\' when charset is SJIS or GBK and '\' appears in non-escaped input.
- When emptying input stream of unused rows for 'streaming' result sets, have the current thread yield() every 100 rows in order to not monopolize CPU time.
- Fixed BUG#1099, DatabaseMetaData.getColumns() getting confused about the keyword 'set' in character columns.
- Fixed deadlock issue with Statement.setMaxRows().
- Fixed CLOB.truncate(), BUG#1130
- Optimized CLOB.setChracterStream(), BUG#1131
- Made databaseName, portNumber and serverName optional parameters for MysqlDataSourceFactory (BUG#1246)
- Fix for BUG#1247 -- ResultSet.get/setString mashing char 127
- Backported auth. changes for 4.1.1 and newer from 3.1 branch.
- Added com.mysql.jdbc.util.BaseBugReport to help creation of testcases for bug reports.
- Added property to 'clobber' streaming results, by setting the 'clobberStreamingResults' property to 'true' (the default is 'false'). This will cause a 'streaming' ResultSet to be automatically closed, and any oustanding data still streaming from the server to be discarded if another query is executed before all the data has been read from the server.