MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Karen Langford Date:July 23 2010 1:43pm
Subject:MySQL Community Server 5.1.49 has been released
View as plain text  
Dear MySQL users,

MySQL Community Server 5.1.49, a new version of the popular Open
Source Database Management System, has been released.  MySQL 5.1.49 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.1, please see

For information on installing MySQL 5.1.49 on new servers or upgrading
to MySQL 5.1.49 from previous MySQL releases, please see

MySQL Server is available in source and binary form for a number of
platforms from our download pages at

Not all mirror sites may be up to date at this point in time, so if
you can't find this version on some mirror, please try again later or
choose another download site.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

For information on open issues in MySQL 5.1, please see the errata
list at

The following section lists the changes in the MySQL source code since
the previous released version of MySQL 5.1.  It may also be viewed
online at



C.1.2. Changes in MySQL 5.1.49 (09 July 2010)

    InnoDB Notes:

      * InnoDB Plugin has been upgraded to version 1.0.10. This
        version is considered of General Availability (GA) quality.
        InnoDB Plugin Change History
        html), 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:

      * Replication: When using unique keys on NULL columns in
        row-based replication, the slave sometimes chose the wrong row
        when performing an update. This happened because a table
        having a unique key on such a column could have multiple rows
        containing NULL for the column used by the unique key, and the
        slave merely picked the first row containing NULL in that
        column. (Bug#53893:

      * Replication: FLUSH LOGS could in some circumstances crash the
        server. This occurred because the I/O thread could
        concurrently access the relay log I/O cache while another
        thread was performing the FLUSH LOGS, which closes and reopens
        the relay log and, while doing so, initializes (or
        re-initializes) its I/O cache. This could cause problems if
        some other thread (in this case, the I/O thread) is accessing
        it at the same time.
        Now the thread performing the FLUSH LOGS takes a lock on the
        relay log before actually flushing it.
        See also Bug#50364:

      * Replication: Two related issues involving temporary tables and
        transactions were introduced by a fix made in MySQL 5.1.37:

          1. When a temporary table was created or dropped within a
             transaction, any failed statement that following the
             triggered a rollback, which caused the slave diverge from
             the master.

          2. When a CREATE TEMPORARY TABLE ... SELECT * FROM ...
             statement was executed within a transaction in which only
             tables using transactional storage engines were used and
             the transaction was rolled back at the end, the
             changes---including the creation of the temporary
             table---were not written to the binary log.
        The current fix restores the correct behavior in both of these
        cases. (Bug#53560:
        This regression was introduced by

      * Replication: When CURRENT_USER() or CURRENT_USER was used to
        supply the name and host of the affected user or of the
        definer in any of the statements DROP USER, RENAME USER,
        GRANT, REVOKE, and ALTER EVENT, the reference to
        CURRENT_USER() or CURRENT_USER was not expanded when written
        to the binary log. This resulted in CURRENT_USER() or
        CURRENT_USER being expanded to the user and host of the slave
        SQL thread on the slave, thus breaking replication. Now
        CURRENT_USER() and CURRENT_USER are expanded prior to being
        written to the binary log in such cases, so that the correct
        user and host are referenced on both the master and the slave.

      * An ALTER TABLE statement could convert an InnoDB compressed
        table (with row_format=compressed) back to an uncompressed
        table (with row_format=compact).

      * A signal-handler redefinition for SIGUSR1 was removed. The
        redefinition could cause the server to encounter a kernel
        deadlock on Solaris when there are many active threads. Other
        POSIX platforms might also be affected.

      * InnoDB could issue an incorrect message on startup, if tables
        were created under the setting innodb_file_per_table=ON and
        the server was restarted under the setting
        innodb_file_per_table=OFF. The message was of the form InnoDB:
        Warning: allocated tablespace n, old maximum was 0.

      * The make_binary_distribution target to make could fail on some
        platforms because the lines generated were too long for the
        shell. (Bug#54590:

      * The server failed to disregard sort order for some zero-length
        tuples, leading to an assertion failure.

      * The default value of myisam_max_extra_sort_file_size
        s.html#sysvar_myisam_max_extra_sort_file_size) could be higher
        than the maximum accepted value, leading to warnings upon the
        server start.

      * If a session tried to drop a database containing a table
        opened with HANDLER in another session, any DATABASE statement
        (CREATE, DROP, ALTER) executed by that session produced a
        deadlock. (Bug#54360:

      * Fast index creation could fail, leaving the new secondary
        index corrupted.

      * A client could supply data in chunks to a prepared statement
        parameter other than of type TEXT or BLOB using the
        mysql_stmt_send_long_data() C API function (or
        COM_STMT_SEND_LONG_DATA command). This led to a crash because
        other data types are not valid for long data.

      * Builds of the embedded mysqld would fail due to a missing
        element of the struct NET.

      * The definition of the MY_INIT macro in my_sys.h included an
        extraneous semicolon, which could cause compilation failure.

      * A client with automatic reconnection enabled saw the error
        message Lost connection to MySQL server during query if the
        connection was lost between the mysql_stmt_prepare() and
        mysql_stmt_execute() C API functions. However,
        mysql_stmt_errno() returned 0, not the corresponding error
        number 2013.

      * Queries that used MIN() or MAX() on indexed columns could be
        optimized incorrectly.

      * The Lock_time value in the slow query log was negative for
        stored routines.

      * The results of some ORDER BY ... DESC queries were sorted

      * Index Merge between three indexes could return incorrect
        results. (Bug#50389:

      * Performing large numbers of RENAME TABLE statements caused
        excessive memory use.

      * The server could crash with an out of memory error when trying
        to parse a query that was too long to fit in memory. Now the
        parser rejects such queries with an ER_OUT_OF_RESOURCES error.

      * Sort-index_merge for join tables other than the first table
        used excessive memory.

      * Valgrind warnings in the InnoDB compare_record() function were
        corrected. (Bug#38999:

      * mysqld could fail during execution when using SSL.

      * The behavior of the RPM upgrade installation has changed.
        During an upgrade installation using the RPM packages, if the
        MySQL server is running when the upgrade occurs, the server is
        stopped, the upgrade occurs, and server is restarted. If the
        server is not already running when the RPM upgrade occurs, the
        server is not started at the end of the upgrade. The boot
        scripts for MySQL are installed in the appropriate directories
        in /etc, so the MySQL server will be restarted automatically
        at the next machine reboot.


Karen Langford  MySQL Release Engineer
Database Group, Oracle.

MySQL Community Server 5.1.49 has been releasedKaren Langford23 Jul