This section documents all changes and bugfixes that have been applied since the last MySQL Enterprise Server and MySQL Community Server release (5.0.80). 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.
InnoDB uses random numbers to
generate dives into indexes for calculating index cardinality.
However, under certain conditions, the algorithm did not
generate random numbers, so
TABLE did not update cardinality estimates properly. A
new algorithm has been introduced with better randomization
properties, together with a system variable,
that controls which algorithm to use. The default value of the
variable is 1 (
ON), to use the original
algorithm for compatibility with existing applications. The
variable can be set to 0 (
OFF) to use the new
algorithm with improved randomness.
Restarting the replication slave—either by using
STOP SLAVE plus
START SLAVE, or by restarting the
slave mysqld process—could sometimes
cause the slave to crash when using a debug version of the
Replication: Killing the thread executing a DDL statement, after it had finished its execution but before it had written the binary log event, caused the error code in the binary log event to be set (incorrectly) to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED, which caused replication to fail. (Bug #37145)
References: See also Bug #27571, Bug #22725.
Replication: Column aliases used inside subqueries were ignored in the binary log. (Bug #35515)
References: See also Bug #25705.
myisamchk could display a negative
Max keyfile length value.
mysqld_multi incorrectly passed
On Windows, a server crash occurred for attempts to insert a
floating-point value into a
column with a maximum length less than the converted
floating-point value length.
UNION of floating-point numbers
did unnecessary rounding.
Certain statements might open a table and then wait for an
impending global read lock without noticing whether they hold a
table being waiting for by the global read lock, causing a hang.
Affected statements are
SELECT ... FOR
LOCK TABLES ...
function had a race condition.
Compressing a table with the myisampack utility caused the server to produce Valgrind warnings when it opened the table. (Bug #41541)
MyISAM table with
DELAY_KEY_WRITE enabled, the index file could
be corrupted without the table being marked as crashed if the
server was killed.
did not properly activate triggers.
The functions listed in MySQL-Specific Functions That Create Geometry Values, previously accepted WKB arguments and returned WKB values. They now accept WKB or geometry arguments and return geometry values.
The functions listed in Functions That Create Geometry Values from WKB Values, previously accepted WKB arguments and returned geometry values. They now accept WKB or geometry arguments and return geometry values. (Bug #38990)
For shared-memory connections, the read and write methods did
not properly handle asynchronous close events, which could lead
to the client locking up waiting for a server response. For
example, a call to
mysql_real_query() would block
forever on the client side if the executed statement was aborted
on the server side. Thanks to Armin Schöffmann for the bug
report and patch.
myisamchk and myisampack
were not being linked with the library that enabled support for
* file name pattern expansion.
COMMIT did not delete savepoints
if there were no changes in the transaction.
Several memory allocation functions were not being checked for out-of-memory return values. (Bug #25058)