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
myisampack
to 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.