Bugs fixed:
ResultSet.getMetaData()
should not return incorrectly initialized metadata if the result set has been closed, but should instead throw anSQLException
. Also fixed forgetRow()
andgetWarnings()
and traversal methods by callingcheckClosed()
before operating on instance-level fields that are nullified during.close()
. (Bug#5069)Use
_binary
introducer forPreparedStatement.setBytes()
andset*Stream()
when connected to MySQL-4.1.x or newer to avoid misinterpretation during character conversion. (Bug#5069)Parse new time zone variables from 4.1.x servers. (Bug#5069)
ResultSet
should releaseField[]
instance in.close()
. (Bug#5022)RSMD.getPrecision()
returning 0 for nonnumeric types (should return max length in chars for nonbinary types, max length in bytes for binary types). This fix also fixes mapping ofRSMD.getColumnType()
andRSMD.getColumnTypeName()
for theBLOB
types based on the length sent from the server (the server doesn't distinguish betweenTINYBLOB
,BLOB
,MEDIUMBLOB
orLONGBLOB
at the network protocol level). (Bug#4880)“Production” is now “GA” (General Availability) in naming scheme of distributions. (Bug#4860, Bug#4138)
DBMD.getColumns()
returns incorrect JDBC type for unsigned columns. This affects type mappings for all numeric types in theRSMD.getColumnType()
andRSMD.getColumnTypeNames()
methods as well, to ensure that “like” types fromDBMD.getColumns()
match up with whatRSMD.getColumnType()
andgetColumnTypeNames()
return. (Bug#4860, Bug#4138)Calling
.close()
twice on aPooledConnection
causes NPE. (Bug#4808)Added FLOSS license exemption. (Bug#4742)
Removed redundant calls to
checkRowPos()
inResultSet
. (Bug#4334)Failover for
autoReconnect
not using port numbers for any hosts, and not retrying all hosts.WarningThis required a change to the
SocketFactory
connect()
method signature, which is nowpublic Socket connect(String host, int portNumber, Properties props)
; therefore, any third-party socket factories will have to be changed to support this signature.(Bug#4334)
Logical connections created by
MysqlConnectionPoolDataSource
will now issue arollback()
when they are closed and sent back to the pool. If your application server/connection pool already does this for you, you can set therollbackOnPooledClose
property tofalse
to avoid the overhead of an extrarollback()
. (Bug#4334)StringUtils.escapeEasternUnicodeByteStream
was still broken for GBK. (Bug#4010)