This section documents all changes and bugfixes that have been applied since the last MySQL Enterprise Server and MySQL Community Server release (5.0.87). If you would like to receive more fine-grained and personalized update alerts about fixes that are relevant to the version and features you use, please consider subscribing to MySQL Enterprise (a commercial MySQL offering). For more details please see http://www.mysql.com/products/enterprise/advisors.html.
Security Fix: MySQL clients linked against OpenSSL could be tricked not to check server certificates. (Bug #47320, CVE-2009-4028)
MySQL Cluster: When a data node had written its GCI marker to the first page of a megabyte, and that node was later killed during restart after having processed that page (marker) but before completing a LCP, the data node could fail with file system errors. (Bug #44952)
References: See also Bug #42564, Bug #44291.
Replication: When a session was closed on the master, temporary tables belonging to that session were logged with the wrong database names when either of the following conditions was true:
The length of the name of the database to which the temporary table belonged was greater than the length of the current database name.
The current database was not set.
References: See also Bug #46861, Bug #48297.
A query containing a view using temporary tables and multiple
tables in the
FROM clause and
PROCEDURE ANALYSE() caused a server crash.
As a result of this bug fix,
ANALYSE() is legal only in a top-level
References: See also Bug #46184.
An assertion could fail if the optimizer used a
(Bug #48258, Bug #47019)
A combination of
GROUP BY WITH ROLLUP,
DISTINCT and the
const join type in a query
caused a server crash when the optimizer used a temporary table
mysys/mf_keycache.c requires threading, but
no test was made for thread support.
If the first argument to
GeomFromWKB() function was a
geometry value, the function just returned its value. However,
it failed to preserve the argument's
null_value flag, which caused an unexpected
NULL value to be returned to the caller,
resulting in a server crash.
The GPL and commercial license headers had different sizes, so that error log, backtrace, core dump, and cluster trace file line numbers could be off by one if they were not checked against the version of the source used for the build. (For example, checking a GPL build backtrace against commercial sources.) (Bug #46216)
During the build of the Red Hat IA64 MySQL server RPM, the system library link order was incorrect. This made the resulting Red Hat IA64 RPM depend on "libc.so.6.1(GLIBC_PRIVATE)(64bit)", thus preventing installation of the package. (Bug #45706)
Failure to treat
BIT values as
unsigned could lead to unpredictable results.
Some queries with nested outer joins could lead to crashes or incorrect results because an internal data structure was handled improperly. (Bug #42116)
In a replication scenario with
enabled on the slave, where rows were changed only on the slave
(not through replication), in some rare cases, many messages of
the following form were written to the slave error log:
InnoDB: Error: unlock row could not find a 4 mode lock
on the record.
A stub of the previously removed
mysql_odbc_escape_string() function was
restored to fix a ABI breakage. The function was intended to be
private and used only by Connector/ODBC, but, unfortunately, it
was exported as part of the ABI. Nonetheless, only a stub is
restored as the original function is inherently broken and
should not be used.
References: See also Bug #29592.
After renaming a user, granting that user privileges could result in the user having privileges additional to those granted. (Bug #41597)
In some cases, the server did not recognize lettercase
attributes such as table name or user name. For example, a user
was able to perform operations on a table with privileges of
another user with the same user name but in a different
In consequence of this bug fix, the collation for the
Routine_name column of the
mysql.proc table is changed from
References: See also Bug #48872.