Fonctionnalité ajoutée ou modifiée :
mysqldump no longer dumps data for
MERGE tables. (Bug#1846)
lower_case_table_names is now forced to 1
if the database directory is located on a case-insensitive
file system. (Bug#1812)
Symlink creation is now disabled on systems where
realpath() doesn't work. (Before one
could use CREATE TABLE .. DATA
DIRECTORY=.. even if
HAVE_BROKEN_REALPATH was defined. This is
now disabled to avoid problems when running ALTER
TABLE).
Inserting a negative AUTO_INCREMENT value
in a MyISAM table no longer updates the
AUTO_INCREMENT counter to a big unsigned
value. (Bug#1366)
Added four new modes to WEEK(..., mode)
function. See WEEK(date: (mode)). (Bug#1178)
Allow UNION DISTINCT syntax.
mysql_server_init() now returns 1 if it
can't initialize the environment. (Previously
mysql_server_init() called
exit(1) if it could not create a key with
pthread_key_create(). (Bug#2062)
Allow spaces in Windows service names.
Changed the default Windows service name for
mysqld from MySql to
MySQL. This should not affect usage, because service names
are not case sensitive.
When you install mysqld as a service on
Windows systems, mysqld will read startup
options in option files from the option group with the same
name as the service name. (Except when the service name is
MySQL).
Bogues corrigés :
One can now configure MySQL as a Windows service as a normal user. (Bug#1802). Thanks to Richard Hansen for fixing this.
Database names are now compared in lowercase in
ON clauses when
lower_case_table_names is set. (Bug#1736)
IGNORE ... LINES option to LOAD
DATA INFILE didn't work when used with fixed
length rows. (Bug#1704)
Fixed problem with UNIX_TIMESTAMP() for
timestamps close to 0. (Bug#1998)
Fixed problem with character values greater than 128 in the
QUOTE() function. (Bug#1868)
Fixed searching of TEXT with end space.
(Bug#1651)
Fixed caching bug in multiple-table updates where same table was used twice. (Bug#1711)
Fixed directory permissions for the MySQL-server RPM documentation directory. (Bug#1672)
Fixed server crash when updating an ENUM
column that is set to the empty string (for example, with
REPLACE()). (Bug#2023)
mysql client program now correctly prints
connection identifier returned by
mysql_thread_id() as unsigned integer
rather than as signed integer. (Bug#1951)
FOUND_ROWS() could return incorrect
number of rows after a query with an impossible
WHERE condition. (Bug#1468)
SHOW DATABASES no longer shows
.sym files (on Windows) that do not point
to a valid directory. (Bug#1385)
Fixed a possible memory leak on Mac OS X when using the
shared libmysql.so library. (from
pthread_key_create()). (Bug#2061)
Fixed bug in UNION statement with alias
*. (Bug#1249)
Fixed a bug in DELETE ... ORDER BY ...
LIMIT where the rows where not deleted in the
proper order. (Bug#1024, Bug#1697).
Fixed serious problem with multi-threaded programs on Windows that used the embedded MySQL libraries. (Locks of tables were not handled correctly between different threads).
Code cleanup: Fixed a few code defects (potential memory leaks, null pointer dereferences, uninitialized variables). Thanks to Reasoning Inc. for informing us about these findings.
Fixed a buffer overflow error that occurred with prepended
‘0’ characters in some
columns of type DECIMAL. (Bug#2128)
Filesort was never shown in EXPLAIN if
query contained an ORDER BY NULL clause.
(Bug#1335)
Fixed invalidation of whole query cache on DROP
DATABASE. (Bug#1898)
Fixed bug in range optimizer that caused wrong results for
some unlikely AND/OR
queries. (Bug#1828)
Fixed a crash in ORDER BY when ordering
by expression and identifier. (Bug#1945)
Fixed a crash in an open HANDLER when an
ALTER TABLE was executed in a different
connection. (Bug#1826)
Fixed a bug in trunc* operator of
full-text search which sometimes caused MySQL not to find
all matched rows.
Fixed bug in prepending ‘0’
characters to DECIMAL column values.
Fixed optimizer bug, introduced in 4.0.16, when
REF access plan was preferred to more
efficient RANGE on another column.
Fixed problem when installing a MySQL server as a Windows
service using a command of the form mysqld
--install mysql --defaults-file=path-to-file. (Bug#1643)
Fixed an incorrect result from a query that uses only
const tables (such as one-row tables) and
non-constant expression (such as RAND()).
(Bug#1271)
Fixed bug when the optimizer did not take
SQL_CALC_FOUND_ROWS into account if
LIMIT clause was present. (Bug#1274)
mysqlbinlog now asks for a password at
the console when the -p or
--password option is used with no argument.
This is consistent with the way that other clients such
mysqladmin and
mysqldump already behave.
Note: A consequence of this
change is that it is no longer possible to invoke
mysqlbinlog as mysqlbinlog -p
pass_val (with a space between the
-p option and the following password
value). (Bug#1595)
Fixed bug accidentally introduced in 4.0.16 where the slave
SQL thread deleted its replicated temporary tables when
STOP SLAVE was issued.
In a ``chain'' replication setup
A->B->C, if 2 sessions on A updated
temporary tables of the same name at the same time, the
binary log of B became incorrect,
resulting in C becoming confused. (Bug#1686)
In a ``chain'' replication setup
A->B->C, if STOP
SLAVE was issued on B while it
was replicating a temporary table from A,
then when START SLAVE was issued on
B, the binary log of B
became incorrect, resulting in C becoming
confused. (Bug#1240)
When MASTER_LOG_FILE and
MASTER_LOG_POS were not specified,
CHANGE MASTER used the coordinates of the
slave I/O thread to set up replication, which broke
replication if the slave SQL thread lagged behind the slave
I/O thread. This caused the slave SQL thread to lose some
events. The new behavior is to use the coordinates of the
slave SQL thread instead. See
Section 13.6.2.1, « CHANGE MASTER TO ». (Bug#1870)
Now if integer is stored or converted to
TIMESTAMP or DATETIME
value checks of year, month, day, hour, minute and second
ranges are performed and numbers representing illegal
timestamps are converted to 0 value. This behavior is
consistent with manual and with behavior of string to
TIMESTAMP/DATETIME
conversion. (Bug#1448)
Fixed bug when BIT_AND() and
BIT_OR() group functions returned
incorrect value if SELECT used a
temporary table and no rows were found. (Bug#1790).
BIT_AND() is now unsigned in all
contexts. This means that it will now return
18446744073709551615 (= 0xffffffffffffffff) instead of -1 if
there were no rows in the result.
Fixed bug with BIT_AND() still returning
signed value for an empty set in some cases. (Bug#1972)
Fixed bug with ^ (XOR) and
>> (bit shift) still returning
signed value in some cases. (Bug#1993)
Replication: a rare race condition in the slave SQL thread, which could lead to a wrong complain that the relay log is corrupted. (Bug#2011)
Replication: if an administrative command on a table
(OPTIMIZE TABLE, REPAIR
TABLE etc) was run on the slave, this could
sometimes stop the slave SQL thread (this did not led to any
corruption; one just had to type START
SLAVE to get replication going again). (Bug#1858)
Replication: in the slave SQL thread, a multi-table
UPDATE could produce a wrong complain
that some record was not found in one table, if the
UPDATE was preceded by a INSERT
... SELECT. (Bug#1701)
Fixed deficiency in MySQL code which is responsible for
scanning directories. This deficiency caused SHOW
TABLE STATUS to be very slow for big number of
tables in database even if single particular table were
specified. (Bug#1952)
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.
