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 .pdb
) are
now included by default in Windows distributions. These can be
used to help diagnose problems with mysqld
and other tools. See Section 21.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)
Replication: A race condition during slave server shutdown caused an assert failure. (Bug#20850)
Replication:
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)
Replication:
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)
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)
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)
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)
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.