Bugs fixed:
        Use 1MB packet for sending file for
        LOAD DATA LOCAL
        INFILE if that is <
        max_allowed_packet on server.
       (Bug#6537)
        SUM() on
        DECIMAL with server-side prepared
        statement ignores scale if zero-padding is needed (this ends up
        being due to conversion to DOUBLE
        by server, which when converted to a string to parse into
        BigDecimal, loses all “padding”
        zeros).
       (Bug#6537)
        Use
        DatabaseMetaData.getIdentifierQuoteString()
        when building DBMD queries.
       (Bug#6537)
        Use our own implementation of buffered input streams to get
        around blocking behavior of
        java.io.BufferedInputStream. Disable this
        with useReadAheadInput=false.
       (Bug#6399)
        Make auto-deserialization of
        java.lang.Objects stored in
        BLOB columns configurable via
        autoDeserialize property (defaults to
        false).
       (Bug#6399)
        ResultSetMetaData.getColumnDisplaySize()
        returns incorrect values for multi-byte charsets.
       (Bug#6399)
        Re-work Field.isOpaqueBinary() to detect
        CHAR( to support fixed-length binary fields for
        n) CHARACTER SET
        BINARYResultSet.getObject().
       (Bug#6399)
        Failing to connect to the server when one of the addresses for
        the given host name is IPV6 (which the server does not yet bind
        on). The driver now loops through all IP
        addresses for a given host, and stops on the first one that
        accepts() a
        socket.connect().
       (Bug#6348)
        Removed unwanted new Throwable() in
        ResultSet constructor due to bad merge
        (caused a new object instance that was never used for every
        result set created). Found while profiling for Bug#6359.
       (Bug#6225)
        ServerSidePreparedStatement allocating
        short-lived objects unnecessarily.
       (Bug#6225)
Use null-safe-equals for key comparisons in updatable result sets. (Bug#6225)
        Fixed too-early creation of StringBuffer in
        EscapeProcessor.escapeSQL(), also return
        String when escaping not needed (to avoid
        unnecessary object allocations). Found while profiling for Bug#6359.
       (Bug#6225)
        UNSIGNED BIGINT unpacked incorrectly from
        server-side prepared statement result sets.
       (Bug#5729)
        Added experimental configuration property
        dontUnpackBinaryResults, which delays
        unpacking binary result set values until they're asked for, and
        only creates object instances for nonnumerical values (it is set
        to false by default). For some usecase/jvm
        combinations, this is friendlier on the garbage collector.
       (Bug#5706)
        Don't throw exceptions for
        Connection.releaseSavepoint().
       (Bug#5706)
        Inefficient detection of pre-existing string instances in
        ResultSet.getNativeString().
       (Bug#5706)
        Use a per-session Calendar instance by
        default when decoding dates from
        ServerPreparedStatements (set to old, less
        performant behavior by setting property
        dynamicCalendars=true).
       (Bug#5706)
Fixed batched updates with server prepared statements weren't looking if the types had changed for a given batched set of parameters compared to the previous set, causing the server to return the error “Wrong arguments to mysql_stmt_execute()”. (Bug#5235)
        Handle case when string representation of timestamp contains
        trailing “.” with no numbers
        following it.
       (Bug#5235)
        Server-side prepared statements did not honor
        zeroDateTimeBehavior property, and would
        cause class-cast exceptions when using
        ResultSet.getObject(), as the all-zero string
        was always returned.
       (Bug#5235)
        Fix comparisons made between string constants and dynamic
        strings that are converted with either
        toUpperCase() or
        toLowerCase() to use
        Locale.ENGLISH, as some locales
        “override” case rules for English. Also use
        StringUtils.indexOfIgnoreCase() instead of
        .toUpperCase().indexOf(), avoids creating a
        very short-lived transient String instance.
      


User Comments
Add your own comment.