Cleaned up NULL
handling for default
values in DESCRIBE table_name
.
Fixed truncate()
to round up negative
values to the nearest integer.
Changed --chroot=path
option to execute
chroot()
immediately after all options
have been parsed.
Don't allow database names that contain
‘\
’.
lower_case_table_names
now also affects
database names.
Added XOR
operator (logical and bitwise
XOR
) with ^
as a
synonym for bitwise XOR
.
Added function IS_FREE_LOCK("lock_name")
.
Based on code contributed by Hartmut Holzgraefe
<hartmut@six.de>
.
Removed mysql_ssl_clear()
from C API, as
it was not needed.
DECIMAL
and NUMERIC
types can now read exponential numbers.
Added SHA1()
function to calculate 160
bit hash value as described in RFC 3174 (Secure Hash
Algorithm). This function can be considered a
cryptographically more secure equivalent of
MD5()
. See
Section 12.8.4, « Fonctions diverses ».
Added AES_ENCRYPT()
and
AES_DECRYPT()
functions to perform
encryption according to AES standard (Rijndael). See
Section 12.8.4, « Fonctions diverses ».
Added --single-transaction
option to
mysqldump
, allowing a consistent dump of
InnoDB
tables. See
Section 8.8, « mysqldump
, sauvegarde des structures de tables et les
données ».
Fixed bug in innodb_log_group_home_dir
in
SHOW VARIABLES
.
Fixed a bug in optimizer with merge tables when non-unique values are used in summing up (causing crashes).
Fixed a bug in optimizer when a range specified makes index grouping impossible (causing crashes).
Fixed a rare bug when FULLTEXT
index is
present and no tables are used.
Added privileges CREATE TEMPORARY TABLES
,
EXECUTE
, LOCK TABLES
,
REPLICATION CLIENT
, REPLICATION
SLAVE
, SHOW DATABASES
and
SUPER
. To use these, you must have run
the mysql_fix_privilege_tables
script
after upgrading.
Fixed query cache align data bug.
Fixed mutex bug in replication when reading from master fails.
Added missing mutex in TRUNCATE TABLE
;
This fixes some core dump/hangup problems when using
TRUNCATE TABLE
.
Fixed bug in multiple-table DELETE
when
optimizer uses only indexes.
Fixed that ALTER TABLE table_name RENAME
new_table_name
is as fast as RENAME
TABLE
.
Fixed bug in GROUP BY
with two or more
fields, where at least one field can contain
NULL
values.
Use Turbo Boyer-Moore
algorithm to speed
up LIKE "%keyword%"
searches.
Fixed bug in DROP DATABASE
with symlink.
Fixed crash in REPAIR ... USE_FRM
.
Fixed bug in EXPLAIN
with LIMIT
offset != 0
.
Fixed bug in phrase operator "..."
in
boolean full-text search.
Fixed bug that caused duplicated rows when using truncation
operator *
in boolean full-text search.
Fixed bug in truncation operator of boolean full-text search
(incorrect results when there are only
+word*
s in the query).
Fixed bug in boolean full-text search that caused a crash
when an identical MATCH
expression that
did not use an index appeared twice.
Query cache is now automatically disabled in
mysqldump
.
Fixed problem on Windows 98 that made sending of results very slow.
Boolean full-text search weighting scheme changed to something more reasonable.
Fixed bug in boolean full-text search that caused MySQL to
ignore queries of ft_min_word_len
characters.
Boolean full-text search now supports ``phrase searches''.
New configure option --without-query-cache
.
Memory allocation strategy for ``root memory'' changed. Block size now grows with number of allocated blocks.
INET_NTOA()
now returns
NULL
if you give it an argument that is
too large (greater than the value corresponding to
255.255.255.255
).
Fix SQL_CALC_FOUND_ROWS
to work with
UNION
. It will work only if the first
SELECT
has this option and if there is
global LIMIT
for the entire statement.
For the moment, this requires using parentheses for
individual SELECT
queries within the
statement.
Fixed bug in SQL_CALC_FOUND_ROWS
and
LIMIT
.
Don't give an error for CREATE TABLE ...(...
VARCHAR(0))
.
Fixed SIGINT
and
SIGQUIT
problems in
mysql.cc
on Linux with some
glibc
versions.
Fixed bug in convert.cc
, which is
caused by having an incorrect
net_store_length()
linked in the
CONVERT::store()
method.
DOUBLE
and FLOAT
columns now honor the UNSIGNED
flag on
storage.
InnoDB
now retains foreign key
constraints through ALTER TABLE
and
CREATE/DROP INDEX
.
InnoDB
now allows foreign key constraints
to be added through the ALTER TABLE
syntax.
InnoDB
tables can now be set to
automatically grow in size (autoextend).
Added --ignore-lines=n
option to
mysqlimport
. This has the same effect as
the IGNORE n LINES
clause for
LOAD DATA
.
Fixed bug in UNION
with last offset being
transposed to total result set.
REPAIR ... USE_FRM
added.
Fixed that DEFAULT_SELECT_LIMIT
is always
imposed on UNION
result set.
Fixed that some SELECT
options can appear
only in the first SELECT
.
Fixed bug with LIMIT
with
UNION
, where last select is in the
braces.
Fixed that full-text works fine with
UNION
operations.
Fixed bug with indexless boolean full-text search.
Fixed bug that sometimes appeared when full-text search was
used with const
tables.
Fixed incorrect error value when doing a
SELECT
with an empty
HEAP
table.
Use ORDER BY column DESC
now sorts
NULL
values first. (In other words,
NULL
values sort first in all cases,
whether or not DESC
is specified.) This
is changed back in 4.0.10.
Fixed bug in WHERE key_name='constant' ORDER BY
key_name DESC
.
Fixed bug in SELECT DISTINCT ... ORDER BY
DESC
optimization.
Fixed bug in ... HAVING 'GROUP_FUNCTION'(xxx) IS
[NOT] NULL
.
Fixed bug in truncation operator for boolean full-text search.
Allow value of --user=#
option for
mysqld
to be specified as a numeric user
ID.
Fixed a bug where SQL_CALC_ROWS
returned
an incorrect value when used with one table and
ORDER BY
and with
InnoDB
tables.
Fixed that SELECT 0 LIMIT 0
doesn't hang
thread.
Fixed some problems with USE/IGNORE INDEX
when using many keys with the same start column.
Don't use table scan with BerkeleyDB
and
InnoDB
tables when we can use an index
that covers the whole row.
Optimized InnoDB
sort-buffer handling to
take less memory.
Fixed bug in multiple-table DELETE
and
InnoDB
tables.
Fixed problem with TRUNCATE
and
InnoDB
tables that produced the error
Can't execute the given command because you have
active locked tables or an active transaction
.
Added NO_UNSIGNED_SUBTRACTION
to the set
of flags that may be specified with the
--sql-mode
option for
mysqld
. It disables unsigned arithmetic
rules when it comes to subtraction. (This will make MySQL
4.0 behave more like 3.23 with UNSIGNED
columns).
The result returned for all bit functions
(|
, <<
, ...) is
now of type unsigned integer
.
Added detection of nan
values in
MyISAM
to make it possible to repair
tables with nan
in float or double
columns.
Fixed new bug in myisamchk
where it
didn't correctly update number of ``parts'' in the
MyISAM
index file.
Changed to use autoconf
2.52 (from
autoconf
2.13).
Fixed optimization problem where the MySQL Server was in ``preparing'' state for a long time when selecting from an empty table which had contained a lot of rows.
Fixed bug in complicated join with const
tables. This fix also improves performance a bit when
referring to another table from a const
table.
First pre-version of multiple-table
UPDATE
statement.
Fixed bug in multiple-table DELETE
.
Fixed bug in SELECT CONCAT(argument_list) ... GROUP
BY 1
.
INSERT ... SELECT
did a full rollback in
case of an error. Fixed so that we only roll back the last
statement in the current transaction.
Fixed bug with empty expression for boolean full-text search.
Fixed core dump bug in updating full-text key from/to
NULL
.
ODBC compatibility: Added BIT_LENGTH()
function.
Fixed core dump bug in GROUP BY BINARY
column
.
Added support for NULL
keys in
HEAP
tables.
Use index for ORDER BY
in queries of
type: SELECT * FROM t WHERE key_part1=1 ORDER BY
key_part1 DESC,key_part2 DESC
Fixed bug in FLUSH QUERY CACHE
.
Added CAST()
and
CONVERT()
functions. The
CAST
and CONVERT
functions are nearly identical and mainly useful when you
want to create a column with a specific type in a
CREATE ... SELECT
statement. For more
information, read Section 12.7, « Fonctions de transtypage ».
CREATE ... SELECT
on
DATE
and TIME
functions now create columns of the expected type.
Changed order in which keys are created in tables.
Added new columns Null
and
Index_type
to SHOW
INDEX
output.
Added --no-beep
and
--prompt
options to
mysql
command-line client.
New feature: management of user resources.
GRANT ... WITH MAX_QUERIES_PER_HOUR N1 MAX_UPDATES_PER_HOUR N2 MAX_CONNECTIONS_PER_HOUR N3;
Added mysql_secure_installation
to the
scripts/
directory.
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.