Bugs Fixed
Fixed charset conversion issue in
getTables().
(Bug #2502)
Fixed ConnectionProperties that weren't
properly exposed through accessors, cleaned up
ConnectionProperties code.
(Bug #2623)
Prepared Statements will be re-prepared on
auto-reconnect. Any errors encountered are postponed until first
attempt to re-execute the re-prepared statement.
Reduced number of methods called in average query to be more efficient.
Refactored how connection properties are set and exposed as
DriverPropertyInfo as well as
Connection and DataSource
properties.
Fixed stack overflow in
Connection.prepareCall() (bad merge).
Enabled streaming of result sets from server-side prepared statements. (Bug #2606)
Allow contents of PreparedStatement.setBlob()
to be retained between calls to .execute*().
Fixed IllegalAccessError to
Calendar.getTimeInMillis() in
DateTimeValue (for JDK < 1.4).
Default result set type changed to
TYPE_FORWARD_ONLY (JDBC compliance).
Fixed bug with UpdatableResultSets not using
client-side prepared statements.
Class-cast exception when using scrolling result sets and server-side prepared statements. (Bug #2623)
Display where/why a connection was implicitly closed (to aid debugging). (Bug #1673)
DatabaseMetaData.getColumns() is not
returning correct column ordinal info for
non-'%' column name patterns.
(Bug #1673)
Centralized setting of result set type and concurrency.
Implemented Connection.prepareCall(), and
DatabaseMetaData.
getProcedures() and
getProcedureColumns().
(Bug #2359)
Implemented multiple result sets returned from a statement or stored procedure. (Bug #2502)
Fixed NullPointerException in
ServerPreparedStatement.setTimestamp(), as
well as year and month discrepencies in
ServerPreparedStatement.setTimestamp(),
setDate().
(Bug #1673)
Fixed character encoding issues when converting bytes to ASCII when MySQL doesn't provide the character set, and the JVM is set to a multi-byte encoding (usually affecting retrieval of numeric values).
Support “old” profileSql
capitalization in ConnectionProperties. This
property is deprecated, you should use
profileSQL if possible.
Added ability to have multiple database/JVM targets for
compliance and regression/unit tests in
build.xml.
(Bug #1673)
Support for transaction savepoints (MySQL >= 4.0.14 or 4.1.1).
Check for closed connection on delete/update/insert row
operations in UpdatableResultSet.
Support for NIO. Use useNIO=true on platforms
that support NIO.
Fixed sending of queries larger than 16M. (Bug #1673)
Use DocBook version of docs for shipped versions of drivers. (Bug #2671)
Merged fix of data type mapping from MySQL type
FLOAT to
java.sql.Types.REAL from 3.0 branch.
(Bug #1673)
Merged prepared statement caching, and
.getMetaData() support from 3.0 branch.
(Bug #2359)
Fixed NPE and year/month bad conversions when accessing some
datetime functionality in
ServerPreparedStatements and their resultant
result sets.
(Bug #1673)
Removed useFastDates connection property.
Added named and indexed input/output parameter support to
CallableStatement. MySQL-5.0.x or newer.
(Bug #1673)
Fixed off-by-1900 error in some cases for years in
TimeUtil.fastDate/TimeCreate()
when unpacking results from server-side prepared statements.
(Bug #2359)
Support for mysql_change_user().
See the changeUser() method in
com.mysql.jdbc.Connection.
DatabaseMetaData now reports
supportsStoredProcedures() for MySQL versions
>= 5.0.0
Deal with 0-length tokens in EscapeProcessor
(caused by callable statement escape syntax).
Reset long binary parameters in
ServerPreparedStatement when
clearParameters() is called, by sending
COM_RESET_STMT to the server.
(Bug #2359)
Server-side prepared statements were not returning data type
YEAR correctly.
(Bug #2606)
NULL fields were not being encoded correctly
in all cases in server-side prepared statements.
(Bug #2671)
Implemented long data (Blobs, Clobs, InputStreams, Readers) for server prepared statements.
Correctly initialize datasource properties from JNDI Refs, including explicitly specified URLs.
Ensure that warnings are cleared before executing queries on prepared statements, as-per JDBC spec (now that we support warnings).
Implemented Statement.getWarnings() for
MySQL-4.1 and newer (using SHOW
WARNINGS).
Unpack “unknown” data types from server prepared
statements as Strings.
NULL values for numeric types in binary
encoded result sets causing
NullPointerExceptions.
(Bug #2359)
CommunicationsException implemented, that
tries to determine why communications was lost with a server,
and displays possible reasons when
.getMessage() is called.
(Bug #1673)
Fixed rare buffer underflow when writing numbers into buffers for sending prepared statement execution requests. (Bug #2671)
Fix support for table aliases when checking for all primary keys
in UpdatableResultSet.
Optimized Buffer.readLenByteArray() to return
shared empty byte array when length is 0.
Detect collation of column for
RSMD.isCaseSensitive().
(Bug #1673)
Merged unbuffered input code from 3.0. (Bug #2623)
