MySQL Connector/J Release Notes  /  Changes in MySQL Connector/J 3.1  /  Changes in MySQL Connector/J 3.1.1 (2004-02-14)

Changes in MySQL Connector/J 3.1.1 (2004-02-14)

Bugs Fixed

  • Use DocBook version of docs for shipped versions of drivers. (Bug #2671)

  • NULL fields 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 ConnectionProperties that weren't properly exposed through accessors, cleaned up ConnectionProperties code. (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 YEAR correctly. (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(), and DatabaseMetaData. getProcedures() and getProcedureColumns(). (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 binary parameters in ServerPreparedStatement when clearParameters() is called, by sending COM_RESET_STMT to the server. (Bug #2359)

  • NULL values for numeric types in binary encoded result sets causing NullPointerExceptions. (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 NullPointerException in ServerPreparedStatement.setTimestamp(), as well as year and month discrepencies in ServerPreparedStatement.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 FLOAT to java.sql.Types.REAL from 3.0 branch. (Bug #1673)

  • Fixed NPE and year/month bad conversions when accessing some datetime functionality in ServerPreparedStatements and their resultant result sets. (Bug #1673)

  • Added named and indexed input/output parameter support to CallableStatement. MySQL-5.0.x or newer. (Bug #1673)

  • CommunicationsException implemented, 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)

  • Check for closed connection on delete/update/insert row operations in UpdatableResultSet.

  • Optimized Buffer.readLenByteArray() to return shared empty byte array when length is 0.

  • Ensure that warnings are cleared before executing queries on prepared statements, as-per JDBC spec (now that we support warnings).

  • Fixed stack overflow in Connection.prepareCall() (bad merge).

  • Support for transaction savepoints (MySQL >= 4.0.14 or 4.1.1).

  • Support old profileSql capitalization in ConnectionProperties. This property is deprecated, you should use profileSQL if possible.

  • Refactored how connection properties are set and exposed as DriverPropertyInfo as well as Connection and DataSource properties.

  • Fixed character encoding issues when converting bytes to ASCII when MySQL doesn't provide the character set, and the JVM is set to a multibyte encoding (usually affecting retrieval of numeric values).

  • Unpack unknown data types from server prepared statements as Strings.

  • Fix support for table aliases when checking for all primary keys in UpdatableResultSet.

  • Centralized setting of result set type and concurrency.

  • DatabaseMetaData now reports supportsStoredProcedures() for MySQL versions >= 5.0.0

  • Fixed IllegalAccessError to Calendar.getTimeInMillis() in DateTimeValue (for JDK < 1.4).

  • Removed useFastDates connection property.

  • Support for mysql_change_user(). See the changeUser() method in com.mysql.jdbc.Connection.

  • Correctly initialize datasource properties from JNDI Refs, including explicitly specified URLs.

  • Reduced number of methods called in average query to be more efficient.

  • Prepared Statements will be re-prepared on auto-reconnect. Any errors encountered are postponed until first attempt to re-execute the re-prepared statement.

  • Implemented long data (Blobs, Clobs, InputStreams, Readers) for server prepared statements.

  • Deal with 0-length tokens in EscapeProcessor (caused by callable statement escape syntax).

  • Default result set type changed to TYPE_FORWARD_ONLY (JDBC compliance).

  • Support for NIO. Use useNIO=true on platforms that support NIO.

  • Allow contents of PreparedStatement.setBlob() to be retained between calls to .execute*().

  • Implemented Statement.getWarnings() for MySQL-4.1 and newer (using SHOW WARNINGS).

  • Fixed bug with UpdatableResultSets not using client-side prepared statements.

Download these Release Notes
PDF (US Ltr) - 484.4Kb
PDF (A4) - 484.2Kb
EPUB - 127.9Kb