Fonctionnalité ajoutée ou modifiée :
Important: Starting from
MySQL 4.1.3, InnoDB
uses the same
character set comparison functions as MySQL for
non-latin1_swedish_ci
character strings
that are not BINARY
. This changes the
sorting order of space and characters < ASCII(32) in
those character sets. For
latin1_swedish_ci
character strings and
BINARY
strings, InnoDB
uses its own pad-spaces-at-end comparison method, which
stays unchanged. If you have an InnoDB
table created with MySQL 4.1.2 or earlier, with an index on
a non-latin1
character set (in the case
of 4.1.0 and 4.1.1 with any character set)
CHAR
/VARCHAR
/or
TEXT
column that is not
BINARY
but may contain characters <
ASCII(32), then you should do ALTER TABLE
or OPTIMIZE
table on it to
regenerate the index, after upgrading
to MySQL 4.1.3 or later.
OPTIMIZE TABLE
for
InnoDB
tables is now mapped to
ALTER TABLE
rather than to
ANALYZE TABLE
.
Added an interface for storing the binlog offset in the InnoDB log and flushing the log.
Bogues corrigés :
The critical bug in 4.1.2
(crash recovery skipping all .ibd
files
if you specify innodb_file_per_table
on
Unix) has been fixed. The bug was a combination of two bugs.
Crash recovery ignored the files, because the attempt to
lock them in the wrong mode failed. From now on, locks will
only be obtained for regular files opened in read/write
mode, and crash recovery will stop if an
.ibd
file for a table exists in a
database directory but is unaccessible.
Do not remember the original
select_lock_type
inside LOCK
TABLES
. (Bug#4047)
The special meaning of the table names
innodb_monitor
,
innodb_lock_monitor
,
innodb_tablespace_monitor
,
innodb_table_monitor
, and
innodb_validate
in CREATE
TABLE
and DROP TABLE
statements
was accidentally removed in MySQL/InnoDB-4.1.2. The
diagnostic functions attached to these special table names
(see Section 15.12.1, « Le moniteur InnoDB
») are accessible again
in MySQL/InnoDB-4.1.3.
When the private SQL parser of InnoDB was modified in
MySQL/InnoDB-4.0.19 in order to allow the use of the
apostrophe (‘'
’) in table and
column names, the fix relied on a previously unused function
mem_realloc()
, whose implementation was
incorrect. As a result, InnoDB can incorrectly parse column
and table names as the empty string. The InnoDB
realloc()
implementation has been
corrected in MySQL/InnoDB-4.1.3.
In a clean-up of MySQL/InnoDB-4.1.2, the code for
invalidating the query cache was broken. Now the query cache
should be correctly invalidated for tables affected by
ON UPDATE CASCADE
or ON DELETE
CASCADE
constraints.
Fixed a bug : in LIKE 'abc%'
, the
'%'
did not match the empty string if the
character set was not latin1_swedish_ci
.
This bug was fixed by changing the sorting order in these
character sets. See the above note about data conversion in
4.1.3.
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.