Added finalizers to
Statement implementations to be JDBC
spec-compliant, which requires that if not explicitly closed,
these resources should be closed upon garbage collection.
null for name patterns in DBMD
%”), even though it
isn't JDBC compliant, for legacy's sake. Disable by setting
false (which will be the default value in
views when they were not asked for as one of the requested table
Check for empty strings (
'') when converting
column data to numbers, throw exception if
property is set to
backward-compatibility with 3.0, it is now set to
true by default, but will most likely default
false in 3.2).
The performance metrics feature now gathers information about number of tables referenced in a SELECT. (Bug #9704)
Fixed driver not returning
ResultSet.getBoolean() was called on result
sets returned from server-side prepared statements.
ServerPreparedStatements now correctly
to the server. You can configure the threshold chunk size using
the JDBC URL property
default is 1MB).
The logging system is now automatically configured. If the value
has been set by the user, using the URL property
logger or the system property
com.mysql.jdbc.logger, then use that,
otherwise, autodetect it using the following steps:
Log4j, if it is available,
Then JDK1.4 logging,
Then fallback to our
Manifest.MF file with
implementation information to the
null for catalog (meaning use
current) in DBMD methods, even though it is not JDBC-compliant
for legacy's sake. Disable by setting connection property
false (which will be the default value in C/J
More tests in
distinguish opaque binary (that is, fields with type
BINARY) from output of various scalar and aggregate
functions that return strings.
DBMD.getTables() shouldn't return tables if
views are asked for, even if the database version doesn't
Added support for the c3p0 connection pool's
checker interface which uses the lightweight
COM_PING call to the server if available. To
use it, configure your c3p0 connection pool's
connectionTesterClassName property to use
DATA_TYPE column from
ArrayIndexOutOfBoundsException when accessed
(and in fact, didn't return any value).
A continuation of Bug #8868, where functions used in queries
that should return nonstring types when resolved by temporary
tables suddenly become opaque binary strings (work-around for
server limitation). Also fixed fields with type of
CHAR(n) CHARACTER SET BINARY to return
correct/matching classes for
PreparedStatement.getMetaData() inserts blank
row in database under certain conditions when not using
server-side prepared statements.
Added support for new precision-math
DECIMAL type in MySQL 5.0.3 and
Better detection of
LIMIT inside/outside of
quoted strings so that the driver can more correctly determine
whether a prepared statement can be prepared on the server or
Connection.ping() a public method.
Stored procedures with
parameters with storage specifications that contained
,” in them would fail.
Server-side session variables can be preset at connection time
by passing them as a comma-delimited list for the connection
makes “best effort” to distinguish
LIMIT clauses with placeholders in them from
ones without to have fewer false positives when generating
work-arounds for statements the server cannot currently handle
as server-side prepared statements.
BlobFromLocator now uses correct identifier
quoting when generating prepared statements.
Statement.getMoreResults() could throw NPE
when existing result set was
ResultSet.getTime() on a
NULL value for server-side prepared
statements throws NPE.
PreparedStatement.addBatch() doesn't work
with server-side prepared statements and streaming
build.xml to not compile
log4j logging if
UTF-8 for characterSetResults
PreparedStatement.setObject(int, Object, int type, int
scale) now uses scale value for
true for forward-only/read-only
result sets (we obviously support this).
Fixed regression in
ping() for users using
Stored procedures with same name in different databases confuse the driver when it tries to determine parameter counts/types. (Bug #9319)
wrong value on servers running on case-sensitive file systems.