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 http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html For information on installing MySQL 5.1.48 on new servers or upgrading to MySQL 5.1.48 from previous MySQL releases, please see http://dev.mysql.com/doc/refman/5.1/en/installing.html MySQL Server is available in source and binary form for a number of platforms from our download pages at http://dev.mysql.com/downloads/ 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.: http://forge.mysql.com/wiki/Contributing For information on open issues in MySQL 5.1, please see the errata list at http://dev.mysql.com/doc/refman/5.1/en/open-bugs.html 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 http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html Enjoy! ======================================================================= 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. (Bug#49756: http://bugs.mysql.com/bug.php?id=49756) 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: http://bugs.mysql.com/bug.php?id=29288) * Partitioning: ALTER TABLE statements that cause table partitions to be renamed or dropped (such as ALTER TABLE ... ADD PARTITION, ALTER TABLE ... DROP PARTITION, and 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: http://bugs.mysql.com/bug.php?id=50561) See also Bug#47343: http://bugs.mysql.com/bug.php?id=47343, Bug#45808: http://bugs.mysql.com/bug.php?id=45808. * 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. (Bug#49477: http://bugs.mysql.com/bug.php?id=49477) * 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: http://bugs.mysql.com/bug.php?id=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. (Bug#52868: http://bugs.mysql.com/bug.php?id=52868) * 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. (Bug#49522: http://bugs.mysql.com/bug.php?id=49522) See also Bug#29288: http://bugs.mysql.com/bug.php?id=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. (Bug#49019: http://bugs.mysql.com/bug.php?id=49019) * Valgrind warnings resulting from passing incomplete DATETIME values to the TIMESTAMP() function were corrected. (Bug#53942: http://bugs.mysql.com/bug.php?id=53942) * Builds of the embedded mysqld would fail due to a missing element of the struct NET. (Bug#53908: http://bugs.mysql.com/bug.php?id=53908, Bug#53912: http://bugs.mysql.com/bug.php?id=53912) * 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. (Bug#53830: http://bugs.mysql.com/bug.php?id=53830) * For single-table DELETE statements that used quick select and index scan simultaneously caused a server crash or assertion failure. (Bug#53450: http://bugs.mysql.com/bug.php?id=53450) * Incorrect results could be returned for LEFT JOIN of InnoDB tables with an impossible WHERE condition. (Bug#53334: http://bugs.mysql.com/bug.php?id=53334) * Fixed a checksum error reported for compressed tables when the --innodb_checksums option is enabled. (Bug#53248: http://bugs.mysql.com/bug.php?id=53248) * Corrected the handling of the setting innodb_change_buffering=default. (The appropriate default value is different between MySQL 5.1 and 5.5.) (Bug#53165: http://bugs.mysql.com/bug.php?id=53165) * mysqldump and SELECT ... INTO OUTFILE truncated long BLOB and TEXT values to 766 bytes. (Bug#53088: http://bugs.mysql.com/bug.php?id=53088) * In the debug version of the server, the FreeState() function could in some circumstances be called twice, leading to an assertion failure. (Bug#52884: http://bugs.mysql.com/bug.php?id=52884) * Aggregate functions could incorrectly return NULL in outer join queries. (Bug#52051: http://bugs.mysql.com/bug.php?id=52051) * 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. (Bug#50939: http://bugs.mysql.com/bug.php?id=50939) * Calculation of intervals for Event Scheduler events was not portable. (Bug#50087: http://bugs.mysql.com/bug.php?id=50087) * Selecting from INFORMATION_SCHEMA.ROUTINES or INFORMATION_SCHEMA.PARAMETERS (http://dev.mysql.com/doc/refman/5.5/en/parameters-table.html) resulted in a memory leak. (Bug#48729: http://bugs.mysql.com/bug.php?id=48729) * 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. (Bug#46947: http://bugs.mysql.com/bug.php?id=46947) * 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. (Bug#42373: http://bugs.mysql.com/bug.php?id=42373) * 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. Thanks, MySQL RE Team Karen Langford, Hery Ramilison MySQL Release Engineers Database Group, Oracle. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org