Bugs fixed:
Should accept 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
nullCatalogMeansCurrent
to
false
(which will be the default value in C/J
3.2.x).
(Bug#9917)
Fixed driver not returning true
for
-1
when
ResultSet.getBoolean()
was called on result
sets returned from server-side prepared statements.
(Bug#9778)
Added a Manifest.MF
file with
implementation information to the .jar
file.
(Bug#9778)
More tests in Field.isOpaqueBinary()
to
distinguish opaque binary (that is, fields with type
CHAR(n)
and CHARACTER SET
BINARY
) from output of various scalar and aggregate
functions that return strings.
(Bug#9778)
DBMD.getTables()
shouldn't return tables if
views are asked for, even if the database version doesn't
support views.
(Bug#9778)
Should accept null
for name patterns in DBMD
(meaning “%
”), even though it
isn't JDBC compliant, for legacy's sake. Disable by setting
connection property nullNamePatternMatchesAll
to false
(which will be the default value in
C/J 3.2.x).
(Bug#9769)
The performance metrics feature now gathers information about number of tables referenced in a SELECT. (Bug#9704)
The logging system is now automatically configured. If the value
has been set by the user, via 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 STDERR
logging.
(Bug#9704)
Statement.getMoreResults()
could throw NPE
when existing result set was .close()
d.
(Bug#9704)
Stored procedures with DECIMAL
parameters with storage specifications that contained
“,
” in them would fail.
(Bug#9682)
PreparedStatement.setObject(int, Object, int type, int
scale)
now uses scale value for
BigDecimal
instances.
(Bug#9682)
Added support for the c3p0 connection pool's
(http://c3p0.sf.net/) validation/connection
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
com.mysql.jdbc.integration.c3p0.MysqlConnectionTester
.
(Bug#9320)
PreparedStatement.getMetaData()
inserts blank
row in database under certain conditions when not using
server-side prepared statements.
(Bug#9320)
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
not.
(Bug#9320)
Connection.canHandleAsPreparedStatement()
now
makes “best effort” to distinguish
LIMIT
clauses with placeholders in them from
ones without in order to have fewer false positives when
generating work-arounds for statements the server cannot
currently handle as server-side prepared statements.
(Bug#9320)
Fixed build.xml
to not compile
log4j
logging if log4j
not
available.
(Bug#9320)
Added finalizers to ResultSet
and
Statement
implementations to be JDBC
spec-compliant, which requires that if not explicitly closed,
these resources should be closed upon garbage collection.
(Bug#9319)
Stored procedures with same name in different databases confuse the driver when it tries to determine parameter counts/types. (Bug#9319)
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 RSMD.getColumnClassName()
and
ResultSet.getObject()
.
(Bug#9236)
Cannot use UTF-8
for characterSetResults
configuration property.
(Bug#9206)
PreparedStatement.addBatch()
doesn't work
with server-side prepared statements and streaming
BINARY
data.
(Bug#9040)
ServerPreparedStatements
now correctly
“stream”
BLOB
/CLOB
data
to the server. You can configure the threshold chunk size using
the JDBC URL property blobSendChunkSize
(the
default is 1MB).
(Bug#8868)
DATE_FORMAT()
queries returned as
BLOB
s from
getObject()
.
(Bug#8868)
Server-side session variables can be preset at connection time
by passing them as a comma-delimited list for the connection
property sessionVariables
.
(Bug#8868)
BlobFromLocator
now uses correct identifier
quoting when generating prepared statements.
(Bug#8868)
Fixed regression in ping()
for users using
autoReconnect=true
.
(Bug#8868)
Check for empty strings (''
) when converting
CHAR
/VARCHAR
column data to numbers, throw exception if
emptyStringsConvertToZero
configuration
property is set to false
(for
backward-compatibility with 3.0, it is now set to
true
by default, but will most likely default
to false
in 3.2).
(Bug#8803)
DATA_TYPE
column from
DBMD.getBestRowIdentifier()
causes
ArrayIndexOutOfBoundsException
when accessed
(and in fact, didn't return any value).
(Bug#8803)
DBMD.supportsMixedCase*Identifiers()
returns
wrong value on servers running on case-sensitive file systems.
(Bug#8800)
DBMD.supportsResultSetConcurrency()
not
returning true
for forward-only/read-only
result sets (we obviously support this).
(Bug#8792)
Fixed ResultSet.getTime()
on a
NULL
value for server-side prepared
statements throws NPE.
Made Connection.ping()
a public method.
Added support for new precision-math
DECIMAL
type in MySQL 5.0.3 and
up.
Fixed DatabaseMetaData.getTables()
returning
views when they were not asked for as one of the requested table
types.
User Comments
Add your own comment.