MySQL Connector/J 5.1 Release Notes

5.9 Changes in MySQL Connector/J 3.0.9 (2003-10-07)

Bugs Fixed

  • Backported authentication changes for 4.1.1 and newer from 3.1 branch. (Bug #1247)

  • 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 outstanding data still streaming from the server to be discarded if another query is executed before all the data has been read from the server. (Bug #1247)

  • Added com.mysql.jdbc.util.BaseBugReport to help creation of testcases for bug reports. (Bug #1247)

  • ResultSet.get/setString mashing char 127. (Bug #1247)

  • Made databaseName, portNumber, and serverName optional parameters for MysqlDataSourceFactory. (Bug #1246)

  • Optimized CLOB.setChracterStream(). (Bug #1131)

  • Fixed CLOB.truncate(). (Bug #1130)

  • Faster date handling code in ResultSet and PreparedStatement (no longer uses Date methods that synchronize on static calendars).

  • Fixed deadlock issue with Statement.setMaxRows(). (Bug #1099)

  • DatabaseMetaData.getColumns() getting confused about the keyword set in character columns. (Bug #1099)

  • 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. (Bug #884)

  • When emptying input stream of unused rows for streaming result sets, have the current thread yield() every 100 rows to not monopolize CPU time. (Bug #879)

  • Double-escaping of '\' when charset is SJIS or GBK and '\' appears in nonescaped input. (Bug #879)

  • Issue exception on ResultSet.getXXX() on empty result set (wasn't caught in some cases). (Bug #848)

  • Fixed regression in large split-packet handling. (Bug #848)

  • Don't hide messages from exceptions thrown in I/O layers. (Bug #848)

  • Better diagnostic error messages in exceptions for streaming result sets. (Bug #848)

  • Don't change timestamp TZ twice if useTimezone==true. (Bug #774)

  • Fixed test for end of buffer in Buffer.readString().

  • The insertRow in an UpdatableResultSet is now loaded with the default column values when moveToInsertRow() is called. (Bug #688)

  • Don't wrap SQLExceptions in RowDataDynamic. (Bug #688)

  • Don't try and reset isolation level on reconnect if MySQL doesn't support them. (Bug #688)

  • Change default statement type/concurrency to TYPE_FORWARD_ONLY and CONCUR_READ_ONLY (spec compliance). (Bug #688)

  • DatabaseMetaData.getColumns() wasn't returning NULL for default values that are specified as NULL. (Bug #688)

  • Fix UpdatableResultSet to return values for getXXX() when on insert row. (Bug #675)

  • Support InnoDB constraint names when extracting foreign key information in DatabaseMetaData (implementing ideas from Parwinder Sekhon). (Bug #664, Bug #517)

  • Backported 4.1 protocol changes from 3.1 branch (server-side SQL states, new field information, larger client capability flags, connect-with-database, and so forth). (Bug #664, Bug #517)

  • refreshRow didn't work when primary key values contained values that needed to be escaped (they ended up being doubly escaped). (Bug #661)

  • Fixed Statement and PreparedStatement issuing bogus queries when setMaxRows() had been used and a LIMIT clause was present in the query. (Bug #496)

  • Fixed ResultSet.previous() behavior to move current position to before result set when on first row of result set. (Bug #496)