-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
MySQL Connector/J 3.1.1, a new version of the Type-IV all-Java JDBC driver for MySQL has been released. Version 3.1.1 is a new feature release for the ALPHA tree that is suitable for use with either MySQL-4.1 or MySQL-5.0. It is now available in source and binary form from the Connector/J download pages at http://www.mysql.com/downloads/api-jdbc-stable.html and mirror sites (note that not all mirror sites may be up to date at this point of time - if you can't find this version on some mirror, please try again later or choose another download site.) The major new feature of this release aside from performance optimizations and bug fixes from 3.1.0 is support for the stored procedures in MySQL-5.0 via the java.sql.CallableStatement interface, and the inclusion of the docbook-based documentation that has been available on www.mysql.com for awhile. The new documentation is located in the 'doc' subdirectory of the distribution. For those of you who want to try out the stored procedures support, I suggest that you see the documentation (http://www.mysql.com/documentation/connector-j/index.html#id2803184) as well as the JDBC spec and APIDOCs for java.sql.CallableStatement. You might also be interested in hearing me talk about the new features in Connector/J 3.1 as well as other Java and MySQL-related topics in person at the MySQL Users' Conference, which will be held in Orlando, April 14th-16th, 2004 (see http://www.mysql.com/events/uc2004/ for more information). Have fun with this release, and looking forward to meeting you in Orlando if you can make it! -Mark - From the changelog: 02-14-04 - Version 3.1.1-alpha - Fixed bug with UpdatableResultSets not using client-side prepared statements. - 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. - Implemented long data (Blobs, Clobs, InputStreams, Readers) for server prepared statements. - Implemented Statement.getWarnings() for MySQL-4.1 and newer (using 'SHOW WARNINGS'). - Default result set type changed to TYPE_FORWARD_ONLY (JDBC compliance). - Centralized setting of result set type and concurrency. - Re-factored how connection properties are set and exposed as DriverPropertyInfo as well as Connection and DataSource properties. - Support for NIO. Use 'useNIO=true' on platforms that support NIO. - Support for SAVEPOINTs (MySQL >= 4.0.14 or 4.1.1). - Support for mysql_change_user()...See the changeUser() method in com.mysql.jdbc.Connection. - 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. - Ensure that warnings are cleared before executing queries on prepared statements, as-per JDBC spec (now that we support warnings). - Support 'old' profileSql capitalization in ConnectionProperties. This property is deprecated, you should use 'profileSQL' if possible. - Optimized Buffer.readLenByteArray() to return shared empty byte array when length is 0. - Allow contents of PreparedStatement.setBlob() to be retained between calls to .execute*(). - Deal with 0-length tokens in EscapeProcessor (caused by callable statement escape syntax). - Check for closed connection on delete/update/insert row operations in UpdatableResultSet. - Fix support for table aliases when checking for all primary keys in UpdatableResultSet. - Removed useFastDates connection property. - Correctly initialize datasource properties from JNDI Refs, including explicitly specified URLs. - DatabaseMetaData now reports supportsStoredProcedures() for MySQL versions >= 5.0.0 - Fixed stack overflow in Connection.prepareCall() (bad merge). - Fixed IllegalAccessError to Calendar.getTimeInMillis() in DateTimeValue (for JDK < 1.4). - Fix for BUG#1673, where DatabaseMetaData.getColumns() is not returning correct column ordinal info for non '%' column name patterns. - Merged fix of datatype mapping from MySQL type 'FLOAT' to java.sql.Types.REAL from 3.0 branch. - Detect collation of column for RSMD.isCaseSensitive(). - Fixed sending of queries > 16M. - Added named and indexed input/output parameter support to CallableStatement. MySQL-5.0.x or newer. - Fixed NullPointerException in ServerPreparedStatement.setTimestamp(), as well as year and month descrepencies in ServerPreparedStatement.setTimestamp(), setDate(). - Added ability to have multiple database/JVM targets for compliance and regression/unit tests in build.xml. - Fixed NPE and year/month bad conversions when accessing some datetime functionality in ServerPreparedStatements and their resultant result sets. - Display where/why a connection was implicitly closed (to aid debugging). - CommunicationsException implemented, that tries to determine why communications was lost with a server, and displays possible reasons when .getMessage() is called. - Fixed BUG#2359, NULL values for numeric types in binary encoded result sets causing NullPointerExceptions. - Implemented Connection.prepareCall(), and DatabaseMetaData. getProcedures() and getProcedureColumns(). - Reset 'long binary' parameters in ServerPreparedStatement when clearParameters() is called, by sending COM_RESET_STMT to the server. - Merged prepared statement caching, and .getMetaData() support from 3.0 branch. - Fixed off-by-1900 error in some cases for years in TimeUtil.fastDate/TimeCreate() when unpacking results from server-side prepared statements. - Fixed BUG#2502 -- charset conversion issue in getTables(). - Implemented multiple result sets returned from a statement or stored procedure. - Fixed BUG#2606 -- Server side prepared statements not returning datatype 'YEAR' correctly. - Enabled streaming of result sets from server-side prepared statements. - Fixed BUG#2623 -- Class-cast exception when using scrolling result sets and server-side prepared statements. - Merged unbuffered input code from 3.0. - Fixed ConnectionProperties that weren't properly exposed via accessors, cleaned up ConnectionProperties code. - Fixed BUG#2671, NULL fields not being encoded correctly in all cases in server side prepared statements. - Fixed rare buffer underflow when writing numbers into buffers for sending prepared statement execution requests. (changes included from the 3.0 branch): xx-xx-04 - Version 3.0.11-stable (not yet released) - Trigger a 'SET NAMES utf8' when encoding is forced to 'utf8' _or_ 'utf-8' via the 'characterEncoding' property. Previously, only the Java-style encoding name of 'utf-8' would trigger this. - AutoReconnect time was growing faster than exponentially (BUG#2447). - Fixed failover always going to last host in list (BUG#2578) - Added 'useUnbufferedInput' parameter, and now use it by default (due to JVM issue http://developer.java.sun.com/developer/bugParade/bugs/4401235.html) 01-13-04 - Version 3.0.10-stable - Don't count quoted id's when inside a 'string' in PreparedStatement parsing (fix for BUG#1511). - 'Friendlier' exception message for PacketTooLargeException (BUG#1534). - Backported fix for aliased tables and UpdatableResultSets in checkUpdatability() method from 3.1 branch. - Fix for ArrayIndexOutOfBounds exception when using Statement.setMaxRows() (BUG#1695). - Fixed BUG#1576, dealing with large blobs and split packets not being read correctly. - Fixed regression of Statement.getGeneratedKeys() and REPLACE statements. - Fixed BUG#1630, subsequent call to ResultSet.updateFoo() causes NPE if result set is not updatable. - Fix for 4.1.1-style auth with no password. - Fix for BUG#1731, Foreign Keys column sequence is not consistent in DatabaseMetaData.getImported/Exported/CrossReference(). - Fix for BUG#1775 - DatabaseMetaData.getSystemFunction() returning bad function 'VResultsSion'. - Fix for BUG#1592 -- cross-database updatable result sets are not checked for updatability correctly. - DatabaseMetaData.getColumns() should return Types.LONGVARCHAR for MySQL LONGTEXT type. - ResultSet.getObject() on TINYINT and SMALLINT columns should return Java type 'Integer' (BUG#1913) - Added 'alwaysClearStream' connection property, which causes the driver to always empty any remaining data on the input stream before each query. - Added more descriptive error message 'Server Configuration Denies Access to DataSource', as well as retrieval of message from server. - Autoreconnect code didn't set catalog upon reconnect if it had been changed. - Implement ResultSet.updateClob(). - ResultSetMetaData.isCaseSensitive() returned wrong value for CHAR/VARCHAR columns. - Fix for BUG#1933 -- Connection property "maxRows" not honored. - Fix for BUG#1925 -- Statements being created too many times in DBMD.extractForeignKeyFromCreateTable(). - Fix for BUG#1914 -- Support escape sequence {fn convert ... } - Fix for BUG#1958 -- ArrayIndexOutOfBounds when parameter number == number of parameters + 1. - Fix for BUG#2006 -- ResultSet.findColumn() should use first matching column name when there are duplicate column names in SELECT query (JDBC-compliance). - Removed static synchronization bottleneck from PreparedStatement.setTimestamp(). - Removed static synchronization bottleneck from instance factory method of SingleByteCharsetConverter. - Enable caching of the parsing stage of prepared statements via the 'cachePrepStmts', 'prepStmtCacheSize' and 'prepStmtCacheSqlLimit' properties (disabled by default). - Speed up parsing of PreparedStatements, try to use one-pass whenever possible. - Fixed security exception when used in Applets (applets can't read the system property 'file.encoding' which is needed for LOAD DATA LOCAL INFILE). - Use constants for SQLStates. - Map charset 'ko18_ru' to 'ko18r' when connected to MySQL-4.1.0 or newer. - Ensure that Buffer.writeString() saves room for the \0. - Fixed exception 'Unknown character set 'danish' on connect w/ JDK-1.4.0 - Fixed mappings in SQLError to report deadlocks with SQLStates of '41000'. - 'maxRows' property would affect internal statements, so check it for all statement creation internal to the driver, and set to 0 when it is not. - -- Mr. Mark Matthews MySQL AB, Software Development Manager, J2EE and Windows Platforms Office: +1 708 332 0507 www.mysql.com Meet the MySQL Team! April 14-16, 2004 http://www.mysql.com/uc2004/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFALUDitvXNTca6JD8RAvVAAJ4sOFEiqofihrWbMbh6jmZsM3LqJACfXptU /g95yM99oXUjiEGEoFdXE2o= =peBz -----END PGP SIGNATURE----- -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]