Bugs fixed:
Workaround for server Bug#9098: Default values of
CURRENT_*forDATE,TIME,DATETIME, andTIMESTAMPcolumns can't be distinguished fromstringvalues, soUpdatableResultSet.moveToInsertRow()generates bad SQL for inserting default values. (Bug#8812)NON_UNIQUEcolumn fromDBMD.getIndexInfo()returned inverted value. (Bug#8812)EUCKRcharset is sent asSET NAMES euc_krwhich MySQL-4.1 and newer doesn't understand. (Bug#8629)Added support for the
EUC_JP_Solarischaracter encoding, which maps to a MySQL encoding ofeucjpms(backported from 3.1 branch). This only works on servers that supporteucjpms, namely 5.0.3 or later. (Bug#8629)Use hex escapes for
PreparedStatement.setBytes()for double-byte charsets including “aliases”Windows-31J,CP934,MS932. (Bug#8629)DatabaseMetaData.supportsSelectForUpdate()returns correct value based on server version. (Bug#8629)Which requires hex escaping of binary data when using multi-byte charsets with prepared statements. (Bug#8064)
Fixed duplicated code in
configureClientCharset()that preventeduseOldUTF8Behavior=truefrom working properly. (Bug#7952)Backported SQLState codes mapping from Connector/J 3.1, enable with
useSqlStateCodes=trueas a connection property, it defaults tofalsein this release, so that we don't break legacy applications (it defaults totruestarting with Connector/J 3.1). (Bug#7686)Timestamp key column data needed
_binarystripped forUpdatableResultSet.refreshRow(). (Bug#7686)MS932,SHIFT_JIS, andWindows_31Jnot recognized as aliases forsjis. (Bug#7607)Handle streaming result sets with more than 2 billion rows properly by fixing wraparound of row number counter. (Bug#7601)
PreparedStatement.fixDecimalExponent()adding extra+, making number unparseable by MySQL server. (Bug#7601)Escape sequence {fn convert(..., type)} now supports ODBC-style types that are prepended by
SQL_. (Bug#7601)Statements created from a pooled connection were returning physical connection instead of logical connection when
getConnection()was called. (Bug#7316)Support new protocol type
MYSQL_TYPE_VARCHAR. (Bug#7081)Added
useOldUTF8Behavior' configuration property, which causes JDBC driver to act like it did with MySQL-4.0.x and earlier when the character encoding isutf-8when connected to MySQL-4.1 or newer. (Bug#7081)DatabaseMetaData.getIndexInfo()ignoreduniqueparameter. (Bug#7081)PreparedStatement.fixDecimalExponent()adding extra+, making number unparseable by MySQL server. (Bug#7061)PreparedStatementsdon't encode Big5 (and other multi-byte) character sets correctly in static SQL strings. (Bug#7033)Connections starting up failed-over (due to down master) never retry master. (Bug#6966)
Timestamp/Timeconversion goes in the wrong “direction” whenuseTimeZone=trueand server time zone differs from client time zone. (Bug#5874)