From: Joerg Bruehe
Date: March 7 2011 7:44pm
Subject: MySQL Database Server 5.1.56 has been released
List-Archive: http://lists.mysql.com/announce/721
Message-Id: <4D7535AD.4030509@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
Dear MySQL users,
MySQL Server 5.1.56, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.1.56 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.56 on new servers or upgrading
to MySQL 5.1.56 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-56.html
Changes in MySQL 5.1.56 (01 March 2011):
Functionality added or changed:
* mysqldump --xml now displays comments from column definitions.
(Bug #13618)
Bugs fixed:
* InnoDB Storage Engine: InnoDB returned values for
"rows examined" in the query plan that were higher than
expected. NULL values were treated in an inconsistent way. The
inaccurate statistics could trigger "false positives" in
combination with the MAX_JOIN_SIZE setting, because the
queries did not really examine as many rows as reported.
(Bug #30423)
* Partitioning: Trying to use the same column more than once in
the partitioning key when partitioning a table by KEY caused
mysqld to crash. Such duplication of key columns is now
expressly disallowed, and fails with an appropriate error.
(Bug #53354, Bug #57924)
* Replication: When using the statement-based logging format,
INSERT ON DUPLICATE KEY UPDATE and INSERT IGNORE statements
affecting transactional tables that did not fail were not
written to the binary log if they did not insert any rows.
(With statement-based logging, all successful statements
should be logged, whether they do or do not cause any rows to
be changed.) (Bug #59338)
* Replication: Formerly, STOP SLAVE stopped the slave I/O thread
first and then stopped the slave SQL thread; thus, it was
possible for the I/O thread to stop after replicating only
part of a transaction which the SQL thread was executing, in
wich case---if the transaction could not be rolled back
safely---the SQL thread could hang.
Now, STOP SLAVE stops the slave SQL thread first and then
stops the I/O thread; this guarantees that the I/O thread can
fetch any remaining events in the transaction that the SQL
thread is executing, so that the SQL thread can finish the
transaction if it cannot be rolled back safely. (Bug #58546)
* A query of the following form returned an incorrect result,
where the values for col_name in the result set were entirely
replaced with NULL values:
SELECT DISTINCT col_name ... ORDER BY col_name DESC;
(Bug #59308, Bug #11766241)
* DELETE or UPDATE statements could fail if they used DATE or
DATETIME values with a year, month, or day part of zero.
(Bug #59173)
* The ESCAPE clause for the LIKE operator allows only
expressions that evaluate to a constant at execution time, but
aggregrate functions were not being rejected. (Bug #59149)
* Memory leaks detected by Valgrind, some of which could cause
incorrect query results, were corrected. (Bug #59110, Bug
#11766075)
* mysqlslap failed to check for a NULL return from
mysql_store_result() and crashed trying to process the result
set. (Bug #59109)
* In debug builds, SUBSTRING_INDEX(FORMAT(...), FORMAT(...))
could cause a server crash. (Bug #58371)
* When mysqldadmin was run with the --sleep and --count options,
it went into an infinite loop executing the specified command.
(Bug #58221)
* Some string manipulating SQL functions use a shared string
object intended to contain an immutable empty string. This
object was used by the SQL function SUBSTRING_INDEX() to
return an empty string when one argument was of the wrong
datatype. If the string object was then modified by the SQL
function INSERT(), undefined behavior ensued. (Bug #58165, Bug
#11765225)
* Parsing nested regular expressions could lead to recursion
resulting in a stack overflow crash. (Bug #58026, Bug
#11765099)
* The mysql client went into an infinite loop if the standard
input was a directory. (Bug #57450)
* The expression const1 BETWEEN const2 AND field was optimized
incorrectly and produced incorrect results.
(Bug #57030, Bug #11764215)
* Some RPM installation scripts used a hardcoded value for the
data directory, which could result in a failed installation
for users who have a nonstandard data directory location. The
same was true for other configuration values such as the PID
file name. (Bug #56581, Bug #11763817)
* On FreeBSD and OpenBSD, the server incorrectly checked the
range of the system date, causing legal values to be rejected.
(Bug #55755, Bug #11763089)
* When using ExtractValue() or UpdateXML(), if the XML to be
read contained an incomplete XML comment, MySQL read beyond
the end of the XML string when processing, leading to a crash
of the server. (Bug #44332)
Enjoy!
Joerg Bruehe
Senior Release Engineer, MySQL Build Team, Oracle
--
Joerg Bruehe, MySQL Build Team, joerg.bruehe@stripped
ORACLE Deutschland B.V. & Co. KG, Komturstrasse 18a, D-12099 Berlin
Geschaeftsfuehrer: Juergen Kunz, Marcel v.d. Molen, Alexander v.d. Ven
Amtsgericht Muenchen: HRA 95603