Changes in release 3.23.26
--------------------------
* Fixed `<>' to work properly with `NULL'.
* Fixed a problem with `SUBSTRING_INDEX()' and `REPLACE()'. (Patch
by Alexander Igonitchev)
* Fix `CREATE TEMPORARY TABLE IF NOT EXISTS' not to give an error if
the table exists.
* If you don't create a `PRIMARY KEY' in a BDB table, a hidden
`PRIMARY KEY' will be created.
* Added read-only-key optimization to BDB tables.
* `LEFT JOIN' in some cases preferred a full table scan when there
was no `WHERE' clause.
* When using `--log-slow-queries', don't count the time waiting for
a lock.
* Fixed bug in lock code on Windows which could cause the key cache
to report that the key file was crashed even if it was okay.
* Automatic repair of `MyISAM' tables if you start `mysqld' with
`--myisam-recover'.
* Removed the `TYPE=' keyword from `CHECK' and `REPAIR'. Allow
`CHECK' options to be combined. (You can still use `TYPE=' but
this usage is deprecated.)
* Fixed mutex bug in the binary replication log - long update
queries could be read only in part by the slave if it did it at
the wrong time, which was not fatal, but resulted in a
performance-degrading reconnect and a scary message in the error
log.
* Changed the format of the binary log - added magic number, server
version, binlog version. Added server id and query error code for
each query event.
* Replication thread from the slave now will kill all the stale
threads from the same server.
* Long replication user names were not being handled properly.
* Added `--replicate-rewrite-db' option to `mysqld'.
* Added `--skip-slave-start' option to `mysqld'.
* Updates that generated an error code (such as `INSERT INTO
foo(some_key) values (1),(1)') erroneously terminated the slave
thread.
* Added optimization of queries where `DISTINCT' is only used on
columns from some of the tables.
* Allow floating-point numbers where there is no sign after the
exponent (like 1e1).
* `SHOW GRANTS' didn't always show all column grants.
* Added `--default-extra-file=#' to all MySQL clients.
* Columns referenced in `INSERT' statements now are initialized
properly.
* `UPDATE' didn't always work when used with a range on a timestamp
that was part of the key that was used to find rows.
* Fixed a bug in `FULLTEXT' index when inserting a `NULL' column.
* Changed to use `mkstemp()' instead of `tempnam()'. Based on a
patch from John Jones.