Functionality Added or Changed
Recursion in stored routines is now disabled because it was crashing the server. (Bug #11394)
InnoDB: When creating or extending an
InnoDB data file, at most one megabyte at a
time is allocated for initializing the file. Previously,
InnoDB allocated and initialized 1 or 8
megabytes of memory, even if only a few 16-kilobyte pages were
to be written. This improves the performance of
CREATE TABLE in
InnoDB: Various optimizations. Removed
unreachable debug code from nondebug builds. Added hints for the
branch predictor in gcc. Made assertions
occupy less space.
The handling of
BIT columns has
been improved, and should now be much more reliable in a number
(Bug #11572, Bug #11091, Bug #10617)
innodb_thread_concurrency = 20 by default.
Bypass the concurrency checking if the setting is greater than
or equal to 20.
MySQL Cluster: When trying to open a table that could not be discovered or unpacked, the cluster returned error codes which the MySQL server falsely interpreted as operating system errors. (Bug #10365)
Optimizer performed range check when comparing unsigned integers to negative constants, could cause errors. (Bug #11185)
A compression algorithm issue caused
myisampackto fail for very large data sets
(where the total size of all records in a single column was on
the order of 3 GB or more) on 64-bit platforms. (A fix for other
platforms was made in MySQL 5.0.6.)
mysqldump could crash for illegal or nonexistent table names. (Bug #9358)
mysql_config script did not handle
symbolic linking properly.
mysqldump --xml did not format
NULL column values correctly.
When used in joins,
failed to truncate to zero those string values that could not be
converted to numbers.
DES_DECRYPT() require SSL support
to be enabled, but were not checking for it. Checking for
incorrect arguments or resource exhaustion was also improved for
BIGINT would not accept
-9223372036854775808 as a
Combining cursors and subqueries could cause server crash or memory leaks. (Bug #10736)
mysqldump failed when reloading a view if the view was defined in terms of a different view that had not yet been reloaded. mysqldump now creates a dummy table to handle this case. (Bug #10927)
Temporary tables were created in the data directory instead of
Wrong comparison method used in
relaxed date syntax used (for example,
MEMORY tables, it was possible for
updates to be performed using outdated key statistics when the
updates involved only very small changes in a very few rows.
This resulted in the random failures of queries such as
UPDATE t SET col = col + 1 WHERE col_key = 2;
where the same query with no
--master-data option for
mysqldump resulted in no error if the binary
log was not enabled. Now an error occurs unless the
--force option is given.
Views did not use indexes on all appropriate queries. (Bug #10031)
Manually inserting a row with
mysql.tables_priv and performing a
PRIVILEGES would cause the server to crash.
MySQL would not compile correctly on QNX due to missing
Incorrect results when using
GROUP BY ... WITH
ROLLUP on a
When a table had a primary key containing a
BLOB column, creation of another
index failed with the error
BLOB/TEXT column used in
key specification without keylength, even when the new
index did not contain a
In strict mode, an
INSERT into a
view that did not include a value for a
NULL column but that did include a
WHERE test on the same column would succeed,
This happened even though the
INSERT should have been prevented
due to the failure to supply a value for the
SELECT DISTINCT would work correctly with a
table only when there was an index on
If a prepared statement cursor is opened but not completely fetched, attempting to open a cursor for a second prepared statement will fail. (Bug #10794)
Closing a cursor that was already closed would cause MySQL to hang. (Bug #9814)
--no-data option for
mysqldump was being ignored if table names
were given after the database name.
Clients would hang following some errors with stored procedures. (Bug #9503)
CONCAT_WS() on a column set
NOT NULL caused incorrect results when used
CHECK TABLES on multiple views
crashed the server.