Software Update: MySQL 3.23.28 Gamma

Betanews informed us today that MySQL has released another new development version. The new features and bug fixes:

  • Fixed crash when automatic repair of MyISAM table failed.
  • Fixed a major performance bug in the table locking code when one constantly had a LOT of SELECT, UPDATE and INSERT statements running. The symptom was that the UPDATE and INSERT queries was locked a long time while new SELECT statements where executed without locks.
  • When reading options_files with mysql_options() the return-found-rows option was ignored.
  • One can now specify interactive-timeout in the option file that is read by mysql_options(). This makes it possible to force programs that runs for a long time (like mysqlhotcopy) to use interactive_timeout instead of wait_timeout.
  • We now always print when the query was made and who made it in the ‘slow query log’. If you are using –log-long-format then also queries that are not using indexes are printed.
  • Fixed problem in LEFT JOIN which caused all columns in reference table to be NULL.
  • Fixed problem when using NATURAL JOIN without keys.
  • Fixed bug when using a multi-part keys where the first part was of type TEXT or BLOB.
  • DROP of temporary tables wasn’t stored in the update/binary log.
  • Fixed bug where SELECT DISTINCT * … LIMIT # only returned 1 row.
  • Fixed a bug in the assembler code in strstr for sparc and cleaned up the global.h header file to avoid a problem with bad aliasing with the compiler submitted with RedHat 7.0. (Reported by Trond Eivind Glomsrod)
  • Fixed the –skip-networking works properly on NT.
  • Fixed long outstanding bug in the ISAM tables when a row with a length of more than 65K was shortened by a single byte.
  • Fixed bug in MyISAM when running multiple updating processes on the same table.
  • Allow one to use FLUSH TABLE tablename.
  • Changed all log files to use our own IO_CACHE mechanism instead of FILE:s to avoid OS problems when there is many files open.
  • Added options –open-files and –timezone to safe_mysqld.
  • Fixed fatal bug in CREATE TEMPORARY TABLE …SELECT ….
  • Fixed problem with CREATE TABLE .. SELECT NULL.
  • Added variables large_file_support,net_read_timeout, net_write_timeout and query_buffer_size to SHOW VARIABLES.
  • Added status variables created_tmp_files and sort_merge_passes to SHOW STATUS.
  • Fixed bug where we didn’t allow an index name after the FOREIGN KEY definition.
  • Added TRUNCATE table_name as a synonym for DELETE FROM table_name.
  • Fixed bug in a BDB key compare function when comparing part keys.
  • Added variable bdb_lock_max to mysqld.
  • Added more tests to the benchmark suite.
  • Fixed an overflow bug in the client code when using too long database names.
  • mysql_connect() now aborts on Linux if the server doesn’t answer in timeout seconds.
  • SLAVE START did not work if you started with –skip-slave-start and had not explicitly run CHANGE MASTER TO.
  • Fixed the output of SHOW MASTER STATUS to be consistent with SHOW SLAVE STATUS (no directory in the log name).
  • Added –safemalloc-mem-limit option to mysqld to simulate memory shortage when compiled –with-debug=full
  • Fixed several core dumps in out-of-memory conditions
  • SHOW SLAVE STATUS was using unititialized mutex if the slave had not been started yet
  • Fixed bug in ELT() and MAKE_SET() when the query used a temporary table
  • CHANGE MASTER TO without specifying MASTER_LOG_POS would set it to 0 instead of 4 and hit the magic number in the master binlog.
  • ALTER TABLE … ORDER BY … syntax added. This will create the new table with the rows in a specific order.

Version number 3.22.28
Operating systems Windows 9x, Windows NT, Windows 2000, Linux
Website Betanews