Changes in release 3.23.33
--------------------------
* Fixed that DNS lookups are not using the same mutex as the hostname
cache. This will enable known hosts to be quickly resolved even
if a DNS lookup takes a long time.
* Added `--character-sets-dir' to `myisampack'.
* Removed warnings when running `REPAIR TABLE ... EXTENDED'.
* Fixed a bug that caused a core dump when using `GROUP BY' on an
alias, where the alias was the same as an existing column name.
* Added `SEQUENCE()' as an example UDF function.
* Changed `mysql_install_db' to use `BINARY' for `CHAR' columns in
the privilege tables.
* Changed `TRUNCATE table_name' to `TRUNCATE TABLE table_name' to
use the same syntax as Oracle. Until 4.0 we will also allow
`TRUNCATE table_name' to not crash old code.
* Fixed 'no found rows' bug in `MyISAM' tables when a `BLOB' was
first part of a multi-part key.
* Fixed bug where `CASE' didn't work with `GROUP BY'.
* Added option `--sort-recover' to `myisamchk'.
* `myisamchk -S' and `OPTIMIZE TABLE' now work on Windows.
* Fixed bug when using `DISTINCT' on results from functions that
referred to a group function, like:
SELECT a, DISTINCT SEC_TO_TIME(sum(a)) from table_name GROUP BY a, b;
* Fixed buffer overrun in `libmysqlclient' library. Fixed bug in
handling `STOP' event after `ROTATE' event in replication.
* Fixed another buffer overrun in `DROP DATABASE'.
* Added `Table_locks_immediate' and `Table_locks_waited' status
variables.
* Fixed bug in replication that broke slave server start with
existing `master.info'. This fixes a bug introduced in 3.23.32.
* Added `SET SQL_SLAVE_SKIP_COUNTER=n' command to recover from
replication glitches without a full database copy.
* Added `max_binlog_size' variable; the binary log will be rotated
automatically when the size crosses the limit.
* Added `Last_error', `Last_errno', and `Slave_skip_counter' to
`SHOW SLAVE STATUS'.
* Fixed bug in `MASTER_POS_WAIT()' function.
* Execute coredump handler on `SIGILL', and `SIGBUS' in addition to
`SIGSEGV'.
* On x86 Linux, print the current query and thread (connection) id,
if available, in the coredump handler.
* Fixed several timing bugs in the test suite.
* Extended `mysqltest' to take care of the timing issues in the test
suite.
* `ALTER TABLE' can now be used to change the definition for a
`MERGE' table.
* Fixed creation of `MERGE' tables on Windows.
* Portability fixes for OpenBSD and OS2.
* Added `--temp-pool' option to `mysqld'. Using this option will
cause most temporary files created to use a small set of names,
rather than a unique name for each new file. This is to work
around a problem in the Linux kernel dealing with creating a bunch
of new files with different names. With the old behavior, Linux
seems to "leak" memory, as it's being allocated to the directory
entry cache instead of the disk cache.