Bugs fixed:
Production package doesn't include JBoss integration classes. (Bug#11411)
Removed nonsensical “costly type conversion” warnings when using usage advisor. (Bug#11411)
Fixed PreparedStatement.setClob() not
accepting null as a parameter.
(Bug#11360)
Connector/J dumping query into SQLException
twice.
(Bug#11360)
autoReconnect ping causes exception on
connection startup.
(Bug#11259)
Connection.setCatalog() is now aware of the
useLocalSessionState configuration property,
which when set to true will prevent the
driver from sending USE ... to the server if
the requested catalog is the same as the current catalog.
(Bug#11115)
3-0-Compat — Compatibility with
Connector/J 3.0.x functionality
(Bug#11115)
maxPerformance — maximum performance
without being reckless
(Bug#11115)
solarisMaxPerformance — maximum
performance for Solaris, avoids syscalls where it can
(Bug#11115)
Added maintainTimeStats configuration
property (defaults to true), which tells the
driver whether or not to keep track of the last query time and
the last successful packet sent to the server's time. If set to
false, removes two syscalls per query.
(Bug#11115)
VARBINARY data corrupted when
using server-side prepared statements and
ResultSet.getBytes().
(Bug#11115)
Added the following configuration bundles, use one or many via
the useConfigs configuration property:
maxPerformance — maximum
performance without being reckless
solarisMaxPerformance — maximum
performance for Solaris, avoids syscalls where it can
3-0-Compat — Compatibility with
Connector/J 3.0.x functionality
Try to handle OutOfMemoryErrors more
gracefully. Although not much can be done, they will in most
cases close the connection they happened on so that further
operations don't run into a connection in some unknown state.
When an OOM has happened, any further operations on the
connection will fail with a “Connection closed”
exception that will also list the OOM exception as the reason
for the implicit connection close event.
(Bug#10850)
Setting cachePrepStmts=true now causes the
Connection to also cache the check the driver
performs to determine if a prepared statement can be server-side
or not, as well as caches server-side prepared statements for
the lifetime of a connection. As before, the
prepStmtCacheSize parameter controls the size
of these caches.
(Bug#10850)
Don't send COM_RESET_STMT for each execution
of a server-side prepared statement if it isn't required.
(Bug#10850)
0-length streams not sent to server when using server-side prepared statements. (Bug#10850)
Driver detects if you're running MySQL-5.0.7 or later, and does
not scan for LIMIT ?[,?] in statements being
prepared, as the server supports those types of queries now.
(Bug#10850)
Reorganized directory layout. Sources now are in
src folder. Don't pollute parent directory
when building, now output goes to ./build,
distribution goes to ./dist.
(Bug#10496)
Added support/bug hunting feature that generates
.sql test scripts to
STDERR when
autoGenerateTestcaseScript is set to
true.
(Bug#10496)
SQLException is thrown when using property
characterSetResults with
cp932 or eucjpms.
(Bug#10496)
The datatype returned for TINYINT(1) columns
when tinyInt1isBit=true (the default) can be
switched between Types.BOOLEAN and
Types.BIT using the new configuration
property transformedBitIsBoolean, which
defaults to false. If set to
false (the default),
DatabaseMetaData.getColumns() and
ResultSetMetaData.getColumnType() will return
Types.BOOLEAN for
TINYINT(1) columns. If
true, Types.BOOLEAN will
be returned instead. Regardless of this configuration property,
if tinyInt1isBit is enabled, columns with the
type TINYINT(1) will be returned as
java.lang.Boolean instances from
ResultSet.getObject(...), and
ResultSetMetaData.getColumnClassName() will
return java.lang.Boolean.
(Bug#10485)
SQLException thrown when retrieving
YEAR(2) with
ResultSet.getString(). The driver will now
always treat YEAR types as
java.sql.Dates and return the correct values
for getString(). Alternatively, the
yearIsDateType connection property can be set
to false and the values will be treated as
SHORTs.
(Bug#10485)
Driver doesn't support {?=CALL(...)} for
calling stored functions. This involved adding support for
function retrieval to
DatabaseMetaData.getProcedures() and
getProcedureColumns() as well.
(Bug#10310)
Unsigned SMALLINT treated as
signed for ResultSet.getInt(), fixed all
cases for UNSIGNED integer values and
server-side prepared statements, as well as
ResultSet.getObject() for UNSIGNED
TINYINT.
(Bug#10156)
Made ServerPreparedStatement.asSql() work
correctly so auto-explain functionality would work with
server-side prepared statements.
(Bug#10155)
Double quotes not recognized when parsing client-side prepared statements. (Bug#10155)
Made JDBC2-compliant wrappers public in order to allow access to vendor extensions. (Bug#10155)
DatabaseMetaData.supportsMultipleOpenResults()
now returns true. The driver has supported
this for some time, DBMD just missed that fact.
(Bug#10155)
Cleaned up logging of profiler events, moved code to dump a
profiler event as a string to
com.mysql.jdbc.log.LogUtils so that third
parties can use it.
(Bug#10155)
Made enableStreamingResults() visible on
com.mysql.jdbc.jdbc2.optional.StatementWrapper.
(Bug#10155)
Actually write manifest file to correct place so it ends up in the binary jar file. (Bug#10144)
Added createDatabaseIfNotExist property
(default is false), which will cause the
driver to ask the server to create the database specified in the
URL if it doesn't exist. You must have the appropriate
privileges for database creation for this to work.
(Bug#10144)
Memory leak in ServerPreparedStatement if
serverPrepare() fails.
(Bug#10144)
com.mysql.jdbc.PreparedStatement.ParseInfo
does unnecessary call to toCharArray().
(Bug#9064)
Driver now correctly uses CP932 if available on the server for Windows-31J, CP932 and MS932 java encoding names, otherwise it resorts to SJIS, which is only a close approximation. Currently only MySQL-5.0.3 and newer (and MySQL-4.1.12 or .13, depending on when the character set gets backported) can reliably support any variant of CP932.
Overhaul of character set configuration, everything now lives in a properties file.

User Comments
Add your own comment.