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.