MySQL 4.0.25, a new version of the popular Open Source/Free Software Database
Management System, has been released. It is now available in source and binary
form for a number of platforms from our download pages at
http://dev.mysql.com/downloads/ and mirror sites.
Note that not all mirror sites may be up to date at this point in time -
if you can't find this version on some mirror, please try again later or
choose another download site.
This is a bugfix release for the recent production version.
Please refer to our bug database at http://bugs.mysql.com/ for more
details about the individual bugs fixed in this version.
News from the ChangeLog:
Functionality added or changed:
* Added --with-big-tables compilation option to configure. (Previously it
was necessary to pass -DBIG_TABLES to the compiler manually in order to
enable large table support.) Section 2.8.2, "Typical configure Options"
* A problem with the my_global.h file caused compilation of MySQL to fail
on single-processor Linux systems running 2.6 kernels. (Bug #10364
* Fixed a portability problem testing for crypt() support that caused
compilation problems when using OpenSSL/yaSSL on HP-UX and Mac OS X.
(Bug #10675 (http://bugs.mysql.com/10675), Bug #11150
* MyISAM table corruption could occur with ANALYZE TABLE if a write lock
was acquired with LOCK TABLES and then an INSERT or DELETE was done
prior to analyzing the table. (Bug #10901 (http://bugs.mysql.com/10901))
* Fixed a server crash resulting from CREATE TABLE ... SELECT that
selected from a table being altered by ALTER TABLE. (Bug #10224
* InnoDB: In DROP DATABASE, check for all referencing tables from other
databases before dropping any tables. (Bug #10335
* Fixed a problem with incorrect constant propagation resulting in
incorrect evaluation of AND/OR queries. (Bug #10095
* Fixed wrong buffer usage for auto-increment key with blob part that
caused CHECK TABLE to report that the table was wrong. (Bug #10045
* No error was raised for BOOLEAN full-text searches for storage engines
that do not support full-text. (Bug #7709 (http://bugs.mysql.com/7709))
* The test in configure to see whether CXX specified gcc failed if gcc was
specified as a full pathname. (Bug #9690 (http://bugs.mysql.com/9690))
* In the mysql_real_escape_string() C API function, when a multi-byte
character is encountered that is illegal in the current character set,
escape only the first byte, not each byte. This avoids creating a valid
character from an invalid one. (Bug #9864 (http://bugs.mysql.com/9864);
this is a backport of Bug #8378 (http://bugs.mysql.com/8378) from MySQL
4.1.11 to 4.0.25)
* Fixed a deadlock resulting from use of FLUSH TABLES WITH READ LOCK while
an INSERT DELAYED statement is in progress. (Bug #7823
* Fixed a segmentation fault in mysqlcheck that occurred when the last
table checked in --auto-repair mode returned an error (such as the table
being a MERGE table). (Bug #9492 (http://bugs.mysql.com/9492))
* Fixed faulty display of TIMESTAMP columns retrieved as col_name+0 while
the new system variable is set to 1. (Bug #8894
* Queries containing CURRENT_USER() incorrectly were registered in the
query cache. (Bug #9796 (http://bugs.mysql.com/9796))
* Fixed problems with static variables to allow building on Fedora Core 3.
(Bug #6554 (http://bugs.mysql.com/6554))
* An UPDATE that updated only some of the columns in a multiple-column
index could result in a loop. (Bug #8942 (http://bugs.mysql.com/8942))
* REPAIR TABLE did not invalidate query results in the query cache that
were generated from the table. (Bug #8480 (http://bugs.mysql.com/8480))
* Fixed a bug that caused concurrent inserts to be allowed into the tables
in the SELECT ... UNION ... part of INSERT ... SELECT ... UNION ....
This could result in the incorrect order of queries in the binary log.
(Bug #9922 (http://bugs.mysql.com/9922))
* Fixed a bug that under certain circumstances could allow a privilege
escalation via database wildcards in GRANT. (Bug #3924
* <=> was not properly comparing NULL values in the WHERE clause of outer
joins. (Bug #8711 (http://bugs.mysql.com/8711))
* InnoDB: Fixed a bug: MySQL-4.0.23 and 4.0.24 could complain that an
InnoDB table created with MySQL-3.23.49 or earlier was in the new
compact InnoDB table format of 5.0.3 or later, and InnoDB would refuse
to use that table. (The same bug exists in 4.1.8 - 4.1.10.) There is
nothing wrong with the table, it is mysqld that is in error. Workaround:
wait that 4.0.25 or 4.1.11 is released before doing an upgrade, or dump
the table and recreate it with any MySQL version >= 3.23.50 before
upgrading to 4.0.23 or 4.0.24.