-----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]

Reply via email to