Functionality added or changed:
The handling of BIT columns has
been improved, and should now be much more reliable in a number
of cases.
(Bug#11572, Bug#11091, Bug#10617)
Recursion in stored routines is now disabled because it was crashing the server. We plan to modify stored routines to allow this to operate safely in a future release. (Bug#11394)
An attempt to create a TIMESTAMP
column with a display width (for example,
TIMESTAMP(6)) now results in a warning.
Display widths have not been supported for
TIMESTAMP since MySQL 4.1.
(Bug#10466)
mysql_real_escape_string() API
function now respects
NO_BACKSLASH_ESCAPES SQL mode.
(Bug#10214)
InnoDB: Made CHECK
TABLE killable.
(Bug#9730)
InnoDB: Make
innodb_thread_concurrency = 20 by default.
Bypass the concurrency checking if the setting is greater than
or equal to 20.
InnoDB: Various optimizations. Removed
unreachable debug code from nondebug builds. Added hints for the
branch predictor in gcc. Made assertions
occupy less space.
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_file_per_table mode.
Bugs fixed:
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)
The --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.
(Bug#11678)
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 BLOB
column.
(Bug#11657)
Incorrect results when using GROUP BY ... WITH
ROLLUP on a VIEW.
(Bug#11639)
MySQL would not compile correctly on QNX due to missing
rint() function.
(Bug#11544)
A SELECT DISTINCT would work correctly with a col_name
MyISAM
table only when there was an index on
col_name.
(Bug#11484)
Using CONCAT_WS() on a column set
NOT NULL caused incorrect results when used
in a LEFT JOIN.
(Bug#11469)
Temporary tables were created in the data directory instead of
tmpdir.
(Bug#11440)
Running a CHECK TABLES on multiple views
crashed the server.
(Bug#11337)
Manually inserting a row with host='' into
mysql.tables_priv and performing a
FLUSH
PRIVILEGES would cause the server to crash.
(Bug#11330)
Wrong comparison method used in VIEW when
relaxed date syntax used (for example,
2005.06.10).
(Bug#11325)
Signed BIGINT would not accept
-9223372036854775808 as a
DEFAULT value.
(Bug#11215)
Optimizer performed range check when comparing unsigned integers to negative constants, could cause errors. (Bug#11185)
A cursor using a query with a filter on a
DATE or
DATETIME column would cause the
server to crash server after the data was fetched.
(Bug#11172)
The mysql_config script did not handle
symbolic linking properly.
(Bug#10986)
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)
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)
Combining cursors and subqueries could cause server crash or memory leaks. (Bug#10736)
Instances of the VAR_SAMP()
function in view definitions were converted to
VARIANCE(). This is incorrect
because VARIANCE() is the same as
VAR_POP(), not
VAR_SAMP().
(Bug#10651)
DES_ENCRYPT() and
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
these functions.
(Bug#10589)
For 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 WHERE clause
would succeed.
(Bug#10178)
When used in joins, SUBSTRING()
failed to truncate to zero those string values that could not be
converted to numbers.
(Bug#10124)
Views did not use indexes on all appropriate queries. (Bug#10031)
Closing a cursor that was already closed would cause MySQL to hang. (Bug#9814)
The server would lose table-level CREATE
VIEW and SHOW VIEW
privileges following a
FLUSH
PRIVILEGES or server restart.
(Bug#9795)
mysqldump --xml did not format
NULL column values correctly.
(Bug#9657)
The --no-data option for
mysqldump was being ignored if table names
were given after the database name.
(Bug#9558)
Clients would hang following some errors with stored procedures. (Bug#9503)
mysqldump could crash for illegal or nonexistent table names. (Bug#9358)
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.)
(Bug#8321)
The ENCRYPT() and
SUBSTRING_INDEX() functions would
cause errors when used with a VIEW.
(Bug#7024)
SHOW CREATE VIEW did not take the
ANSI SQL mode into account
when quoting identifiers.
(Bug#6903)
In strict mode, an INSERT into a
view that did not include a value for a NOT
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 NOT
NULL column.
(Bug#6443)

User Comments
Add your own comment.