This is a Monthly Rapid Update release of the MySQL Enterprise Server 5.0.
This section documents all changes and bugfixes that have been applied since the last MySQL Enterprise Server release (5.0.48). 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.
Functionality Added or Changed
The parser accepted statements that contained
*/ that were not properly closed with
*/, such as
SELECT 1 /* +
2. Statements that contain unclosed
/*-comments now are rejected with a syntax
This fix has the potential to cause incompatibilities. Because
of Bug #26302, which caused the trailing
to be truncated from comments in views, stored routines,
triggers, and events, it is possible that objects of those types
may have been stored with definitions that now will be rejected
as syntactically invalid. Such objects should be dropped and
re-created so that their definitions do not contain truncated
comments. If a stored object definition contains only a single
statement (does not use a
END block) and contains a comment within the
statement, the comment should be moved to follow the statement
or the object should be rewritten to use a
END block. For example, this statement:
CREATE PROCEDURE p() SELECT 1 /* my comment */ ;
Can be rewritten in either of these ways:
CREATE PROCEDURE p() SELECT 1; /* my comment */ CREATE PROCEDURE p() BEGIN SELECT 1 /* my comment */ ; END;
NDB error codes to MySQL
storage engine error codes has been improved.
MySQL Cluster: The output from the cluster management client showing the progress of data node starts has been improved. (Bug #23354)
Server parser performance was improved for expression parsing by lowering the number of state transitions and reductions needed. (Bug #30625)
Server parser performance was improved for boolean expressions. (Bug #30237)
SHOW COLUMNS now returns
NULL instead of the empty string for the
Default value of columns that have no
DEFAULT clause specified.
mysqld.exe was mistakenly included
in binary distributions between MySQL 5.0.42 and 5.0.48. You
containing ambiguous aliases could have unintended side effects
such as deleting rows from the wrong table. Example:
DELETE FROM t1 AS a2 USING t1 AS a1 INNER JOIN t2 AS a2;
This fix enables aliases to be declared only in the
table_references part. Elsewhere in
the statement, alias references are permitted but not alias
declarations. However, this patch was reverted in MySQL 5.0.54
because it changed the behavior of a General Availability MySQL
References: See also Bug #27525.
MySQL Cluster; Packaging:
Some commercial MySQL Cluster RPM packages included support for
InnoDB storage engine.
InnoDB is not part of the standard
commercial MySQL Cluster offering.)
MySQL Cluster: Attempting to restore a backup made on a cluster host using one endian to a machine using the other endian could cause the cluster to fail. (Bug #29674)
BLOB columns were not
locked when they needed to be to guarantee consistency.
References: See also Bug #31482.
A query using joins between several large tables and requiring
unique index lookups failed to complete, eventually returning
Unknown Error after a very long period of
time. This occurred due to inadequate handling of instances
where the Transaction Coordinator ran out of
when the cluster should have returned NDB error code 4012
(Request ndbd time-out).
The description of the
An invalid subselect on an
table could cause mysqld to crash.
An attempt to perform a
SELECT ... FROM
INFORMATION_SCHEMA.TABLES whose result included
NDB tables for
which the user had no privileges crashed the MySQL Server on
which the query was performed.
TIMESTAMP with a nonzero
time part was converted to a
value, no warning was generated. This caused index lookups to
assume that this is a valid conversion and was returning rows
that match a comparison between a
TIMESTAMP value and a
DATE keypart. Now a warning is
generated so that
a nonzero time part will not match
A server crash could occur when a
DETERMINISTIC stored function was used in
GROUP BY clause.
InnoDB table if a
SELECT was ordered by the primary
key and also had a
WHERE field = value clause
on a different field that was indexed, a
order instruction would be ignored.
HANDLER ... READ operation could
leave the table in a locked state.
The optimization that uses a unique index to remove
GROUP BY did not ensure that the index was
actually used, thus violating the
that is implied by
SHOW STATUS LIKE 'Ssl_cipher_list' from a
MySQL client connected using SSL returned an empty string rather
than a list of available ciphers.
DELETE statement having
ORDER BY clause and a
LIMIT clause could cause
mysqld to crash.
variable value can be computed accurately only for simple
“flat” queries, not complex queries such as those
with subqueries or
However, the value was not consistently being set to 0 for
Queries that had a
GROUP BY clause and
Short-format mysql commands embedded within
/*! ... */ comments were parsed incorrectly
by mysql, which discarded the rest of the
comment including the terminating
characters. The result was a malformed (unclosed) comment. Now
mysql does not discard the
When mysqldump wrote
DROP DATABASE statements within
version-specific comments, it included the terminating semicolon
in the wrong place, causing following statements to fail when
the dump file was reloaded.
Killing an SSL connection on platforms where MySQL is compiled
-DSIGNAL_WITH_VIO_CLOSE (Windows, Mac OS
X, and some others) could crash the server.
mysql_upgrade could run binaries dynamically linked against incorrect versions of shared libraries. (Bug #28560)
With recent versions of DBD::mysql, mysqlhotcopy generated table names that were doubly qualified with the database name. (Bug #27694)
TABLE a AS SELECT * FROM A failed.
Under heavy load with a large query cache, invalidating part of the cache could cause the server to freeze (that is, to be unable to service other operations until the invalidation was complete). (Bug #21074)
References: See also Bug #39253.
Worked around an icc problem with an incorrect machine instruction being generated in the context of software pre-fetching after a subroutine got in-lined. (Upgrading to icc 10.0.026 makes the workaround unnecessary.) (Bug #20803)