Bugs fixed:
Use DocBook version of docs for shipped versions of drivers. (Bug#2671)
NULLfields were not being encoded correctly in all cases in server-side prepared statements. (Bug#2671)Fixed rare buffer underflow when writing numbers into buffers for sending prepared statement execution requests. (Bug#2671)
Fixed
ConnectionPropertiesthat weren't properly exposed through accessors, cleaned upConnectionPropertiescode. (Bug#2623)Class-cast exception when using scrolling result sets and server-side prepared statements. (Bug#2623)
Merged unbuffered input code from 3.0. (Bug#2623)
Enabled streaming of result sets from server-side prepared statements. (Bug#2606)
Server-side prepared statements were not returning data type
YEARcorrectly. (Bug#2606)Fixed charset conversion issue in
getTables(). (Bug#2502)Implemented multiple result sets returned from a statement or stored procedure. (Bug#2502)
Implemented
Connection.prepareCall(), andDatabaseMetaData.getProcedures()andgetProcedureColumns(). (Bug#2359)Merged prepared statement caching, and
.getMetaData()support from 3.0 branch. (Bug#2359)Fixed off-by-1900 error in some cases for years in
TimeUtil.fastDate/TimeCreate()when unpacking results from server-side prepared statements. (Bug#2359)Reset
long binaryparameters inServerPreparedStatementwhenclearParameters()is called, by sendingCOM_RESET_STMTto the server. (Bug#2359)NULLvalues for numeric types in binary encoded result sets causingNullPointerExceptions. (Bug#2359)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)Fixed
NullPointerExceptioninServerPreparedStatement.setTimestamp(), as well as year and month descrepencies inServerPreparedStatement.setTimestamp(),setDate(). (Bug#1673)Added ability to have multiple database/JVM targets for compliance and regression/unit tests in
build.xml. (Bug#1673)Fixed sending of queries larger than 16M. (Bug#1673)
Merged fix of data type mapping from MySQL type
FLOATtojava.sql.Types.REALfrom 3.0 branch. (Bug#1673)Fixed NPE and year/month bad conversions when accessing some datetime functionality in
ServerPreparedStatementsand their resultant result sets. (Bug#1673)Added named and indexed input/output parameter support to
CallableStatement. MySQL-5.0.x or newer. (Bug#1673)CommunicationsExceptionimplemented, that tries to determine why communications was lost with a server, and displays possible reasons when.getMessage()is called. (Bug#1673)Detect collation of column for
RSMD.isCaseSensitive(). (Bug#1673)Optimized
Buffer.readLenByteArray()to return shared empty byte array when length is 0.Fix support for table aliases when checking for all primary keys in
UpdatableResultSet.Unpack “unknown” data types from server prepared statements as
Strings.Implemented
Statement.getWarnings()for MySQL-4.1 and newer (usingSHOW WARNINGS).Ensure that warnings are cleared before executing queries on prepared statements, as-per JDBC spec (now that we support warnings).
Correctly initialize datasource properties from JNDI Refs, including explicitly specified URLs.
Implemented long data (Blobs, Clobs, InputStreams, Readers) for server prepared statements.
Deal with 0-length tokens in
EscapeProcessor(caused by callable statement escape syntax).DatabaseMetaDatanow reportssupportsStoredProcedures()for MySQL versions >= 5.0.0Support for
mysql_change_user(). See thechangeUser()method incom.mysql.jdbc.Connection.Removed
useFastDatesconnection property.Support for NIO. Use
useNIO=trueon platforms that support NIO.Check for closed connection on delete/update/insert row operations in
UpdatableResultSet.Support for transaction savepoints (MySQL >= 4.0.14 or 4.1.1).
Support “old”
profileSqlcapitalization inConnectionProperties. This property is deprecated, you should useprofileSQLif possible.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).
Centralized setting of result set type and concurrency.
Fixed bug with
UpdatableResultSetsnot using client-side prepared statements.Default result set type changed to
TYPE_FORWARD_ONLY(JDBC compliance).Fixed
IllegalAccessErrortoCalendar.getTimeInMillis()inDateTimeValue(for JDK < 1.4).Allow contents of
PreparedStatement.setBlob()to be retained between calls to.execute*().Fixed stack overflow in
Connection.prepareCall()(bad merge).Refactored how connection properties are set and exposed as
DriverPropertyInfoas well asConnectionandDataSourceproperties.Reduced number of methods called in average query to be more efficient.
Prepared
Statementswill be re-prepared on auto-reconnect. Any errors encountered are postponed until first attempt to re-execute the re-prepared statement.