Bugs fixed:
ResultSet.get/setString
mashing char 127. (Bug#1247)Added property to “clobber” streaming results, by setting the
clobberStreamingResults
property totrue
(the default isfalse
). 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. (Bug#1247)Added
com.mysql.jdbc.util.BaseBugReport
to 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
, andserverName
optional 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.get
on 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
SQLExceptions
inRowDataDynamic
. (Bug#688)Don't try and reset isolation level on reconnect if MySQL doesn't support them. (Bug#688)
The
insertRow
in anUpdatableResultSet
is now loaded with the default column values whenmoveToInsertRow()
is called. (Bug#688)DatabaseMetaData.getColumns()
wasn't returningNULL
for default values that are specified asNULL
. (Bug#688)Change default statement type/concurrency to
TYPE_FORWARD_ONLY
andCONCUR_READ_ONLY
(spec compliance). (Bug#688)Fix
UpdatableResultSet
to return values forget
when on insert row. (Bug#675)XXX
()Support
InnoDB
contraint 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)
refreshRow
didn'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
Statement
andPreparedStatement
issuing bogus queries whensetMaxRows()
had been used and aLIMIT
clause was present in the query. (Bug#496)Faster date handling code in
ResultSet
andPreparedStatement
(no longer usesDate
methods that synchronize on static calendars).Fixed test for end of buffer in
Buffer.readString()
.