MySQL AB heeft zonet de tweede alpha release van MySQL 4.0 uitgebracht. De meest in het oog springende nieuwe features in versie 4.0.1 zijn een query cache waarmee de resultaten van identieke SELECT queries gecached kunnen worden, en een betere en snellere fulltext search. Verder werden een groot aantal bugs gefixed. De binaries en source code kun je downloaden vanaf deze pagina. Hieronder de aankondiging van Monty op de MySQL mailinglist:
MySQL 4.0.1 is now released.
I would like to start by saying that the MySQL 4.0.0-alpha release has worked very well and we haven't (yet) found any really fatal bugs in it. Our intention is to continue with development on the 4.0 series for a couple of more weeks and then shift to work on 4.1 to let the 4.0 code quickly stabilize.
4.0.1 includes some major new features compared to 4.0.0:
Here follows the ChangeLog for 4.0.1
- A Query cache to cache results for SELECT statements. This should give a major speed improvement for queries on read-intensive tables. More information can be found at: http://www.mysql.com/doc/Q/u/Query_Cache.html
- Better and faster fulltext search. http://www.mysql.com/ doc/F/u/Fulltext_Search.html
- Extended UNION to handle braces
All bugs and features that has been done up to 3.23.46 + some from the upcoming 3.23.47 are also done in the 4.0.1 release. Some of the Bug fixes from the 3.23 series, that has found it's way to 4.0:
- Fixed bug when `HANDLER' was used with some unsupported table type.
- `mysqldump' now puts `ALTER TABLE table_name DISABLE KEYS' and `ALTER TABLE table_name DISABLE KEYS' in the sql dump.
- Added `mysql_fix_extensions' script
- Fixed stack overrun problem `LOAD DATA FROM MASTER' on OSF1.
- Fixed shutdown problem on HPUX.
- Added functions `des_encrypt()' and `des_decrypt()'.
- Added statement FLUSH DES_KEY_FILE.
- Added mysqld option `--des-key-file'.
- `HEX(string)' now returns the characters in string converted to hexadecimal.
- Fixed problem with `GRANT' when using `lower_case_table_names == 1'.
- Changed `SELECT ... IN SHARE MODE' to `SELECT .. LOCK IN SHARE MODE' (as in MySQL 3.23).
- A new query cache to cache results from identical `SELECT' queries.
- Fixed core dump bug on 64 bit machines when it got a wrong communication packet.
- `MATCH ... AGAINST(... IN BOOLEAN MODE)' can now work without `FULLTEXT' index.
- Fixed slave to replicate from 3.23 master.
- Miscellaneous replication fixes/cleanup.
- Got shutdown to work on Mac OS X.
- Added `myisam/ft_dump' utility for low-level inspection of `FULLTEXT' indexes.
- Fixed bug in `DELETE ... WHERE ... MATCH ...'.
- Added support for `MATCH ... AGAINST(... IN BOOLEAN MODE)'. *Note: you have to rebuild your tables with `ALTER TABLE tablename TYPE=MyISAM' to be able to use boolean fulltext search*.
- `LOCATE()' and `INSTR()' are case sensitive if neither argument is a binary string.
- Changed `RND()' initialization so that `RND(N)' and `RND(N+1)' are more distinct.
- Fixed core dump bug in `UPDATE ... ORDER BY'.
- Changed `INSERT INTO .. SELECT' to stop on errors by default.
- Ignore `DATA DIRECTORY' and `INDEX DIRECTORY' directives on Windows.
- Added boolean fulltext search code. It should be considered early alpha.
- Extended `MODIFY' and `CHANGE' in `ALTER TABLE' to accept the `AFTER' keyword.
- Index are now used with `ORDER' BY on a whole InnoDB table.
Last I would like to wish everyone a Merry Christmas and a bug free new year!
- InnoDB now supports `NULL' in keys.
- Fixed shutdown problem on HPUX. (Introduced in 3.23.46)
- Added 'DO expression' command.
- Fixed core-dump bug in replication when using SELECT RELEASE_LOCK();
- Added new statement DO expression,[expression].
- Added `slave-skip-errors' option
- Added statistics variables for all MySQL commands. (`SHOW STATUS' is now much longer).
- Fixed default values for InnoDB tables.
- Fixed that `GROUP BY expr DESC' works.
- Fixed bug when using `t1 LEFT JOIN t2 ON t2.key=constant'.
- `mysql_config' now also work with binary (relocated) distributions.
- Fixed problem with aliased temporary tables replication
- InnoDB and BDB tables will now use index when doing an `ORDER BY' on the whole table.
- Fixed bug where one got an empty set instead of a DEADLOCK error when using BDB tables.
- One can now kill `ANALYZE',`REPAIR' and `OPTIMIZE TABLE' when the thread is waiting to get a lock on the table.
- Fixed race condition in `ANALYZE TABLE'.
- Fixed bug when joining with caching (unlikely to happen).
- Fixed race condition when using the binary log and `INSERT DELAYED' which could cause the binary log to have rows that was not yet written to MyISAM tables.
- Changed caching of binary log to make replication slightly faster.
- Fixed bug in replication on Mac OS X.