List:Announcements« Previous MessageNext Message »
From:Karen Langford Date:June 17 2010 3:20pm
Subject:MySQL Community Server 5.1.48 has been released
View as plain text  
Dear MySQL users,

MySQL Community Server 5.1.48, a new version of the popular Open
Source Database Management System, has been released.  MySQL 5.1.48 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.48 on new servers or upgrading
to MySQL 5.1.48 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.1. Changes in MySQL 5.1.48

    Functionality added or changed:

      * The Rows_examined value in slow query log rows now is nonzero
        for UPDATE and DELETE statements that modify rows.

    Bugs fixed:

      * Important Change: Replication: MyISAM transactions replicated
        to a transactional slave left the slave in an unstable
        condition. This was due to the fact that, when replicating
        from a nontransactional storage engine to a transactional
        engine with autocommit turned off, no BEGIN and COMMIT
        statements were written to the binary log; thus, on the slave,
        a never-ending transaction was started.
        The fix for this issue includes enforcing autocommit mode on
        the slave by replicating all autocommit=1 statements from the
        master. (Bug#29288:

      * Partitioning: ALTER TABLE statements that cause table
        partitions to be renamed or dropped (such as ALTER TABLE ...
        ... REORGANIZE PARTITION) --- when run concurrently with
        queries against the INFORMATION_SCHEMA.PARTITIONS table ---
        could fail, cause the affected partitioned tables to become
        unusable, or both. This was due to the fact that the
        INFORMATION_SCHEMA database ignored the name lock imposed by
        the ALTER TABLE statement on the partitions affected. In
        particular, this led to problems with InnoDB tables, because
        InnoDB would accept the rename operation, but put it in a
        background queue, so that subsequent rename operations failed
        when InnoDB was unable to find the correct partition. Now,
        INFORMATION_SCHEMA honors name locks imposed by ongoing ALTER
        TABLE statements that cause partitions to be renamed or
        dropped. (Bug#50561:
        See also Bug#47343:,

      * Partitioning: It was possible to execute a CREATE TEMPORARY
        TABLE tmp LIKE pt statement, where pt is a partitioned table,
        even though partitioned temporary tables are not permitted,
        which caused the server to crash. Now a check is performed to
        prevent such statements from being executed.

      * Partitioning: When attempting to perform DDL on a partitioned
        table and the table's .par file could not be found, the server
        returned the inaccurate error message Out of memory; restart
        server and try again (needed 2 bytes). Now in such cases, the
        server returns the error Failed to initialize partitions from
        .par file. (Bug#49161:

      * Replication: In some cases, attempting to update a column with
        a value of an incompatible type resulted in a mismatch between
        master and slave because the column value was set to its
        implicit default value on the master (as expected), but the
        same column on the slave was set to NULL.

      * Replication: When using a non-transactional table on the
        master with autocommit disabled, no COMMIT was recorded in the
        binary log following a statement affecting this table. If the
        slave's copy of the table used a transactional storage engine,
        the result on the slave was as though a transaction had been
        started, but never completed.
        See also Bug#29288:

      * Replication: Reading from a table that used a self-logging
        storage engine and updating a table that used a transactional
        engine (such as InnoDB) generated changes that were written to
        the binary log using statement format which could make slaves
        diverge. However, when using mixed logging format, such
        changes should be written to the binary log using row format.
        (This issue did not occur when reading from tables using a
        self-logging engine and updating MyISAM tables, as this was
        already handled by checking for combinations of
        non-transactional and transactional engines.) Now such
        statements are classified as unsafe, and in mixed mode, cause
        a switch to row-based logging.

      * Valgrind warnings resulting from passing incomplete DATETIME
        values to the TIMESTAMP() function were corrected.

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

      * UPDATE on an InnoDB table modifying the same index that was
        used to satisfy the WHERE condition could trigger a debug
        assertion under some circumstances.

      * For single-table DELETE statements that used quick select and
        index scan simultaneously caused a server crash or assertion
        failure. (Bug#53450:

      * Incorrect results could be returned for LEFT JOIN of InnoDB
        tables with an impossible WHERE condition.

      * Fixed a checksum error reported for compressed tables when the
        --innodb_checksums option is enabled.

      * Corrected the handling of the setting
        innodb_change_buffering=default. (The appropriate default
        value is different between MySQL 5.1 and 5.5.)

      * mysqldump and SELECT ... INTO OUTFILE truncated long BLOB and
        TEXT values to 766 bytes.

      * In the debug version of the server, the FreeState() function
        could in some circumstances be called twice, leading to an
        assertion failure.

      * Aggregate functions could incorrectly return NULL in outer
        join queries.

      * The Loose Index Scan optimization method assumed that it could
        depend on the partitioning engine to maintain interval
        endpoint information, as if it were a storage engine.

      * Calculation of intervals for Event Scheduler events was not
        portable. (Bug#50087:

      * Selecting from INFORMATION_SCHEMA.ROUTINES or
        resulted in a memory leak.

      * When the transaction isolation level was REPEATABLE READ and
        binary logging used statement or mixed format, SELECT
        statements with subqueries referencing InnoDB tables
        unnecessarily acquired shared locks on rows in these tables.

      * Using an initial command with mysql_options(...,
        MYSQL_INIT_COMMAND, ...) that generated multiple result sets
        (such as a stored procedure or a multi-statement command) left
        the connection unusable.

      * If a crash occurs while creating an index using the InnoDB
        "Fast Index Creation" mechanism, the partially created index
        is dropped during the crash recovery processing when the
        database is restarted.


Karen Langford, Hery Ramilison  MySQL Release Engineers
Database Group, Oracle.

MySQL Community Server 5.1.48 has been releasedKaren Langford17 Jun