MySQL 3.23.34 is released

MySQL 3.23.34 is released

March 12, 2001

From Mon Mar 12 12:06:29 2001
Date: Mon, 12 Mar 2001 01:32:49 +0200 (EET)
From: Michael Widenius
Subject: MySQL 3.23.34 is released

MySQL 3.23.34 is now finally released. It took a little extra time to do this as we added Berkeley DB and Innobase to the MySQL source distribution. In MySQL 3.23.35 we will probably also add GEMINI tables.

The reason for adding the table handlers in 3.23 and not in 4.0 is that the table handler should not make a standard MySQL application less stable (If they don't use the new table handlers of course, in which case unexpected things may happen as the new table handlers is not as tested as the rest of the MySQL code). This will give us a little more freedom to some of the changes we want to do in 4.0.

This release fixes a couple of bugs that shouldn't affect most MySQL users. The only really critical one is that CHECK TABLE or REPAIR TABLE could under some strange conditions hang in 'waiting for table'. This problem should be fixed in this release.

The MySQL binary distributions still doesn't include support for BDB or Innobase; We will try to build a binary with support for these during the next week.

NOTE: After putting 3.23.34 out on our web site, we noticed that the source distribution missed two files needed to build support for Innobase tables. We are just now building a 3.23.34a source distribution where this is fixed.

Changes in release 3.23.34

  • Added the 'INNOBASE' table handler and the 'BDB' table handler to the *MySQL* source distribution.
  • Updated the documentation about 'GEMINI' tables.
  • Fixed thread-hang-bug in 'INSERT DELAYED' when inserting 'NULL' into an 'AUTO_INCREMENT' column.
  • 'REPLACE' will not replace a row that conflicts with an 'auto_increment' generated key.
  • 'mysqld' now only sets 'CLIENT_TRANSACTIONS' in 'mysql->server_capabilities' if the server supports a transaction safe handler.
  • Fixed that one can with 'LOAD DATA INFILE' read number values to 'ENUM' and 'SET' columns.
  • Improved error diagnostic for slave thread exit
  • Fixed bug in 'ALTER TABLE ... ORDER BY'.
  • Added option 'max_user_connections' to 'mysqld'.
  • Limit query length for replication by max_allowed_packet, not the arbitrary limit of 4 MB
  • Allow space around '=' in argument to '--set-variable'.
  • Fixed problem in automatic repair that could let some threads in state 'Waiting for table'.
  • 'SHOW CREATE TABLE' now dumps the 'UNION()' for 'MERGE' tables.
  • 'ALTER TABLE' now remembers the old 'UNION()' definition.
  • Fixed bug when replicating timestamps.
  • Fixed bug in bi-directonal replication.
  • Fixed bug in 'BDB' tables when using index on multi-part key where a key part may be 'NULL'.
  • Fixed 'MAX()' optimization on sub-key for 'BDB' tables.
  • Fixed problem with 'garbage results' when using 'BDB' tables and 'BLOB' or 'TEXT' fields when joining many tables.
  • Fixed a problem with 'BDB' tables and 'TEXT' columns.
  • Fixed bug when using a 'BLOB' key where a const row wasn't found.
  • Fixed that 'mysqlbinlog' writes the timestamp value for each query. This ensures that on gets same values for date functions like 'NOW()' when using 'mysqlbinlog' to pipe the queries to another server.
  • Allow one to use '--skip-gemini', '--skip-bdb' and '--skip-innobase' to 'mysqld' even if these databases are not compiled in 'mysqld'.
  • One can now do 'GROUP BY ... DESC'.
  • Fixed a deadlock in the 'SET' code, when one ran 'SET @foo=bar', where 'bar' is a column reference, an error was not properly generated.