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.78). 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:
Performance:
The query cache now checks whether a
SELECT
statement begins with
SQL_NO_CACHE
to determine whether it can skip
checking for the query result in the query cache. This is not
supported when SQL_NO_CACHE
occurs within a
comment.
(Bug#37416)
The libedit
library was upgraded to version
2.11.
(Bug#42433)
Bugs fixed:
Performance:
For an InnoDB
table,
DROP TABLE
or
ALTER TABLE ...
DISCARD TABLESPACE
could take a long time or cause a
server crash.
(Bug#39939)
Replication: Server IDs greater than 2147483647 (232 – 1) were represented by negative numbers in the binary log. (Bug#37313)
Replication:
The
--replicate-
options were not evaluated correctly when replicating
multi-table updates.
*
-table
As a result of this fix, replication of multi-table updates no longer fails when an update references a missing table but does not update any of its columns. (Bug#37051)
Replication:
When its disk becomes full, a replication slave may wait while
writing the binary log, relay log or
MyISAM
tables, continuing after
space has been made available. The error message provided in
such cases was not clear about the frequency with which checking
for free space is done (once every 60 seconds), and how long the
server waits after space has been freed before continuing (also
60 seconds); this caused users to think that the server had
hung.
These issues have been addressed by making the error message clearer, and dividing it into two separate messages:
The error message Disk is full writing
'filename
' (Errcode:
error_code
). Waiting for someone
to free space... (Expect up to 60 secs delay for server to
continue after freeing disk space) is printed
only once.
The warning Retry in 60 secs, Message reprinted in 600 secs is printed once every for every 10 times that the check for free space is made; that is, the check is performed once each 60 seconds, but the reminder that space needs to be freed is printed only once every 10 minutes (600 seconds).
On 32-bit Windows, mysqld could not use large buffers due to a 2GB user mode address limit. (Bug#43082)
The use by libedit
of the
__weak_reference()
macro caused compilation
failure on FreeBSD.
(Bug#42817)
Tables could enter open table cache for a thread without being properly cleaned up, leading to a server crash. (Bug#42419)
mysqldumpslow parsed the
--debug
and
--verbose
options
incorrectly.
(Bug#42027)
String reallocation could cause memory overruns. (Bug#41868)
Queries that used the loose index scan access method could return no rows. (Bug#41610)
In InnoDB
recovery after a server crash,
rollback of a transaction that updated a column from
NULL
to NULL
could cause
another crash.
(Bug#41571)
If InnoDB
reached its limit on the number of
concurrent transactions (1023), it wrote a descriptive message
to the error log but returned a misleading error message to the
client, or an assertion failure occurred.
(Bug#41529)
Use of SELECT *
allowed users with rights to
only some columns of a view to access all columns.
(Bug#41354)
The server did not robustly handle problems hang if a table
opened with HANDLER
needed to be
re-opened because it had been altered to use a different storage
engine that does not support
HANDLER
. The server also failed
to set an error if the re-open attempt failed. These problems
could cause the server to crash or hang.
(Bug#41110, Bug#41112)
For prepared statements, multibyte character sets were not
taking into account when calculating
max_length
for string values and
mysql_stmt_fetch()
could return
truncated strings.
(Bug#41078)
The mysql_change_user()
C API
function changed the value of the
sql_big_selects
session
variable.
(Bug#40363)
See also Bug#20023.
For a view that references a table in another database, mysqldump wrote the view name qualified with the current database name. This makes it impossible to reload the dump file into a different database. (Bug#40345)
perror did not produce correct output for error codes 153 to 163. (Bug#39370)
Comparisons between row constructors, such as (a, b) =
(c, d)
resulted in unnecessary Illegal mix of
collations
errors for string columns.
(Bug#37601)
An argument to the MATCH()
function that was an alias for an expression other than a column
name caused a server crash.
(Bug#36737)
For DROP FUNCTION
with names that
were qualified with a database name, the database name was
handled in case-sensitive fashion even with
lower_case_table_names
set to
1.
(Bug#33813)
mysqldump --compatible=mysql40 emitted
statements referring to the
character_set_client
system
variable, which is unknown before MySQL 4.1. Now the statements
are enclosed in version-specific comments.
(Bug#33550)
Use of MBR spatial functions such as
MBRTouches()
with columns of
InnoDB
tables caused a server crash rather
than an error.
(Bug#31435)
The mysql client mishandled input parsing if
a delimiter
command was not first on the
line.
(Bug#31060)
For installation on Solaris using pkgadd
packages, the mysql_install_db script was
generated in the scripts
directory, but the
temporary files used during the process were left there and not
deleted.
(Bug#31052)
SHOW PRIVILEGES
listed the
CREATE ROUTINE
privilege as
having a context of Functions,Procedures
, but
it is a database-level privilege.
(Bug#30305)
SHOW TABLE STATUS
could fail to
produce output for tables with non-ASCII characters in their
name.
(Bug#25830)
Floating-point numbers could be handled with different numbers of digits depending on whether the text or prepared-statement protocol was used. (Bug#21205)
Incorrect length metadata could be returned for LONG
TEXT
columns when a multibyte server character set was
used.
(Bug#19829)
ROUND()
sometimes returned
different results on different platforms.
(Bug#15936)
User Comments
Add your own comment.