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
SHORT
s.
(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.