End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
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 you can get week
number according to the ISO 8601 specification. (Old code
should still work).
Fixed that INSERT DELAYED
threads don't hang on Waiting for INSERT
when one sends a SIGHUP
to
mysqld.
Change that AND
works according
to standard SQL when it comes to NULL
handling. In practice, this affects only queries where you do
something like WHERE ... NOT (NULL AND 0)
.
mysqld now resolves
basedir
to its full path
(with realpath()
). This enables one to use
relative symlinks to the MySQL installation directory. This
however causes show variables
to report
different directories on systems where there is a symbolic
link in the path.
Fixed that MySQL does 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 TABLE
, 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
Section 11.2.3, “Comparison Functions and Operators”). 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 is now passed on
to mysqld.
val
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 work).
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 nontransactional 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
Section B.4, “Changes in InnoDB
”.
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 does 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 TABLE
or
REPAIR TABLE
.
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 columns.
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 file name argument for the
--des-key-file
argument to
mysqld is interpreted relative to the data
directory if given as a relative path name.
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
to not
return all rows.
row_count
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
232 rows and MySQL was not compiled
with -DBIG_TABLES
.
Fixed some ORDER BY ... DESC
problems with
InnoDB
tables.
User Comments
Add your own comment.