Functionality added or changed:
Port number was added to host name (if it is known) in
SHOW PROCESSLIST
command
Changed handling of last argument in
WEEK()
so that one can get week number
according to the ISO 8601 specification. (Old code should
still work).
Fixed that INSERT DELAYED
threads doesn't
hang on Waiting for INSERT
when one sends
a SIGHUP
to mysqld.
Change that AND
works according to SQL-99
when it comes to NULL
handling. In
practice, this only affects queries where you do something
like WHERE ... NOT (NULL AND 0)
.
mysqld
will now resolve
basedir
to its full path (with
realpath()
). This enables one to use
relative symlinks to the MySQL installation directory. This
will however cause show variables
to
report different directories on systems where there is a
symbolic link in the path.
Fixed that MySQL will not use index scan on index disabled
with IGNORE INDEX
or USE
INDEX
. to be ignored.
Added --use-frm
option to
mysqlcheck
. When used with
REPAIR
, it gets the table structure from
the .frm
file, so the table can be
repaired even if the .MYI
header is
corrupted.
Fixed bug in MAX()
optimization when used
with JOIN
and ON
expressions.
Added support for reading of MySQL 4.1 table definition files.
BETWEEN
behavior changed (see
項6.3.1.2. 「比較演算子」). Now
datetime_col BETWEEN timestamp AND
timestamp
should work as expected.
One can create TEMPORARY
MERGE
tables now.
DELETE FROM myisam_table
now shrinks not
only the .MYD
file but also the
.MYI
file.
When one uses the --open-files-limit=#
option to mysqld_safe
it's now passed on
to mysqld
.
Changed output from EXPLAIN
from
'where used'
to 'Using
where'
to make it more in line with other output.
Removed variable safe_show_database
as it
was no longer used.
Updated source tree to be built using automake
1.5
and libtool 1.4
.
Fixed an inadvertently changed option
(--ignore-space
) back to the original
--ignore-spaces
in
mysqlclient
. (Both syntaxes will work).
Don't require UPDATE
privilege when using
REPLACE
.
Added support for DROP TEMPORARY TABLE
...
, to be used to make replication safer.
When transactions are enabled, all commands that update
temporary tables inside a BEGIN/COMMIT
are now stored in the binary log on
COMMIT
and not stored if one does
ROLLBACK
. This fixes some problems with
non-transactional temporary tables used inside transactions.
Allow braces in joins in all positions. Formerly, things
like SELECT * FROM (t2 LEFT JOIN t3 USING (a)),
t1
worked, but not SELECT * FROM t1, (t2
LEFT JOIN t3 USING (a))
. Note that braces are
simply removed, they do not change the way the join is
executed.
InnoDB
now supports also isolation levels
READ UNCOMMITTED
and READ
COMMITTED
. For a detailed
InnoDB
changelog, see
項7.5.16. 「InnoDB の変更履歴」 in this manual.
Bugs fixed:
Fixed bug in MAX()
optimization when used
with JOIN
and ON
expressions.
Fixed that INSERT DELAY
threads don't
hang on Waiting for INSERT
when one sends
a SIGHUP
to mysqld
.
Fixed that MySQL will not use an index scan on an index that
has been disabled with IGNORE INDEX
or
USE INDEX
.
Corrected test for root
user in
mysqld_safe
.
Fixed error message issued when storage engine cannot do
CHECK
or REPAIR
.
Fixed rare core dump problem in complicated GROUP
BY
queries that didn't return any result.
Fixed mysqlshow
to work properly with
wildcarded database names and with database names that
contain underscores.
Portability fixes to get MySQL to compile cleanly with Sun Forte 5.0.
Fixed MyISAM
crash when using dynamic-row
tables with huge numbers of packed fields.
Fixed query cache behavior with BDB
transactions.
Fixed possible floating point exception in
MATCH
relevance calculations.
Fixed bug in full-text search IN BOOLEAN
MODE
that made MATCH
to return
incorrect relevance value in some complex joins.
Fixed a bug that limited MyISAM
key
length to a value slightly less that 500. It is exactly 500
now.
Fixed that GROUP BY
on columns that may
have a NULL
value doesn't always use disk
based temporary tables.
The filename argument for the
--des-key-file
argument to
mysqld
is interpreted relative to the
data directory if given as a relative pathname.
Removed a condition that temp table with index on column
that can be NULL
has to be
MyISAM
. This was okay for 3.23, but not
needed in 4.*. This resulted in slowdown in many queries
since 4.0.2.
Small code improvement in multiple-table updates.
Fixed a newly introduced bug that caused ORDER BY
... LIMIT row_count
to not return all rows.
Fixed a bug in multiple-table deletes when outer join is used on an empty table, which gets first to be deleted.
Fixed a bug in multiple-table updates when a single table is updated.
Fixed bug that caused REPAIR TABLE
and
myisamchk
to corrupt
FULLTEXT
indexes.
Fixed bug with caching the mysql
grant
table database. Now queries in this database are not cached
in the query cache.
Small fix in mysqld_safe
for some shells.
Give error if a MyISAM
MERGE
table has more than 2 ^ 32 rows and
MySQL was not compiled with -DBIG_TABLES
.
Fixed some ORDER BY ... DESC
problems
with InnoDB
tables.
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.