This is a bugfix release for the current production release family.
This section documents all changes and bug fixes that have been applied since the last official MySQL release. 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.
Functionality added or changed:
In the INFORMATION_SCHEMA.ROUTINES table the
ROUTINE_DEFINITION column now is defined as
NULL rather than NOT NULL.
Also, NULL rather than the empty string is
returned as the column value if the user does not have
sufficient privileges to see the routine definition.
(Bug#20230)
The LEFT() and
RIGHT() functions
return NULL if any argument is
NULL.
(Bug#11728)
The innodb_log_arch_dir system variable
(which has been unused since MySQL 4.0.6) is now deprecated and
should no longer be used. It will be removed in MySQL 5.1.
Program Database files (extension pdf) are
now included by default in Windows distributions. These can be
used to help diagnose problems with mysqld
and other tools. See Section 28.4.1, “Debugging a MySQL Server”.
Bugs fixed:
Security Fix:
If a user has access to MyISAM table
t, that user can create a
MERGE table m that
accesses t. However, if the user's
privileges on t are subsequently
revoked, the user can continue to access
t by doing so through
m. If this behavior is undesirable,
you can start the server with the new
--skip-merge option to disable the
MERGE storage engine.
(Bug#15195, CVE-2006-4031)
MySQL Cluster:
The ndb_size.pl script did not account for
TEXT and BLOB column
values correctly.
(Bug#21204)
MySQL Cluster:
The repeated creating and dropping of a table would eventually
lead to NDB Error 826, Too many
tables and attributes ... Insufficient space.
(Bug#20847)
Under heavy load (executing more than 1024 simultaneous complex queries), a problem in the code that handles internal temporary tables could lead to writing beyond allocated space and memory corruption.
Use of more than 1024 simultaneous cursors server wide also could lead to memory corruption. This applies to both stored procedure cursors and C API cursors. (Bug#21206)
Failure to account for a NULL table pointer
on big-endian machines could cause a server crash during type
conversion.
(Bug#21135)
mysqldump sometimes did not select the correct database before trying to dump views from it, resulting in an empty result set that caused mysqldump to die with a segmentation fault. (Bug#21014)
A SELECT that used a subquery in the
FROM clause that did not select from a table
failed when the subquery was used in a join.
(Bug#21002)
REPLACE ... SELECT for a view required the
INSERT privilege for tables other than the
table being modified.
(Bug#20989)
A race condition during slave server shutdown caused an assert failure. (Bug#20850)
Issuing a SHOW CREATE FUNCTION or
SHOW CREATE PROCEDURE statement without
sufficient privileges could crash the mysql
client.
(Bug#20664)
In a view defined with SQL SECURITY DEFINER,
the CURRENT_USER() function
returned the invoker, not the definer.
(Bug#20570)
With the auto_increment_increment system
variable set larger than 1, if the next generated
AUTO_INCREMENT value would be larger than the
column's maximum value, the value would be clipped down to that
maximum value and inserted, even if the resulting value would
not be in the generated sequence. This could cause problems for
master-master replication. Now the server clips the value down
to the previous value in the sequence, which correctly produces
a duplicate-key error if that value already exists in the
column.
(Bug#20524)
SELECT @@INSERT_ID displayed a value
unrelated to a preceding SET INSERT_ID. (It
was returning LAST_INSERT_ID instead.)
(Bug#20392)
The mysql client did not understand
help commands that had spaces at the end.
(Bug#20328)
mysqldump produced a malformed dump file when dumping multiple databases that contained views. (Bug#20221)
If a table on a slave server had a higher
AUTO_INCREMENT counter than the corresponding
master table (even though all rows of the two tables were
identical), in some cases REPLACE or
INSERT ... ON DUPLICATE KEY UPDATE would not
replicate properly using statement-based logging. (Different
values would be inserted on the master and slave.)
(Bug#20188)
For a DATE parameter sent via a
MYSQL_TIME data structure,
mysql_stmt_execute()
zeroed the hour, minute, and second members of the structure
rather than treating them as read-only.
(Bug#20152)
Performing INSERT ... SELECT ... JOIN ...
USING without qualifying the column names caused
ERROR 1052 "column 'x' in field list is
ambiguous" even in cases where the column
references were unambiguous.
(Bug#18080)
Using the extended syntax for
TRIM() — that is,
TRIM(... FROM ...) — in a
SELECT statement defining a view caused an
invalid syntax error when selecting from the view.
(Bug#17526)
Assignments of values to variables of type
TEXT were handled incorrectly in stored
routines.
(Bug#17225)
DATE_ADD() and
DATE_SUB() returned
NULL when the result date was on the day
'9999-12-31'.
(Bug#12356)
The DATA DIRECTORY table option did not work
for TEMPORARY tables.
(Bug#8706)
Bug#10952 may cause inadvertent data loss. A fix for this bug was included in MySQL 5.0.23, but the approach used caused a loss of intended functionality. Because of this, that fix has been reverted in MySQL 5.0.24. As a consequence, the risk of inadvertent data loss still exists (see Bug#10952).

User Comments
Add your own comment.