Dear MySQL users,
MySQL Community Server 5.1.52, a new version of the popular Open
Source Database Management System, has been released. MySQL 5.1.52 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.52 on new servers or upgrading
to MySQL 5.1.52 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,
For information on open issues in MySQL 5.1, please see the errata
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
C.1.1. Changes in MySQL 5.1.52 (11 October 2010)
* InnoDB Storage Engine: InnoDB incorrectly reported an error
when a cascading foreign key constraint deleted more than 250
rows. (Bug#57255: http://bugs.mysql.com/bug.php?id=57255)
* InnoDB Storage Engine: A SELECT ... FOR UPDATE statement
affecting a range of rows in an InnoDB table could cause a
crash in the debug version of the server.
* InnoDB Storage Engine: Improved the performance of UPDATE
operations on InnoDB tables, when only non-indexed columns are
changed. (Bug#56340: http://bugs.mysql.com/bug.php?id=56340)
* InnoDB Storage Engine: The server could crash on shutdown, if
started with --innodb-use-system-malloc=0.
* InnoDB Storage Engine: Setting the PACK_KEYS=0 table option
for an InnoDB table prevented new indexes from being added to
the table. (Bug#54606: http://bugs.mysql.com/bug.php?id=54606)
* InnoDB Storage Engine: Changed the locking mechanism for the
InnoDB data dictionary during ROLLBACK operations, to improve
concurrency for REPLACE statements.
* InnoDB Storage Engine: InnoDB transactions could be
incorrectly committed during recovery, rather than rolled
back, if the server crashed and was restarted after performing
ALTER TABLE...ADD PRIMARY KEY on an InnoDB table, or some
other operation that involves copying the entire table.
* Partitioning: Replication: Attempting to execute LOAD DATA on
a partitioned MyISAM table while using statement-based logging
mode caused the master to hang or crash.
* Partitioning: Multi-table UPDATE statements involving a
partitioned MyISAM table could cause this table to become
corrupted. Not all tables affected by the UPDATE needed to be
partitioned for this issue to be observed.
* Partitioning: EXPLAIN PARTITIONS returned bad estimates for
range queries on partitioned MyISAM tables. In addition,
values in the rows column of EXPLAIN PARTITIONS output did not
take partition pruning into account.
* Replication: Backticks used to enclose identifiers for
savepoints were not preserved in the binary log, which could
lead to replication failure when the identifier, stripped of
backticks, could be misinterpreted, causing a syntax or other
This could cause problems with MySQL application programs
making use of generated savepoint IDs. If, for instance,
java.sql.Connection.setSavepoint() is called without any
parameters, Connector/J automatically generates a savepoint
identifier consisting of a string of hexadecimal digits 0-F
encased in backtick (`) characters. If such an ID took the
form `NeN` (where N represents a string of the decimal digits
0-9, and e is a literal uppercase or lowercase "E" character).
Removing the backticks when writing the identifier into the
binary log left behind a substring which the slave MySQL
server tried to interpret as a floating point number, rather
than as an identifier. The resulting syntax error caused loss
See also Bug#55962: http://bugs.mysql.com/bug.php?id=55962.
* If a query specified a DATE or DATETIME value in a format
different from 'YYYY-MM-DD HH:MM:SS', a greater-than-or-equal
(>=) condition matched only greater-than values in an indexed
* If there was an active SELECT statement, an error arising
during trigger execution could cause a server crash.
* With an UPDATE IGNORE statement including a subquery that was
evaluated using a temporary table, an error transferring the
data from the temporary was ignored, causing an assertion to
be raised. (Bug#54543: http://bugs.mysql.com/bug.php?id=54543)
* Row subqueries producing no rows were not handled as UNKNOWN
values in row comparison expressions.
* In some cases, when the left part of a NOT IN subquery
predicate was a row and contained NULL values, the query
result was incorrect.
* For some queries, the optimizer produced incorrect results
using the Index Merge access method with InnoDB tables.
* EXPLAIN produced an incorrect rows value for queries evaluated
using an index scan and that included LIMIT, GROUP BY, and
ORDER BY on a computed column.
* mysql_store_result() and mysql_use_result() are not for use
with prepared statements and are not intended to be called
following mysql_stmt_execute(), but failed to return an error
when invoked that way.
* A malformed packet sent by the server when the query cache was
in use resulted in lost-connection errors.
* CREATE TABLE failed if a column referred to in an index
definition and foreign key definition was in different
lettercases in the two definitions.
MySQL RE Team
Karen Langford MySQL Release Engineer
Database Group, Oracle.
|• MySQL Community Server 5.1.52 has been released||Karen Langford||2 Nov|