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()returnsSQLWarninginstead 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 STATUSchanged between 5.0.0 and 5.0.1. (Bug#3520)Added
connectionCollationproperty 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
gatherPerformanceMetricsproperty, along with properties to control when/where this info gets logged (see docs for more info).Fixed case when no parameters could cause a
NullPointerExceptioninCallableStatement.setOutputParameters().Enabled callable statement caching using
cacheCallableStmtsproperty.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
logSlowQueriesproperty, along withslowQueriesThresholdMillisproperty 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()).ServerPreparedStatementsweren'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.