Changes in release 3.23.29
--------------------------
* Configure updates for Tru64, large file support, and better TCP
wrapper support. By Albert Chin-A-Young.
* Fixed bug in `<=>' operator.
* Fixed bug in `REPLACE' with BDB tables.
* `LPAD()' and `RPAD()' will shorten the result string if it's longer
than the length argument.
* Added `SHOW LOGS' command.
* Remove not used BDB logs on shutdown.
* When creating a table, put `PRIMARY' keys first, followed by
`UNIQUE' keys.
* Fixed a bug in `UPDATE' involving multi-part keys where one
specified all key parts both in the update and the `WHERE' part. In
this case MySQL could try to update a record that didn't match the
whole `WHERE' part.
* Changed drop table to first drop the tables and then the `.frm'
file.
* Fixed a bug in the hostname cache which caused `mysqld' to report
the hostname as `''' in some error messages.
* Fixed a bug with `HEAP' type tables; the variable
`max_heap_table_size' wasn't used. Now either `MAX_ROWS' or
`max_heap_table_size' can be used to limit the size of a `HEAP'
type table.
* Changed the default server-id to 1 for masters and 2 for slaves to
make it easier to use the binary log.
* Renamed variable `bdb_lock_max' to `bdb_max_lock'.
* Added support for `auto_increment' on sub-fields for BDB tables.
* Added `ANALYZE' of BDB tables.
* In BDB tables, we now store the number of rows; This helps to
optimize queries when we need an approximation of the number of
rows.
* If we get an error in a multi-row statement, we now only rollback
the last statement, not the entire transaction.
* If you do a `ROLLBACK' when you have updated a non-transactional
table you will get an error as a warning.
* Added option `--bdb-shared-data' to `mysqld'.
* Added status variable `Slave_open_temp_tables'.
* Added variables `binlog_cache_size' and `max_binlog_cache_size' to
`mysqld'.
* `DROP TABLE', `RENAME TABLE', `CREATE INDEX' and `DROP INDEX' are
now transaction endpoints.
* If you do a `DROP DATABASE' on a symbolic linked database, both
the link and the original database is deleted.
* Fixed that `DROP DATABASE' works on OS/2.
* Fixed bug when doing a `SELECT DISTINCT ... table1 LEFT JOIN
table2 ...' when table2 was empty.
* Added `--abort-slave-event-count' and
`--disconnect-slave-event-count' options to `mysqld' for debugging
and testing of replication.
* Fixed replication of temporary tables. Handles everything except
slave server restart.
* `SHOW KEYS' now shows whether or not key is `FULLTEXT'.
* New script `mysqld_multi'. Note:`mysqld_multi'.
* Added new script, `mysql-multi.server.sh'. Thanks to Tim Bunce
<Tim.Bunce@ig.co.uk> for modifying `mysql.server' to easily handle
hosts running many `mysqld' processes.
* `safe_mysqld', `mysql.server', and `mysql_install_db' have been
modified to use `mysql_print_defaults' instead of various hacks to
read the `my.cnf' files. In addition, the handling of various
paths has been made more consistent with how `mysqld' handles them
by default.
* Automatically remove Berkeley DB transaction logs that no longer
are in use.
* Fixed bug with several `FULLTEXT' indexes in one table.
* Added a warning if number of rows changes on `REPAIR'/`OPTIMIZE'.
* Applied patches for OS/2 by `Yuri Dario'.
* `FLUSH TABLES table_name' didn't always flush the index tree to
disk properly.
* `--bootstrap' is now run in a separate thread. This fixes a problem
that caused `mysql_install_db' to core dump on some Linux machines.
* Changed `mi_create()' to use less stack space.
* Fixed bug with optimizer trying to over-optimize `MATCH' when used
with `UNIQUE' key.
* Changed `crash-me' and the MySQL benchmarks to also work with
FrontBase.
* Allow `RESTRICT' and `CASCADE' after `DROP TABLE' to make porting
easier.
* Reset status variable which could cause problem if one used
`--slow-log'.
* Added variable `connect_timeout' to `mysql' and `mysqladmin'.
* Added `connect_timeout' as an alias for `timeout' for option files
read by `mysql_options()'.