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. (Bug#496)
Fixed Statement
and
PreparedStatement
issuing bogus queries
when setMaxRows()
had been used and a
LIMIT
clause was present in the query.
refreshRow
didn't work when primary key
values contained values that needed to be escaped (they
ended up being doubly escaped). (Bug#661)
Support InnoDB
contraint names when
extracting foreign key information in
DatabaseMetaData
(implementing ideas from
Parwinder Sekhon). (Bug#517, Bug#664)
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).
Fix UpdatableResultSet
to return values
for get
when on insert row. (Bug#675)
XXX
()
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.get
on empty result set (wasn't caught in some cases).
XXX
()
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.
Double-escaping of '\'
when charset is
SJIS or GBK and '\'
appears in
non-escaped input. (Bug#879)
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.
DatabaseMetaData.getColumns()
getting
confused about the keyword 「set」 in character
columns. (Bug#1099)
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)
ResultSet.get/setString
mashing char 127.
(Bug#1247)
Backported authentication 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.