Fixed range optimizer bug: SELECT * FROM table_name WHERE key_part1 >= const AND (key_part2 = const OR key_part2 = const). The bug was that some rows could be duplicated in the result.
Running myisamchk without -a updated the index distribution incorrectly.
SET SQL_LOW_PRIORITY_UPDATES=1 was causing a parse error.
You can now update index columns that are used in the WHERE clause. UPDATE tbl_name SET KEY=KEY+1 WHERE KEY > 100
Date handling should now be a bit faster.
Added handling of fuzzy dates (dates where day or month is 0), such as '1999-01-00'.
Fixed optimization of SELECT ... WHERE key_part1=const1 AND key_part_2=const2 AND key_part1=const4 AND key_part2=const4; indextype should be range instead of ref.
Fixed egcs 1.1.2 optimizer bug (when using BLOB values) on Linux Alpha.
Fixed problem with LOCK TABLES combined with DELETE FROM table.
MyISAM tables now allow keys on NULL and BLOB/TEXT columns.
The following join is now much faster: SELECT ... FROM t1 LEFT JOIN t2 ON ... WHERE t2.not_null_column IS NULL.
ORDER BY and GROUP BY can be done on functions.
Changed handling of 'const_item' to allow handling of ORDER BY RAND().
Indexes are now used for WHERE key_column = function.
Indexes are now used for WHERE key_column = col_name even if the columns are not identically packed.
Indexes are now used for WHERE col_name IS NULL.
Changed heap tables to be stored in low_byte_first order (to make it easy to convert to MyISAM tables)
Automatic change of HEAP temporary tables to MyISAM tables in case of ``table is full'' errors.
Added --init-file=file_name option to mysqld.
Added COUNT(DISTINCT value, [value, ...]).
CREATE TEMPORARY TABLE now creates a temporary table, in its own namespace, that is automatically deleted if connection is dropped.
New reserved words (required for CASE): CASE, THEN, WHEN, ELSE and END.
New functions EXPORT_SET() and MD5().
Support for the GB2312 Chinese character set.