MySQL Connector/J Release Notes  /  Changes in MySQL Connector/J 3.1  /  Changes in MySQL Connector/J 3.1.12 (2005-11-30)

Changes in MySQL Connector/J 3.1.12 (2005-11-30)

Bugs Fixed

  • Process escape tokens in Connection.prepareStatement(...). You can disable this behavior by setting the JDBC URL configuration property processEscapeCodesForPrepStmts to false. (Bug #15141)

  • Usage advisor complains about unreferenced columns, even though they've been referenced. (Bug #15065)

  • Driver incorrectly closes streams passed as arguments to PreparedStatements. Reverts to legacy behavior by setting the JDBC configuration property autoClosePStmtStreams to true (also included in the 3-0-Compat configuration bundle). (Bug #15024)

  • Deadlock while closing server-side prepared statements from multiple threads sharing one connection. (Bug #14972)

  • Unable to initialize character set mapping tables (due to J2EE classloader differences). (Bug #14938)

  • Escape processor replaces quote character in quoted string with string delimiter. (Bug #14909)

  • DatabaseMetaData.getColumns() doesn't return TABLE_NAME correctly. (Bug #14815)

  • storesMixedCaseIdentifiers() returns false (Bug #14562)

  • storesLowerCaseIdentifiers() returns true (Bug #14562)

  • storesMixedCaseQuotedIdentifiers() returns false (Bug #14562)

  • storesMixedCaseQuotedIdentifiers() returns true (Bug #14562)

  • If lower_case_table_names=0 (on server):

    • storesLowerCaseIdentifiers() returns false

    • storesLowerCaseQuotedIdentifiers() returns false

    • storesMixedCaseIdentifiers() returns true

    • storesMixedCaseQuotedIdentifiers() returns true

    • storesUpperCaseIdentifiers() returns false

    • storesUpperCaseQuotedIdentifiers() returns true

    (Bug #14562)

  • storesUpperCaseIdentifiers() returns false (Bug #14562)

  • storesUpperCaseQuotedIdentifiers() returns true (Bug #14562)

  • If lower_case_table_names=1 (on server):

    • storesLowerCaseIdentifiers() returns true

    • storesLowerCaseQuotedIdentifiers() returns true

    • storesMixedCaseIdentifiers() returns false

    • storesMixedCaseQuotedIdentifiers() returns false

    • storesUpperCaseIdentifiers() returns false

    • storesUpperCaseQuotedIdentifiers() returns true

    (Bug #14562)

  • storesLowerCaseQuotedIdentifiers() returns true (Bug #14562)

  • Fixed DatabaseMetaData.stores*Identifiers():

    • If lower_case_table_names=0 (on server):

      • storesLowerCaseIdentifiers() returns false

      • storesLowerCaseQuotedIdentifiers() returns false

      • storesMixedCaseIdentifiers() returns true

      • storesMixedCaseQuotedIdentifiers() returns true

      • storesUpperCaseIdentifiers() returns false

      • storesUpperCaseQuotedIdentifiers() returns true

    • If lower_case_table_names=1 (on server):

      • storesLowerCaseIdentifiers() returns true

      • storesLowerCaseQuotedIdentifiers() returns true

      • storesMixedCaseIdentifiers() returns false

      • storesMixedCaseQuotedIdentifiers() returns false

      • storesUpperCaseIdentifiers() returns false

      • storesUpperCaseQuotedIdentifiers() returns true

    (Bug #14562)

  • storesMixedCaseIdentifiers() returns true (Bug #14562)

  • storesLowerCaseQuotedIdentifiers() returns false (Bug #14562)

  • Java type conversion may be incorrect for MEDIUMINT. (Bug #14562)

  • storesLowerCaseIdentifiers() returns false (Bug #14562)

  • Added configuration property useGmtMillisForDatetimes which when set to true causes ResultSet.getDate(), .getTimestamp() to return correct millis-since GMT when .getTime() is called on the return value (currently default is false for legacy behavior). (Bug #14562)

  • Extraneous sleep on autoReconnect. (Bug #13775)

  • Reconnect during middle of executeBatch() should not occur if autoReconnect is enabled. (Bug #13255)

  • maxQuerySizeToLog is not respected. Added logging of bound values for execute() phase of server-side prepared statements when profileSQL=true as well. (Bug #13048)

  • OpenOffice expects DBMD.supportsIntegrityEnhancementFacility() to return true if foreign keys are supported by the datasource, even though this method also covers support for check constraints, which MySQL doesn't have. Setting the configuration property overrideSupportsIntegrityEnhancementFacility to true causes the driver to return true for this method. (Bug #12975)

  • Added com.mysql.jdbc.testsuite.url.default system property to set default JDBC url for testsuite (to speed up bug resolution when I'm working in Eclipse). (Bug #12975)

  • logSlowQueries should give better info. (Bug #12230)

  • Don't increase timeout for failover/reconnect. (Bug #6577)

  • Fall back to platform-encoding for URLDecoder.decode() when parsing driver URL properties if the platform doesn't have a two-argument version of this method.

  • Do not permit executeBatch() for CallableStatements with registered OUT/INOUT parameters (JDBC compliance).

  • Fixed client-side prepared statement bug with embedded ? characters inside quoted identifiers (it was recognized as a placeholder, when it was not).