Functionality added or changed:
        blobsAreStrings — Should the driver
        always treat BLOBs as Strings. Added specifically to work around
        dubious metadata returned by the server for GROUP
        BY clauses. Defaults to false.
      
Added two configuration parameters:
            blobsAreStrings — Should the driver
            always treat BLOBs as Strings. Added specifically to work
            around dubious metadata returned by the server for
            GROUP BY clauses. Defaults to false.
          
            functionsNeverReturnBlobs — Should
            the driver always treat data from functions returning
            BLOBs as Strings. Added specifically to
            work around dubious metadata returned by the server for
            GROUP BY clauses. Defaults to false.
          
        functionsNeverReturnBlobs — Should the
        driver always treat data from functions returning
        BLOBs as Strings. Added specifically to work
        around dubious metadata returned by the server for
        GROUP BY clauses. Defaults to false.
      
XAConnections now start in auto-commit mode (as per JDBC-4.0 specification clarification).
        Driver will now fall back to sane defaults for
        max_allowed_packet and
        net_buffer_length if the server
        reports them incorrectly (and will log this situation at
        WARN level, since it is actually an error
        condition).
      
Bugs fixed:
        Connections established using URLs of the form
        jdbc:mysql:loadbalance:// weren't doing
        failover if they tried to connect to a MySQL server that was
        down. The driver now attempts connections to the next "best"
        (depending on the load balance strategy in use) server, and
        continues to attempt connecting to the next "best" server every
        250 milliseconds until one is found that is up and running or 5
        minutes has passed.
      
        If the driver gives up, it will throw the last-received
        SQLException.
       (Bug#31053)
        setObject(int, Object, int, int) delegate in
        PreparedStatmentWrapper delegates to wrong method.
       (Bug#30892)
        NPE with null column values when
        padCharsWithSpace is set to true.
       (Bug#30851)
        Collation on VARBINARY column
        types would be misidentified. A fix has been added, but this fix
        only works for MySQL server versions 5.0.25 and newer, since
        earlier versions didn't consistently return correct metadata for
        functions, and thus results from subqueries and functions were
        indistinguishable from each other, leading to type-related bugs.
       (Bug#30664)
        An ArithmeticException or
        NullPointerException would be raised when the
        batch had zero members and
        rewriteBatchedStatements=true when
        addBatch() was never called, or
        executeBatch() was called immediately after
        clearBatch().
       (Bug#30550)
        Closing a load-balanced connection would cause a
        ClassCastException.
       (Bug#29852)
Connection checker for JBoss didn't use same method parameters via reflection, causing connections to always seem "bad". (Bug#29106)
        DatabaseMetaData.getTypeInfo() for the types
        DECIMAL and
        NUMERIC will return a precision
        of 254 for server versions older than 5.0.3, 64 for versions
        5.0.3–5.0.5 and 65 for versions newer than 5.0.5.
       (Bug#28972)
        CallableStatement.executeBatch() doesn't work
        when connection property
        noAccessToProcedureBodies has been set to
        true.
      
        The fix involves changing the behavior of
        noAccessToProcedureBodies,in that the driver
        will now report all paramters as "IN" paramters but allow
        callers to call registerOutParameter() on them without throwing
        an exception.
       (Bug#28689)
When a connection is in read-only mode, queries that are wrapped in parentheses were incorrectly identified DML statements. (Bug#28256)
        UNSIGNED types not reported via
        DBMD.getTypeInfo(), and capitalization of
        type names is not consistent between
        DBMD.getColumns(),
        RSMD.getColumnTypeName() and
        DBMD.getTypeInfo().
      
        This fix also ensures that the precision of UNSIGNED
        MEDIUMINT and UNSIGNED BIGINT is
        reported correctly via DBMD.getColumns().
       (Bug#27916)
        DatabaseMetaData.getColumns() doesn't contain
        SCOPE_* or
        IS_AUTOINCREMENT columns.
       (Bug#27915)
        Schema objects with identifiers other than the connection
        character aren't retrieved correctly in
        ResultSetMetadata.
       (Bug#27867)
        Cached metadata with
        PreparedStatement.execute() throws
        NullPointerException.
       (Bug#27412)
        Connection.getServerCharacterEncoding()
        doesn't work for servers with version >= 4.1.
       (Bug#27182)
        The automated SVN revisions in
        DBMD.getDriverVersion(). The SVN revision of
        the directory is now inserted into the version information
        during the build.
       (Bug#21116)
Specifying a "validation query" in your connection pool that starts with "/* ping */" _exactly_ will cause the driver to instead send a ping to the server and return a fake result set (much lighter weight), and when using a ReplicationConnection or a LoadBalancedConnection, will send the ping across all active connections.


User Comments
Add your own comment.