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 totrue
(the default isfalse
). 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
, andserverName
optional parameters forMysqlDataSourceFactory
. (Bug #1246)Optimized
CLOB.setChracterStream()
. (Bug #1131)Fixed
CLOB.truncate()
. (Bug #1130)Faster date handling code in
ResultSet
andPreparedStatement
(no longer usesDate
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.get
on empty result set (wasn't caught in some cases). (Bug #848)XXX
()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 anUpdatableResultSet
is now loaded with the default column values whenmoveToInsertRow()
is called. (Bug #688)Don't wrap
SQLExceptions
inRowDataDynamic
. (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
andCONCUR_READ_ONLY
(spec compliance). (Bug #688)DatabaseMetaData.getColumns()
wasn't returningNULL
for default values that are specified asNULL
. (Bug #688)Fix
UpdatableResultSet
to return values forget
when on insert row. (Bug #675)XXX
()Support
InnoDB
constraint 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
Statement
andPreparedStatement
issuing bogus queries whensetMaxRows()
had been used and aLIMIT
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)