InnoDB Plugin Notes:
        InnoDB Plugin has been upgraded to version
        1.0.7. This version is considered of General Availability (GA)
        quality. The
        InnoDB
        Plugin Change History may contain information
        in addition to those changes reported here.
      
        In this release, the InnoDB Plugin is
        included in source and binary distributions, except RHEL3,
        RHEL4, SuSE 9 (x86, x86_64, ia64), and generic Linux RPM
        packages. It also does not work for FreeBSD 6 and HP-UX or for
        Linux on generic ia64.
      
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: 
        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: 
        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)
Replication: 
        When run with the --database
        option, mysqlbinlog printed
        ROLLBACK
        statements but did not print any corresponding
        SAVEPOINT statements.
       (Bug#50407)
Replication: 
        CREATE EVENT statements were
        padded with “garbage” characters when written to
        the binary log, which caused a syntax error when trying to read
        back from the log.
       (Bug#50095)
Replication: 
        Column length information generated by
        InnoDB did not match that generated
        by MyISAM, which caused invalid
        metadata to be written to the binary log when trying to
        replicate BIT columns.
       (Bug#49618)
Replication: 
        The value of Slave_IO_running in the output
        of SHOW SLAVE STATUS did not
        distinguish between all 3 possible states of the slave I/O
        thread (not running; running but not connected; connected). Now
        the value Connecting (rather than
        No) is shown when the slave I/O thread is
        running but the slave is not connected to a replication master.
      
        The server system variable Slave_running also
        reflects this change, and is now consistent with what is shown
        for Slave_IO_running.
       (Bug#30703, Bug#41613, Bug#51089)
        For InnoDB Plugin, bit fields were causing
        problems with concurrency on SMP systems because of word-packing
        issues.
       (Bug#52360)
        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)
        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)
        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)
        If a stored function contained a
        RETURN statement with an
        ENUM value in the ucs2
        character set, SHOW CREATE
        FUNCTION and SELECT DTD_IDENTIFIER FROM
        INFORMATION_SCHEMA.ROUTINES returned incorrect values.
       (Bug#48766)
        A query that read from a derived table (of the form
        SELECT ... FROM (SELECT ...)) produced
        incorrect results when the following conditions were present:
        
              The table subquery contained a derived query
              ((SELECT ... ) AS
              ).
            column
              The derived query could potentially produce zero rows or a
              single NULL (that is, no rows matched,
              or the query used an aggregate function such as
              SUM() running over zero
              rows).
            
The table subquery joined at least two tables.
The join condition involved an index.
        The query shown by
        EXPLAIN
        EXTENDED plus SHOW
        WARNINGS could produce results different from the
        original query.
       (Bug#47669)
        SHOW CREATE VIEW returned invalid
        SQL if the definition contained a
        SELECT
        ' statement
        where the string'string was longer than the
        maximum length of a column name, due to the fact that this text
        was also used as an alias (in the AS clause).
      
        Because not all names retrieved from arbitrary
        SELECT statements can be used as
        view column names due to length and format restrictions, the
        server now checks the conformity of automatically generated
        column names and rewrites according to a predefined format any
        names that are not acceptable as view column names before
        storing the final view definition on disk.
      
        In such cases, the name is now rewritten as
        Name_exp_,
        where pospos is the position of the
        column. To avoid this conversion scheme, define explicit, valid
        names for view columns using the
        column_list clause of the
        CREATE VIEW statement.
      
As part of this fix, aliases are now generated only for top-level statements. (Bug#40277)
mysqlbinlog had a memory leak in its option-processing code. (Bug#38468)


User Comments
Add your own comment.