Bugs fixed:
ResultSet.get/setStringmashing char 127. (Bug#1247)Added property to “clobber” streaming results, by setting the
clobberStreamingResultsproperty totrue(the default isfalse). This will cause a “streaming”ResultSetto 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. (Bug#1247)Added
com.mysql.jdbc.util.BaseBugReportto help creation of testcases for bug reports. (Bug#1247)Backported authentication changes for 4.1.1 and newer from 3.1 branch. (Bug#1247)
Made
databaseName,portNumber, andserverNameoptional parameters forMysqlDataSourceFactory. (Bug#1246)Optimized
CLOB.setChracterStream(). (Bug#1131)Fixed
CLOB.truncate(). (Bug#1130)Fixed deadlock issue with
Statement.setMaxRows(). (Bug#1099)DatabaseMetaData.getColumns()getting confused about the keyword “set” in character columns. (Bug#1099)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)Don't fire connection closed events when closing pooled connections, or on
PooledConnection.getConnection()with already open connections. (Bug#884)Double-escaping of
'\'when charset is SJIS or GBK and'\'appears in nonescaped input. (Bug#879)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)Issue exception on
ResultSet.geton empty result set (wasn't caught in some cases). (Bug#848)XXX()Don't hide messages from exceptions thrown in I/O layers. (Bug#848)
Fixed regression in large split-packet handling. (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)Don't wrap
SQLExceptionsinRowDataDynamic. (Bug#688)Don't try and reset isolation level on reconnect if MySQL doesn't support them. (Bug#688)
The
insertRowin anUpdatableResultSetis now loaded with the default column values whenmoveToInsertRow()is called. (Bug#688)DatabaseMetaData.getColumns()wasn't returningNULLfor default values that are specified asNULL. (Bug#688)Change default statement type/concurrency to
TYPE_FORWARD_ONLYandCONCUR_READ_ONLY(spec compliance). (Bug#688)Fix
UpdatableResultSetto return values forgetwhen on insert row. (Bug#675)XXX()Support
InnoDBcontraint names when extracting foreign key information inDatabaseMetaData(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)
refreshRowdidn't work when primary key values contained values that needed to be escaped (they ended up being doubly escaped). (Bug#661)Fixed
ResultSet.previous()behavior to move current position to before result set when on first row of result set. (Bug#496)Fixed
StatementandPreparedStatementissuing bogus queries whensetMaxRows()had been used and aLIMITclause was present in the query. (Bug#496)Faster date handling code in
ResultSetandPreparedStatement(no longer usesDatemethods that synchronize on static calendars).Fixed test for end of buffer in
Buffer.readString().