Bugs fixed:
Don't enable server-side prepared statements for server version 5.0.0 or 5.0.1, as they aren't compatible with the '4.1.2+' style that the driver uses (the driver expects information to come back that isn't there, so it hangs). (Bug#3804)
getWarnings()
returnsSQLWarning
instead ofDataTruncation
. (Bug#3804)getProcedureColumns()
doesn't work with wildcards for procedure name. (Bug#3540)getProcedures()
does not return any procedures in result set. (Bug#3539)Fixed
DatabaseMetaData.getProcedures()
when run on MySQL-5.0.0 (output ofSHOW PROCEDURE STATUS
changed between 5.0.0 and 5.0.1. (Bug#3520)Added
connectionCollation
property to cause driver to issueset collation_connection=...
query on connection init if default collation for given charset is not appropriate. (Bug#3520)DBMD.getSQLStateType()
returns incorrect value. (Bug#3520)Correctly map output parameters to position given in
prepareCall()
versus. order implied duringregisterOutParameter()
. (Bug#3146)Cleaned up detection of server properties. (Bug#3146)
Correctly detect initial character set for servers >= 4.1.0. (Bug#3146)
Support placeholder for parameter metadata for server >= 4.1.2. (Bug#3146)
Added
gatherPerformanceMetrics
property, along with properties to control when/where this info gets logged (see docs for more info).Fixed case when no parameters could cause a
NullPointerException
inCallableStatement.setOutputParameters()
.Enabled callable statement caching using
cacheCallableStmts
property.Fixed sending of split packets for large queries, enabled nio ability to send large packets as well.
Added
.toString()
functionality toServerPreparedStatement
, which should help if you're trying to debug a query that is a prepared statement (it shows SQL as the server would process).Added
logSlowQueries
property, along withslowQueriesThresholdMillis
property to control when a query should be considered “slow.”Removed wrapping of exceptions in
MysqlIO.changeUser()
.Fixed stored procedure parameter parsing info when size was specified for a parameter (for example,
char()
,varchar()
).ServerPreparedStatements
weren't actually de-allocating server-side resources when.close()
was called.Fixed case when no output parameters specified for a stored procedure caused a bogus query to be issued to retrieve out parameters, leading to a syntax error from the server.