Bugs fixed:
        The configuration property sessionVariables
        now allows you to specify variables that start with the
        “@” sign.
       (Bug#13453)
        URL configuration parameters don't allow
        “&” or
        “=” in their values. The JDBC
        driver now parses configuration parameters as if they are
        encoded using the application/x-www-form-urlencoded format as
        specified by java.net.URLDecoder
        (http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLDecoder.html).
      
        If the “%” character is present
        in a configuration property, it must now be represented as
        %25, which is the encoded form of
        “%” when using
        application/x-www-form-urlencoded encoding.
       (Bug#13453)
        Workaround for Bug#13374:
        ResultSet.getStatement() on closed result set
        returns NULL (as per JDBC 4.0 spec, but not
        backward-compatible). Set the connection property
        retainStatementAfterResultSetClose to
        true to be able to retrieve a
        ResultSet's statement after the
        ResultSet has been closed via
        .getStatement() (the default is
        false, to be JDBC-compliant and to reduce the
        chance that code using JDBC leaks Statement
        instances).
       (Bug#13277)
        ResultSetMetaData from
        Statement.getGeneratedKeys() caused a
        NullPointerException to be thrown whenever a
        method that required a connection reference was called.
       (Bug#13277)
        Backport of VAR[BINARY|CHAR] [BINARY] types
        detection from 5.0 branch.
       (Bug#13277)
        Fixed NullPointerException when converting
        catalog parameter in many
        DatabaseMetaDataMethods to
        byte[]s (for the result set) when the
        parameter is null. (null
        isn't technically allowed by the JDBC specification, but we've
        historically allowed it).
       (Bug#13277)
        Backport of Field class,
        ResultSetMetaData.getColumnClassName(), and
        ResultSet.getObject(int) changes from 5.0
        branch to fix behavior surrounding VARCHAR
        BINARY/VARBINARY and
        related types.
       (Bug#13277)
        Read response in MysqlIO.sendFileToServer(),
        even if the local file can't be opened, otherwise next query
        issued will fail, because it is reading the response to the
        empty LOAD DATA
        INFILE packet sent to the server.
       (Bug#13277)
        When gatherPerfMetrics is enabled for servers
        older than 4.1.0, a NullPointerException is
        thrown from the constructor of ResultSet if
        the query doesn't use any tables.
       (Bug#13043)
        java.sql.Types.OTHER returned for
        BINARY and
        VARBINARY columns when using
        DatabaseMetaData.getColumns().
       (Bug#12970)
        ServerPreparedStatement.getBinding() now
        checks if the statement is closed before attempting to reference
        the list of parameter bindings, to avoid throwing a
        NullPointerException.
       (Bug#12970)
        Tokenizer for = in URL properties was causing
        sessionVariables=.... to be parameterized
        incorrectly.
       (Bug#12753)
        cp1251 incorrectly mapped to
        win1251 for servers newer than 4.0.x.
       (Bug#12752)
        getExportedKeys()
       (Bug#12541)
Specifying a catalog works as stated in the API docs. (Bug#12541)
        Specifying NULL means that catalog will not
        be used to filter the results (thus all databases will be
        searched), unless you've set
        nullCatalogMeansCurrent=true in your JDBC URL
        properties.
       (Bug#12541)
        getIndexInfo()
       (Bug#12541)
        getProcedures() (and thus indirectly
        getProcedureColumns())
       (Bug#12541)
        getImportedKeys()
       (Bug#12541)
        Specifying "" means “current”
        catalog, even though this isn't quite JDBC spec compliant, it is
        there for legacy users.
       (Bug#12541)
        getCrossReference()
       (Bug#12541)
        Added Connection.isMasterConnection() for
        clients to be able to determine if a multi-host master/slave
        connection is connected to the first host in the list.
       (Bug#12541)
        getColumns()
       (Bug#12541)
        Handling of catalog argument in
        DatabaseMetaData.getIndexInfo(), which also
        means changes to the following methods in
        DatabaseMetaData:
      
            getBestRowIdentifier()
          
            getColumns()
          
            getCrossReference()
          
            getExportedKeys()
          
            getImportedKeys()
          
            getIndexInfo()
          
            getPrimaryKeys()
          
            getProcedures() (and thus indirectly
            getProcedureColumns())
          
            getTables()
          
        The catalog argument in all of these methods
        now behaves in the following way:
      
            Specifying NULL means that catalog will
            not be used to filter the results (thus all databases will
            be searched), unless you've set
            nullCatalogMeansCurrent=true in your JDBC
            URL properties.
          
            Specifying "" means
            “current” catalog, even though this isn't quite
            JDBC spec compliant, it is there for legacy users.
          
Specifying a catalog works as stated in the API docs.
            Made Connection.clientPrepare() available
            from “wrapped” connections in the
            jdbc2.optional package (connections built
            by ConnectionPoolDataSource instances).
          
        getBestRowIdentifier()
       (Bug#12541)
        Made Connection.clientPrepare() available
        from “wrapped” connections in the
        jdbc2.optional package (connections built by
        ConnectionPoolDataSource instances).
       (Bug#12541)
        getTables()
       (Bug#12541)
        getPrimaryKeys()
       (Bug#12541)
        Connection.prepareCall() is database name
        case-sensitive (on Windows systems).
       (Bug#12417)
        explainSlowQueries hangs with server-side
        prepared statements.
       (Bug#12229)
Properties shared between master and slave with replication connection. (Bug#12218)
Geometry types not handled with server-side prepared statements. (Bug#12104)
        maxPerformance.properties mis-spells
        “elideSetAutoCommits”.
       (Bug#11976)
        ReplicationConnection won't switch to slave,
        throws “Catalog can't be null” exception.
       (Bug#11879)
        Pstmt.setObject(...., Types.BOOLEAN) throws
        exception.
       (Bug#11798)
Escape tokenizer doesn't respect stacked single quotes for escapes. (Bug#11797)
        GEOMETRY type not recognized when using
        server-side prepared statements.
       (Bug#11797)
        Foreign key information that is quoted is parsed incorrectly
        when DatabaseMetaData methods use that
        information.
       (Bug#11781)
        The sendBlobChunkSize property is now clamped
        to max_allowed_packet with
        consideration of stream buffer size and packet headers to avoid
        PacketTooBigExceptions when
        max_allowed_packet is similar
        in size to the default sendBlobChunkSize
        which is 1M.
       (Bug#11781)
        CallableStatement.clearParameters() now
        clears resources associated with
        INOUT/OUTPUT parameters as
        well as INPUT parameters.
       (Bug#11781)
Fixed regression caused by fix for Bug#11552 that caused driver to return incorrect values for unsigned integers when those integers where within the range of the positive signed type. (Bug#11663)
Moved source code to Subversion repository. (Bug#11663)
Incorrect generation of testcase scripts for server-side prepared statements. (Bug#11663)
        Fixed statements generated for testcases missing
        ; for “plain” statements.
       (Bug#11629)
        Spurious ! on console when character encoding
        is utf8.
       (Bug#11629)
        StringUtils.getBytes() doesn't work when
        using multi-byte character encodings and a length in
        characters is specified.
       (Bug#11614)
        DBMD.storesLower/Mixed/UpperIdentifiers()
        reports incorrect values for servers deployed on Windows.
       (Bug#11575)
        Reworked Field class,
        *Buffer, and MysqlIO to be
        aware of field lengths >
        Integer.MAX_VALUE.
       (Bug#11498)
Escape processor didn't honor strings demarcated with double quotes. (Bug#11498)
        Updated DBMD.supportsCorrelatedQueries() to
        return true for versions > 4.1,
        supportsGroupByUnrelated() to return
        true and
        getResultSetHoldability() to return
        HOLD_CURSORS_OVER_COMMIT.
       (Bug#11498)
        Lifted restriction of changing streaming parameters with
        server-side prepared statements. As long as
        all streaming parameters were set before
        execution, .clearParameters() does not have
        to be called. (due to limitation of client/server protocol,
        prepared statements can not reset
        individual stream data on the server side).
       (Bug#11498)
        ResultSet.moveToCurrentRow() fails to work
        when preceded by a call to
        ResultSet.moveToInsertRow().
       (Bug#11190)
        VARBINARY data corrupted when
        using server-side prepared statements and
        .setBytes().
       (Bug#11115)
        Statement.getWarnings() fails with NPE if
        statement has been closed.
       (Bug#10630)
        Only get char[] from SQL in
        PreparedStatement.ParseInfo() when needed.
       (Bug#10630)


User Comments
Add your own comment.