Changes in release 3.23.23
--------------------------
* Changed sort order for 'German'; All tables created with 'German'
sortorder must be repaired with `REPAIR TABLE' or `myisamchk'
before use!
* Added option `--core-file' to `mysqld' to get a core file on Linux
if `mysqld' dies on the SIGSEGV signal.
* MySQL client `mysql' now starts with option `--no-named-commands'
(`-g') by default. This option can be disabled with
`--enable-named-commands' (`-G'). This may cause incompatibility
problems in some cases, for example, in SQL scripts that use named
commands without a semicolon, etc. ! Long format commands still
work from the first line.
* Fixed a problem when using many pending `DROP TABLE' statements at
the same time.
* Optimizer didn't use keys properly when using `LEFT JOIN' on an
empty table.
* Added shorter help text when invoking `mysqld' with incorrect
options.
* Fixed non-fatal `free()' bug in `mysqlimport'.
* Fixed bug in `MyISAM' index handling of `DECIMAL'/`NUMERIC' keys.
* Fixed a bug in concurrent insert in `MyISAM' tables; In some
contexts, usage of `MIN(key_part)' or `MAX(key_part)' returned an
empty set.
* Updated `mysqlhotcopy' to use the new `FLUSH TABLES table_list'
syntax. Only tables which are being backed up are flushed now.
* Changed behavior of `--enable-thread-safe-client' so that both
non-threaded (`-lmysqlclient') and threaded (`-lmysqlclient_r')
libraries are built. Users who linked against a threaded
`-lmysqlclient' will need to link against `libmysqlclient_r' now.
* Added atomic `RENAME' command.
* Don't count entries with `NULL' in `COUNT(DISTINCT ...)'.
* Changed `ALTER TABLE', `LOAD DATA INFILE' on empty tables and
`INSERT ... SELECT ...' on empty tables to create non-unique
indexes in a separate batch with sorting. This will make the above
calls much faster when you have many indexes.
* `ALTER TABLE' now logs the first used insert_id correctly.
* Fixed crash when adding a default value to a `BLOB' column.
* Fixed a bug with `DATE_ADD/DATE_SUB' where it returned a datetime
instead of a date.
* Fixed a problem with the thread cache which made some threads show
up as `***DEAD***' in `SHOW PROCESSLIST'.
* Fixed a lock in our thr_rwlock code, which could make selects that
run at the same time as concurrent inserts crash. This only
affects systems that don't have the `pthread_rwlock_rdlock' code.
* When deleting rows with a non-unique key in a HEAP table, all rows
weren't always deleted.
* Fixed bug in range optimizer for HEAP tables for searches on a
part index.
* Fixed that `SELECT' on part keys works with BDB tables.
* Fixed `INSERT INTO bdb_table ... SELECT' to work with BDB tables.
* `CHECK TABLE' now updates key statistics for the table.
* `ANALYZE TABLE' will now only update tables that have been changed
since thee last `ANALYZE'. Note that this is a new feature and
tables will not be marked to be analyzed until they are updated in
any way with 3.23.23 or newer. For older tables, you have to do
`CHECK TABLE' to update the key distribution.
* Fixed some minor privilege problems with `CHECK', `ANALYZE',
`REPAIR' and `SHOW CREATE' commands.
* Added `CHANGE MASTER TO' command.
* Added `FAST', `QUICK' `EXTENDED' check types to `CHECK TABLES'.
* Changed `myisamchk' so that `--fast' and `--check-changed-tables'
are also honored with `--sort-index' and `--analyze'.
* Fixed fatal bug in `LOAD TABLE FROM MASTER' that did not lock the
table during index re-build.
* `LOAD DATA INFILE' broke replication if the database was excluded
from replication.
* More variables in `SHOW SLAVE STATUS' and `SHOW MASTER STATUS'.
* `SLAVE STOP' now will not return until the slave thread actually
exits.
* Full text search via the `MATCH' function and `FULLTEXT' index
type. (For MyISAM files). This makes `FULLTEXT' a reserved word.