Released on 9 Jan 2003
MySQL 4.0.9 Changelog

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 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:

  • OPTIMIZE TABLE for MyISAM tables treats all NULL values as different when calculating cardinality. This helps in optimizing joins between tables where one of the tables has a lot of NULL values in a indexed column:

    SELECT * from t1, t2 where t1.a=t2.key_with_a_lot_of_null;
  • Added join operator FORCE INDEX (index_list). This acts likes USE INDEX (index_list) but with the addition that a table scan is assumed to be VERY expensive. One bad thing with this is that it makes FORCE a reserved word.

  • Reset internal row buffer in MyISAM after each query. This reduces memory in case you have a lot of big blobs in a table.

Bugs fixed:

  • A security patch in 4.0.8 causes the mysqld server to die if the remote host name can't be resolved. This is now fixed.

  • Fixed crash when replication big LOAD DATA INFILE statement that caused log rotation.