Date: Sun, 17 Dec 2000 18:04:50 +0200 (EET)
From: Michael Widenius <firstname.lastname@example.org>
Subject: MySQL 3.23.29 released
We have now released MySQL 3.23.29.
Because of a error in 'make install' which we discovered real late,
the binaries (which where not affected by this error) have version
3.23.29 and the source has version 3.23.29a; The main change for
3.23.29a is that 'make install' doesn't complain about a missing file
and that configure works better on Solaris 2.8.
This version includes mainly a lot of bug fixes for BDB tables
and some critical bug fixes for replication.
We will now start running our benchmark test with BDB tables with
different options and when we are satisfied that everything works ok,
we will build a MySQL 3.23 binary with support for BDB tables.
As 3.23.x series seems to be relatively stable (except BDB tables and
replication which is still in development) , we expect that we can
drop the -gamma prefix soon.
Changes in release 3.23.29
* Configure updates for Tru64, large file support and better TCP
wrappers 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
* 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'
* 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'
* 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.
* Store in BDB tables the number of rows; This helps to optimize
queries when we need an approximation of the number of row.
* 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
* Made `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
* 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 OS2 by `Yuri Dario'.
* `FLUSH TABLES table_name' didn't always flush the index tree
properly to disk.
* `--bootstrap' is now run in a separate thread. This fixes the
problem that `mysql_install_db' core dumped on some Linux machines.
* Changed `mi_create()' to use less stack.
* 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
* Allow `RESTRICT' and `CASCADE' after `DROP TABLE' to make porting
* Reset status variable which could cause problem if one used
* Added variable `connect_timeout' to `mysql' and `mysqladmin'.
* Added `connect_timeout' as an alias for `timeout' for option files
read by `mysql_options()'.