Don't pass
NULL
toString.valueOf()
inResultSet.getNativeConvertToString()
, as it stringifies it (that is, returnsnull
), which is not correct for the method in question. (Bug #8487)PreparedStatements
not creating streaming result sets. (Bug #8487)Fixed NPE in
ResultSet.realClose()
when using usage advisor and result set was already closed. (Bug #8428)ResultSet.getString()
doesn't maintain format stored on server, bug fix only enabled whennoDatetimeStringSync
property is set totrue
(the default isfalse
). (Bug #8428)Added support for
BIT
type in MySQL-5.0.3. The driver will treatBIT(1-8)
as the JDBC standardBIT
type (which maps tojava.lang.Boolean
), as the server does not currently send enough information to determine the size of a bitfield when < 9 bits are declared.BIT(>9)
will be treated asVARBINARY
, and will returnbyte[]
whengetObject()
is called. (Bug #8424)Added
useLocalSessionState
configuration property, when set totrue
the JDBC driver trusts that the application is well-behaved and only sets autocommit and transaction isolation levels using the methods provided onjava.sql.Connection
, and therefore can manipulate these values in many cases without incurring round-trips to the database server. (Bug #8424)Added
enableStreamingResults()
toStatement
for connection pool implementations that checkStatement.setFetchSize()
for specification-compliant values. CallStatement.setFetchSize(>=0)
to disable the streaming results for that statement. (Bug #8424)ResultSet.getBigDecimal()
throws exception when rounding would need to occur to set scale. The driver now chooses a rounding mode of “half up” if nonroundingBigDecimal.setScale()
fails. (Bug #8424)Fixed synchronization issue with
ServerPreparedStatement.serverPrepare()
that could cause deadlocks/crashes if connection was shared between threads. (Bug #8096)Emulated locators corrupt binary data when using server-side prepared statements. (Bug #8096)
Removed
dontUnpackBinaryResults
functionality, the driver now always stores results from server-side prepared statements as is from the server and unpacks them on demand. (Bug #7952)Infinite recursion when “falling back” to master in failover configuration. (Bug #7952)
Fixed duplicated code in
configureClientCharset()
that preventeduseOldUTF8Behavior=true
from working properly. (Bug #7952)Disable multi-statements (if enabled) for MySQL-4.1 versions prior to version 4.1.10 if the query cache is enabled, as the server returns wrong results in this configuration. (Bug #7952)
Timestamps converted incorrectly to strings with server-side prepared statements and updatable result sets. (Bug #7715)
Detect new
sql_mode
variable in string form (it used to be integer) and adjust quoting method for strings appropriately. (Bug #7715)Added
holdResultsOpenOverStatementClose
property (default isfalse
), that keeps result sets open over statement.close() or new execution on same statement (suggested by Kevin Burton). (Bug #7715)Timestamp key column data needed
_binary
stripped forUpdatableResultSet.refreshRow()
. (Bug #7686)Connector/J now supports the
NO_BACKSLASH_ESCAPES
server SQL mode. (Bug #7374, Bug #16730296)Send correct value for “boolean”
true
to server forPreparedStatement.setObject(n, "true", Types.BIT)
. (Bug #4718)Remove
_binary
introducer from parameters used as in/out parameters inCallableStatement
. (Bug #4718)Fixed bug with Connection not caching statements from
prepareStatement()
when the statement wasn't a server-side prepared statement. (Bug #4718)Choose correct “direction” to apply time adjustments when both client and server are in GMT time zone when using
ResultSet.get(..., cal)
andPreparedStatement.set(...., cal)
. (Bug #4718)By default, the driver now scans SQL you are preparing using all variants of
Connection.prepareStatement()
to determine if it is a supported type of statement to prepare on the server side, and if it is not supported by the server, it instead prepares it as a client-side emulated prepared statement. You can disable this by passingemulateUnsupportedPstmts=false
in your JDBC URL. (Bug #4718)Always return
byte[]
s for output parameters registered as*BINARY
. (Bug #4718)Added
dontTrackOpenResources
option (default isfalse
, to be JDBC compliant), which helps with memory use for nonwell-behaved apps (that is, applications that don't closeStatement
objects when they should). (Bug #4718)