Alterações na distribuição 3.23.2 (09 Aug 1999)
Fixed range optimiser 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
myisamchkwithout-aupdated the index distribution incorrectly. SET SQL_LOW_PRIORITY_UPDATES=1was causing a parse error.- You can now update index columns that are used in the
WHEREclause.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 berangeinstead ofref. - Fixed
egcs1.1.2 optimiser bug (when usingBLOBvalues) on Linux Alpha. - Fixed problem with
LOCK TABLEScombined withDELETE FROM table. MyISAMtables now allow keys onNULLandBLOB/TEXTcolumns.- The following join is now much faster:
SELECT ... FROM t1 LEFT JOIN t2 ON ... WHERE t2.not_null_column IS NULL. ORDER BYandGROUP BYcan 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_nameeven 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
MyISAMtables) - Automatic change of
HEAPtemporary tables toMyISAMtables in case oftable is full
errors. - Added
--init-file=file_nameoption tomysqld. - Added
COUNT(DISTINCT value, [value, ...]). CREATE TEMPORARY TABLEnow 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()andMD5(). - Support for the GB2312 Chinese character set.