Software Update: MySQL 3.23.52

Spread the love

Stephan Oudmaijer announced that a new version of MySQL 3.23 has been released. Version 3.23.52 is mainly a bugfix release. You can download the binaries and source code download here† The MySQL changelog has the following changes to report:

  • Fixed problem with UNSIGNED BIGINT on AIX.
  • Fixed security bug when having an empty database name in the user.db table.
  • Changed initialization of RND() to make it less predicable.
  • Fixed problem with GROUP BY on result with expression that created a BLOB field.
  • Fixed problem with privilege tables when downgrading from 4.0.2 to 3.23.
  • Fixed thread bug in SLAVE START, SLAVE STOP and automatic repair of MyISAM tables that could cause table cache to be corrupted.
  • Fixed possible thread related key-cache-corruption problem with OPTIMIZE TABLE and REPAIR TABLE.
  • Added name of ‘administrator command’ logs.
  • Fixed bug with creating an auto-increment value on second part of a UNIQUE() key where first part could contain NULL values.
  • Don’t write slave-timeout reconnects to the error log.
  • Fixed bug with slave net read timeouting
  • Fixed a core dump bug with MERGE tables and MAX() function.
  • Fixed bug in ALTER TABLE with BDB tables.
  • Fixed bug when logging LOAD DATA INFILE to binary log with no active database.
  • Fixed a bug in range optimizer (causing crashes).
  • Fixed possible problem in replication when doing DROP DATABASE on a database with InnoDB tables.
  • Fixed that mysql_info() returns 0 for ‘Duplicates’ when using INSERT DELAYED IGNORE.
  • Added -DHAVE_BROKEN_REALPATH to the Mac OS X (darwin) compile options in `configure.in’ to fix a failure under high load.

[break] More extensive are the amendments in the InnoDB engine. There are some performance optimizations, improvements related to foreign key contraints and the replication code now takes transactions into account: [/break]

  • The feature set of 3.23 will be frozen from this version on. New features will go the the 4.0 branch, and only bug fixes will be made to the 3.23 branch.
  • Many CPU bound join queries now run faster. On Windows also many other CPU-bound queries run faster.
  • A new SQL command SHOW INNODB STATUS returns the output of the InnoDB Monitor to the client. The InnoDB Monitor now prints detailed info on the latest detected deadlock.
  • InnoDB made the SQL query optimizer to avoid too much index-only range scans and choose full table scans instead. This is now fixed.
  • “BEGIN” and “COMMIT” are now added in the binlog around transactions. The MySQL replication now respects transaction borders: a user will no longer see half transactions in replication slaves.
  • A replication slave now prints in crash recovery the last master binlog position it was able to recover to.
  • A new setting innodb_flush_log_at_trx_commit=2 makes InnoDB to write the log to the operating system file cache at each commit. This is almost as fast as the setting innodb_flush_log_at_trx_commit=0, and the setting 2 also has the nice feature that in a crash where the operating system does not crash, no committed transaction is lost. If the operating system crashes or there is a power outage, then the setting 2 is no safer than the setting 0.
  • Added checksum fields to log blocks.
  • SET FOREIGN_KEY_CHECKS=0 helps in importing tables in an arbitrary order which does not respect the foreign key rules.
  • SET UNIQUE_CHECKS=0 speeds up table imports into InnoDB if you have UNIQUE constraints on secondary indexes.
  • SHOW TABLE STATUS now lists also possible ON DELETE CASCADE or ON DELETE SET NULL in the comment field of the table.
  • When CHECK TABLE is run on any InnoDB type table, it now checks also the adaptive hash index for all tables.
  • If you defined ON DELETE CASCADE or SET NULL and updated the referenced key in the parent row, InnoDB deleted or updated the child row. This is now changed to conform to SQL-92: you get the error ‘Cannot delete parent row’.
  • Improved the auto-increment algorithm: now the first insert or SHOW TABLE STATUS initializes the auto-inc counter for the table. This removes almost all surprising deadlocks caused by SHOW TABLE STATUS.
  • Fixed a bug: If you updated the primary key of a table so that only the case of characters changed, that could cause assertion failures, mostly in page0page.ic line 515.
  • Fixed a bug: If you delete or update a row referenced in a foreign key constraint and the foreign key check has to wait for a lock, then the check may report an erroneous result. This also affects the ON DELETE… operation.
  • Fixed a bug: A deadlock or a lock wait timeout error in InnoDB causes InnoDB to roll back the whole transaction, but MySQL could still write the earlier SQL statements to the binlog, even though InnoDB rolled them back. This could, for example, cause replicated databases to get out-of-sync.
  • Fixed a bug: If the database happened to crash in the middle of a commit, then the recovery might leak tablespace pages.
  • Fixed a bug: If you specified a non-latin1 character set in my.cnf, then, in contrary to what is stated in the manual, in a foreign key constraint a string type column had to have the same length specification in the referencing table and the referenced table.
  • Fixed a bug: DROP TABLE or DROP DATABASE could fail if there simultaneously was a CREATE TABLE running.
  • Fixed a bug: If you configured the buffer pool bigger than 2 GB in a 32-bit computer, InnoDB would assert in buf0buf.ic line 214.
  • Fixed a bug: on 64-bit computers updating rows which contained the SQL NULL in some column could cause the undo log and the ordinary log to become corrupt.
  • Fixed a bug: innodb_log_monitor caused a hang if it suppressed lock prints for a page.
  • Fixed a bug: in the HP-UX-10.20 version mutexes would leak and cause race conditions and crashes in any part of InnoDB code.
  • Fixed a bug: if you ran in the AUTOCOMMIT mode, executed a SELECT, and immediately after that a RENAME TABLE, then RENAME would fail and MySQL would complain about error 1192.

Version number 3.23.52
Operating systems Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, macOS, OS/2, Solaris, UNIX
Website MySQL AB
Download
License type cardware
You might also like