This is a Monthly Rapid Update release of the MySQL Enterprise Server 5.0.
This section documents all changes and bug fixes that have been applied since the last MySQL Enterprise Server release (5.0.32).
Functionality Added or Changed
Added the
--disable-grant-options option
to configure. If configure
is run with this option, the
--bootstrap,
--skip-grant-tables, and
--init-file options for
mysqld are disabled and cannot be used. For
Windows, the configure.js script recognizes
the DISABLE_GRANT_OPTIONS flag, which has the
same effect.
The --skip-thread-priority option
now is enabled by default for binary Mac OS X distributions. Use
of thread priorities degrades performance on Mac OS X.
(Bug #18526)
Bugs Fixed
MySQL Cluster:
When a data node was shut down using the management client
STOP command, a connection event
(NDB_LE_Connected) was logged instead of a
disconnection event (NDB_LE_Disconnected).
(Bug #22773)
MySQL Cluster: Hosts in clusters with large numbers of nodes could experience excessive CPU usage while obtaining configuration data. (Bug #25711)
Cluster API: A unique index lookup on a nonexistent tuple could lead to a data node timeout (error 4012). (Bug #25059)
Cluster API:
Invoking the
NdbTransaction::execute()
method using execution type Commit and abort
option AO_IgnoreError could lead to a crash
of the transaction coordinator (DBTC).
(Bug #25090)
Dropping a user-defined function sometimes did not remove the
UDF entry from the mysql.proc table.
(Bug #15439)
A multiple-table DELETE
QUICK could sometimes cause one of the affected tables
to become corrupted.
(Bug #25048)
Some CASE statements inside
stored routines could lead to excessive resource usage or a
crash of the server.
(Bug #19194, Bug #24854)
An assertion failed incorrectly for prepared statements that
contained a single-row uncorrelated subquery that was used as an
argument of the IS NULL predicate.
(Bug #25027)
Referencing an ambiguous column alias in an expression in the
ORDER BY clause of a query caused the server
to crash.
(Bug #25427)
A view was not handled correctly if the
SELECT part contained
“\Z”.
(Bug #24293)
Inserting a row into a table without specifying a value for a
BINARY(
column caused the column to be set to spaces, not zeros.
(Bug #14171)N) NOT NULL
OPTIMIZE TABLE tried to sort
R-tree indexes such as spatial indexes, although this is not
possible (see OPTIMIZE TABLE Syntax).
(Bug #23578)
The FEDERATED storage engine did not support
the utf8 character set.
(Bug #17044)
Some joins in which one of the joined tables was a view could return erroneous results or crash the server. (Bug #24345)
Using a view in combination with a USING
clause caused column aliases to be ignored.
(Bug #25106)
A deadlock could occur, with the server hanging on
Closing tables, with a sufficient number of
concurrent INSERT DELAYED,
FLUSH TABLES,
and ALTER TABLE operations.
(Bug #23312)
A crash of the MySQL Server could occur when unpacking a
BLOB column from a row in a
corrupted MyISAM table. This could happen when trying to repair
a table using either REPAIR TABLE
or myisamchk; it could also happen when
trying to access such a “broken” row using
statements like SELECT if the
table was not marked as crashed.
(Bug #22053)
A compressed MyISAM table that became
corrupted could crash myisamchk and possibly
the MySQL Server.
(Bug #23139)
mysqld_error.h was not installed when only
the client libraries were built.
(Bug #21265)
InnoDB: Optimizations removed in MySQL 5.0.28
were re-enabled except for files under the
innobase/mem directory. (This is a
fine-tuning of optimization disabling.)
(Bug #19424)
The optimizer removes expressions from GROUP
BY and DISTINCT clauses if they
happen to participate in
predicates of the
expression =
constantWHERE clause, the idea being that, if the
expression is equal to a constant, then it cannot take on
multiple values. However, for predicates where the expression
and the constant item are of different result types (for
example, when a string column is compared to 0), this is not
valid, and can lead to invalid results in such cases. The
optimizer now performs an additional check of the result types
of the expression and the constant; if their types differ, then
the expression is not removed from the GROUP
BY list.
(Bug #15881)
Optimizations that are legal only for subqueries without tables
and WHERE conditions were applied for any
subquery without tables.
(Bug #24670)
Instance Manager could crash during shutdown. (Bug #19044)
Changing the value of MI_KEY_BLOCK_LENGTH in
myisam.h and recompiling MySQL resulted in
a myisamchk that saw existing
MyISAM tables as corrupt.
(Bug #22119)
User-defined variables could consume excess memory, leading to a
crash caused by the exhaustion of resources available to the
MEMORY storage engine, due to the fact that
this engine is used by MySQL for variable storage and
intermediate results of GROUP BY queries.
Where
SET had
been used, such a condition could instead give rise to the
misleading error message You may only use constant
expressions with SET, rather than Out of
memory (Needed NNNNNN bytes).
(Bug #23443)
A table created with the ROW_FORMAT = FIXED
table option lost that option if an index was added or dropped
with CREATE INDEX or
DROP INDEX.
(Bug #23404)
InnoDB: During a restart of the MySQL Server
that followed the creation of a temporary table using the
InnoDB storage engine, MySQL failed to clean
up in such a way that InnoDB still attempted
to find the files associated with such tables.
(Bug #20867)
The server was built even when configure was
run with the --without-server
option.
(Bug #23973)
References: See also Bug #32898.
The FEDERATED storage engine did not support
the euckr character set.
(Bug #21556)
