Functionality added or changed:
The deprecated mysql_fix_privilege_tables script has been removed. (Bug#42589)
        All numeric operators and functions on integer, floating point
        and DECIMAL values now throw an
        “out of range” error
        (ER_DATA_OUT_OF_RANGE) rather
        than returning an incorrect value or NULL,
        when the result is out of the supported range for the
        corresponding data type.
       (Bug#8433)
Bugs fixed:
Partitioning: 
        Partition pruning on RANGE partitioned tables
        did not always work correctly; the last partition partition was
        not excluded if the range was beyond it (when not using
        MAXVALUE).Now the last partition is not
        included if the partitioning function value is not within the
        range.
       (Bug#51830)
Partitioning: 
        Attempting to partition a table using a
        DECIMAL column caused the server
        to crash; this not supported and is now specifically disallowed.
       (Bug#51347)
Partitioning: 
        The insert_id server system
        variable was not reset following an insert that failed on a
        partitioned MyISAM table having an
        AUTO_INCREMENT column.
       (Bug#50392)
Partitioning: 
        Foreign keys are not supported on partitioned tables. However,
        it was possible via an ALTER
        TABLE statement to set a foreign key on a partitioned
        table; it was also possible to partition a table with a single
        foreign key.
       (Bug#50104)
Partitioning: 
        GROUP BY queries performed poorly for some
        partitioned tables. This was due to the block size not being set
        for partitioned tables, thus the keys per block was not correct,
        which could cause such queries to be optimized incorrectly.
       (Bug#48229)
See also Bug#37252.
Replication: 
        The flag stating whether a user value was signed or unsigned
        (unsigned_flag) could sometimes change
        between the time that the user value was recorded for logging
        purposes and the time that the value was actually written to the
        binary log, which could lead to inconsistency. Now
        unsigned_flag is copied when the user
        variable value is copied, and the copy of
        unsigned_flag is then used for logging.
       (Bug#51426)
See also Bug#49562.
Replication: 
        TRUNCATE TABLE performed on a
        temporary table using the InnoDB
        storage engine was logged even when using row-based mode.
       (Bug#51251)
Replication: When using temporary tables the binary log needs to insert a pseudo-thread ID for threads that are using temporary tables, each time a switch happens between two threads, both of which are using temporary tables. However, if a thread issued a failing statement before exit, its ID was not recorded in the binary log, and this in turn caused the ID for the next thread that tried to do something with a temporary table not to be logged as well. Subsequent replays of the binary log failed with the error Table ... doesn't exist. (Bug#51226)
Replication: 
        If the master was using
        sql_mode='TRADITIONAL',
        duplicate key errors were not sent to the slave, which received
        0 rather than the expected error code. This
        caused replication to fail even when such an error was expected.
       (Bug#51055)
        For LDML-defined collations, some data structures were not
        initialized properly to enable
        UPPER() and
        LOWER() to work correctly.
       (Bug#51976)
        Invalid memory reads occurred for
        HANDLER ... READ
        NEXT after a failed
        HANDLER ... READ
        FIRST.
       (Bug#51877)
        The optimizer performed an incorrect join type when
        COALESCE() appeared within an
        IN() operation.
       (Bug#51598)
        With an XA transaction active,
        SET autocommit =
        1 could cause side effects such as memory corruption
        or a server crash.
       (Bug#51342)
        Following a bulk insert into a
        MyISAM table, if
        MyISAM failed to build indexes
        using repair by sort, data file corruption could occur.
       (Bug#51307)
        CHECKSUM TABLE could compute the
        checksum for BIT columns incorrectly.
       (Bug#51304)
        A HAVING clause on a joined table in some
        cases failed to eliminate rows which should have been excluded
        from the result set.
       (Bug#51242)
        Two sessions trying to set the global
        event_scheduler system variable
        to different values could deadlock.
       (Bug#51160)
        The type inference used for view columns caused some columns in
        views to be handled as the wrong type, as compared to the same
        columns in base tables. DATE
        columns in base tables were treated as
        TIME columns in views, and base
        table TIME columns as view
        DATETIME columns.
       (Bug#50918)
        The YEAR values
        2000 and 0000 could be
        treated as equal.
       (Bug#49910)
        Performing a single in-place ALTER
        TABLE containing ADD INDEX and
        DROP INDEX options that used the same index
        name could result in a corrupt table definition file. Now such
        ALTER TABLE statements are no
        longer performed in place.
       (Bug#49838)
        mysql_upgrade did not detect when
        CSV log tables incorrectly
        contained columns that could be NULL. Now
        these columns are altered to be NOT NULL.
       (Bug#49823)
The MERGE engine failed to open a child table from a different database if the child table or database name contained characters that were the subject of table name to filename encoding.
Further, the MERGE engine did not properly open a child table from the same database if the child table name contained characters such as '/', '#'. (Bug#48265)
        The optimization to read MIN() or
        MAX() values from an index did
        not properly handle comparisons with NULL
        values. This could produce incorrect results for
        MIN() or
        MAX()when the
        WHERE clause tested a NOT
        NULL column for NULL.
       (Bug#47762)
Killing a query during the optimization phase of a subquery could cause a server crash. (Bug#47761)
        The query shown by
        EXPLAIN
        EXTENDED plus SHOW
        WARNINGS could produce results different from the
        original query.
       (Bug#47669)
        Setting myisam_repair_threads
        larger than 1 could result in the cardinality for all indexes of
        a MyISAM table being set to 1 after
        parallel index repair.
       (Bug#47444)
        A query on a FEDERATED table in which the
        data was ordered by a TEXT column returned
        incorrect results. For example, a query such as the following
        would result in incorrect results if column
        column1 was a TEXT column:
      
SELECT * FROM table1 ORDER BY column1;

User Comments
Add your own comment.