Fonctionnalités ajoutées ou modifiées :
Updated version of libedit
to 2.9. (Bug#2596)
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)
Previously in MySQL 4.1, an Illegal mix of
collations
error occurred when mixing strings from
same character set when one had a non-binary collation and
the other a binary collation. Now the binary collation takes
precedence, so that both strings are treated as having the
binary collation. This restores compatibility with MySQL 4.0
behavior.
Bogues corrigés :
Security fix: If
mysqld was started with
--user=
,
it would run using the privileges of the account it was
invoked from, even if that was non_existent_user
root
. (Bug#9833)
MAX()
for an INT
UNSIGNED
(unsigned 4-byte integer) column could
return negative values if the column contained values larger
than 2^31. (Bug#9298)
Fixed a deadlock resulting from use of FLUSH TABLES
WITH READ LOCK
while an INSERT
DELAYED
statement is in progress. (Bug#7823)
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)
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)
RENAME TABLE
for an
ARCHIVE
table failed if the
.arn
file was not present. (Bug#9911)
Fixed an optimizer problem where extraneous comparisons
between NULL
values in indexed columns
were being done for operators such as =
that are never true for NULL
. (Bug#8877)
SELECT
ROUND(
produced a
different result than expr
)CREATE TABLE ... SELECT
ROUND(
. (Bug#9837)
expr
)
Fixed some awk script portability problems in cmd-line-utils/libedit/makelist.sh. (Bug#9954)
Changed metadata for result of SHOW KEYS
:
Data type for Sub_part
column now is
SMALLINT
rather than
TINYINT
because key part length can be
longer than 255. (Bug#9439)
Fixed some problems with myisampack on 64-bit systems that resulted in segmentation violations. (Bug#9487)
Fixed an optimizer bug in computing the union of two ranges
for the OR
operator. (Bug#9348)
Fixed an index corruption problem for
MyISAM
tables that resulted from the 4.1
behavior of padding values with blanks for comparison:
Dumping a table with mysqldump, reloading
it, and then re-running the binary log against it crashed
the index and necessitated a repair. (Bug#9188)
Fixed a segmentation fault in mysqlcheck
that occurred when the last table checked in
--auto-repair
mode returned an error (such
as the table being a MERGE
table). (Bug#9492)
Fixed the client/server protocol for prepared statements so that reconnection works properly when the connection is killed while reconnect is enabled. (Bug#8866)
INSERT ... ON DUPLICATE KEY UPDATE
incorrectly updated a TIMESTAMP
column to
the current timestamp, even if the update list included
for that
column to prevent the update. (Bug#7806)
col_name
=
col_name
Starting mysqld with the
--skip-innodb
and
--default-storage-engine=innodb
(or
--default-table-type=innodb
caused a server
crash. (Bug#9815)
Queries containing CURRENT_USER()
incorrectly were registered in the query cache. (Bug#9796)
A server installed as a Windows service and started with
--shared-memory
could not be stopped. (Bug#9665)
mysqldump dumped core when invoked with
--tmp
and
--single-transaction
options and a
non-existent table name. (Bug#9175)
Additional fix for mysql_server_init()
and mysql_server_end()
C API functions so
that stopping and restarting the embedded server will not
cause a crash. (Bug#7344)
mysql.server no longer uses non-portable alias command or LSB functions. (Bug#9852)
Fixed a readline
-related crash in
mysql when the user pressed Control-R.
(Bug#9568)
TIMEDIFF()
with a negative time first
argument and postive time second argument produced incorrect
results. (Bug#8068)
Fixed a bug that caused concurrent inserts to be allowed
into the tables in the SELECT ... UNION
...
part of INSERT ... SELECT ... UNION
...
. This could result in the incorrect order of
queries in the binary log. (Bug#9922)
Warning message from GROUP_CONCAT()
did
not always indicate correct number of lines. (Bug#8681)
InnoDB: ENUM
and SET
columns were treated incorrectly as character strings. This
bug did not manifest itself with latin1
collations, but it caused malfunction with
utf8
. Old tables will continue to work.
In new tables, ENUM
and
SET
will be internally stored as unsigned
integers. (Bug#9526)
InnoDB: Avoid test suite failures caused by a locking conflict between two server instances at server shutdown/startup. This conflict on advisory locks appears to be the result of a bug in the operating system; these locks should be released when the files are closed, but somehow that does not always happen immediately in Linux. (Bug#9381)
InnoDB
: Prevent ALTER
TABLE
from changing the storage engine if there
are foreign key constraints on the table. (Bug#5574, Bug#5670)
InnoDB
: Fixed a deadlock without any
locking, simple select and update. (Bug#7975)
InnoDB
now takes an exclusive lock when
INSERT ON DUPLICATE KEY UPDATE
is
checking duplicate keys.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.