No public release of MySQL 5.0.5 was made. The changes described in this section are available in MySQL 5.0.6.
Functionality added or changed:
MySQL Cluster:
More informative error messages are provided when a query is
issued against an NDB
table that
has been modified by another mysqld server.
(Bug#6762)
InnoDB
: When
foreign_key_checks = 0
,
ALTER TABLE
and
RENAME TABLE
will ignore any type
incompatibilities between referencing and referenced columns.
Thus, it will be possible to convert the character sets of
columns that participate in a foreign key. Be sure to convert
all tables before modifying any data!
(Bug#9802)
SHOW VARIABLES
no longer displays
the deprecated log_update
system variable.
(Bug#9738)
Added support for the BIT
data
type to the MEMORY
,
InnoDB
, and BDB
storage
engines.
The behavior controlled by the
--innodb-fast-shutdown
option now
can be changed at runtime by setting the value of the global
innodb_fast_shutdown
system
variable. It now accepts values 0, 1 and 2 (except on Netware
where 2 is disabled). If set to 2, then when the MySQL server
shuts down, InnoDB
will just flush its logs
and shut down brutally (and quickly) as if a MySQL crash had
occurred; no committed transaction will be lost, but a crash
recovery will be done at next startup.
Bugs fixed:
Security Fix:
Starting mysqld with
--user=
caused it to run using the privileges of the account from which
it was invoked, including the non_existent_user
root
account.
(Bug#9833)
A memory leak occurred when selecting from a view that contained a subquery. (Bug#10107)
Setting the storage_engine
system variable to MEMORY
succeeded, but
retrieving the variable resulted in a value of
HEAP
(the old name for the
MEMORY
storage engine) rather than
MEMORY
.
(Bug#10039)
Queries containing CURRENT_USER()
incorrectly were registered in the query cache.
(Bug#9796)
Invoking a stored function that returned a value having an
ENUM
or SET
data type caused the server to crash.
(Bug#9775)
A string length comparison problem caused
mysql to fail when loading dump files
containing certain escape sequences containing a backslash
character (\
).
(Bug#9756)
After an internal temporary table became too large in memory and had to be converted to an on-disk table, the error indicator was not cleared and the query failed with error 1023 Can't find record in ''. (Bug#9703)
Use of a subquery that used WITH ROLLUP
in
the FROM
clause of the main query sometimes
resulted in a Column cannot be null
error.
(Bug#9681)
InnoDB
: Assertion failures of types
ut_a(cursor->old_stored ==
BTR_PCUR_OLD_STORED)
and
prebuilt->template_type == 0
could occur
when performing multi-table updates. This bug was introduced in
4.1.10 and 4.0.24.
(Bug#9670)
A problem with readline
caused the
mysql client to crash when the user pressed
Control-R
..
(Bug#9568)
Executing LOCK TABLES
and then
calling a stored procedure caused an error and resulting in the
server thinking that no stored procedures exist.
(Bug#9566)
The server died with signal 11 if a nonexistent location was specified for the location of the binary log. Now the server exits after printing an appropriate error message. (Bug#9542)
Incorrect results were returned for queries of the form
SELECT ... LEFT JOIN ... WHERE EXISTS
(
, where the
subquery selected rows based on an subquery
)IS
NULL
condition.
(Bug#9516)
A segmentation fault in mysqlcheck occurred
when the last table checked in
--auto-repair
mode returned
an error (such as the table being a MERGE
table).
(Bug#9492)
Within a stored procedure, attempting to execute a
multiple-table UPDATE
failed with
a Table '
error.
(Bug#9486)tbl_name
' was
locked with a READ lock and can't be updated
mysqlshow displayed an incorrect row count for tables. (Bug#9391)
InnoDB
: Next-key locking did not allow
inserts which did not produce a “phantom”. If the
range is of type 'a' <= uniquecolumn
,
InnoDB
lock only the RECORD, if the record
with the column value 'a'
exists in a
CLUSTERED index. This allows inserts before a range.
(Bug#9354)
The optimizer did not compute the union of two ranges for the
OR
operator correctly.
(Bug#9348)
Corrected a failure to resolve a column reference correctly for
a LEFT JOIN
that compared a join column to an
IN
subquery.
(Bug#9338)
OPTIMIZE TABLE
was written twice
to the binary log when used on InnoDB
tables.
(Bug#9149)
Multiple-table updates could produce spurious data-truncation warnings if they used a join across columns that are indexed using a column prefix. (Bug#9103)
Invocation of a stored function that returned a value having a
BLOB
data type caused the server
to crash.
(Bug#9102)
For stored functions that should return a
YEAR
value, corrected a failure
of the value to be in YEAR
format.
(Bug#8861)
Selecting from a view containing a subquery caused the server to hang. (Bug#8490)
TIMEDIFF()
with a negative time
first argument and positive time second argument produced
incorrect results.
(Bug#8068)
Invocation of a stored function that returned a value having a
BIT
data type caused the server
to crash.
(Bug#7648)
SET @var= CAST(NULL AS [INTEGER|CHAR])
now
sets the result type of the variable to
INTEGER
/CHAR
.
(Bug#6598)
The client/server protocol allowed the server to close the connection before sending the final error message. The problem could show up as a Lost connection to MySQL server error during a query when attempting to connect and access a nonexistent database. (Bug#6387, Bug#9455)
Column references were not properly resolved when an outer join involving a view contained a subquery and the column was used both in the subquery and the outer query. (Bug#6107, Bug#6106)
InnoDB
: Prevent ALTER
TABLE
from changing the storage engine if there are
foreign key constraints on the table.
(Bug#5574, Bug#5670)
User Comments
Add your own comment.