MySQL 5.0.5 Changelog

No public release of MySQL 5.0.5 was made. The changes described in this section are available in MySQL 5.0.6.

  • Functionality Added or Changed

  • Bugs Fixed

Functionality Added or Changed

  • MySQL Cluster: More informative error messages are provided when a query is issued against an NDB table that has been modified by another mysqld server. (Bug #6762)

  • InnoDB: When foreign_key_checks = 0, ALTER TABLE and RENAME TABLE will ignore any type incompatibilities between referencing and referenced columns. Thus, it will be possible to convert the character sets of columns that participate in a foreign key. Be sure to convert all tables before modifying any data! (Bug #9802)

  • SHOW VARIABLES no longer displays the deprecated log_update system variable. (Bug #9738)

  • Added support for the BIT data type to the MEMORY, InnoDB, and BDB storage engines.

  • The behavior controlled by the --innodb-fast-shutdown option now can be changed at runtime by setting the value of the global innodb_fast_shutdown system variable. It now accepts values 0, 1 and 2 (except on Netware where 2 is disabled). If set to 2, then when the MySQL server shuts down, InnoDB will just flush its logs and shut down brutally (and quickly) as if a MySQL crash had occurred; no committed transaction will be lost, but a crash recovery will be done at next startup.

Bugs Fixed

  • Security Fix: Starting mysqld with --user=non_existent_user caused it to run using the privileges of the account from which it was invoked, including the root account. (Bug #9833)

  • A memory leak occurred when selecting from a view that contained a subquery. (Bug #10107)

  • Setting the storage_engine system variable to MEMORY succeeded, but retrieving the variable resulted in a value of HEAP (the old name for the MEMORY storage engine) rather than MEMORY. (Bug #10039)

  • Queries containing CURRENT_USER() incorrectly were registered in the query cache. (Bug #9796)

  • Invoking a stored function that returned a value having an ENUM or SET data type caused the server to crash. (Bug #9775)

  • A string length comparison problem caused mysql to fail when loading dump files containing certain escape sequences containing a backslash character (\). (Bug #9756)

  • After an internal temporary table became too large in memory and had to be converted to an on-disk table, the error indicator was not cleared and the query failed with error 1023 Can't find record in ''. (Bug #9703)

  • Use of a subquery that used WITH ROLLUP in the FROM clause of the main query sometimes resulted in a Column cannot be null error. (Bug #9681)

  • InnoDB: Assertion failures of types ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED) and prebuilt->template_type == 0 could occur when performing multi-table updates. This bug was introduced in 4.1.10 and 4.0.24. (Bug #9670)

  • A problem with readlinecaused the mysql client to crash when the user pressed Control+R.. (Bug #9568)

  • Executing LOCK TABLES and then calling a stored procedure caused an error and resulting in the server thinking that no stored procedures exist. (Bug #9566)

  • The server died with signal 11 if a nonexistent location was specified for the location of the binary log. Now the server exits after printing an appropriate error message. (Bug #9542)

  • Incorrect results were returned for queries of the form SELECT ... LEFT JOIN ... WHERE EXISTS (subquery), where the subquery selected rows based on an IS NULL condition. (Bug #9516)

  • A segmentation fault in mysqlcheck occurred when the last table checked in --auto-repair mode returned an error (such as the table being a MERGE table). (Bug #9492)

  • Within a stored procedure, attempting to execute a multiple-table UPDATE failed with a Table 'tbl_name' was locked with a READ lock and can't be updated error. (Bug #9486)

  • mysqlshow displayed an incorrect row count for tables. (Bug #9391)

  • InnoDB: Next-key locking did not permit inserts which did not produce a phantom. If the range is of type 'a' <= uniquecolumn, InnoDB lock only the RECORD, if the record with the column value 'a' exists in a CLUSTERED index. This enables inserts before a range. (Bug #9354)

  • The optimizer did not compute the union of two ranges for the OR operator correctly. (Bug #9348)

  • Corrected a failure to resolve a column reference correctly for a LEFT JOIN that compared a join column to an IN subquery. (Bug #9338)

  • OPTIMIZE TABLE was written twice to the binary log when used on InnoDB tables. (Bug #9149)

  • Multiple-table updates could produce spurious data-truncation warnings if they used a join across columns that are indexed using a column prefix. (Bug #9103)

  • Invocation of a stored function that returned a value having a BLOB data type caused the server to crash. (Bug #9102)

  • For stored functions that should return a YEAR value, corrected a failure of the value to be in YEAR format. (Bug #8861)

  • Selecting from a view containing a subquery caused the server to hang. (Bug #8490)

  • TIMEDIFF() with a negative time first argument and positive time second argument produced incorrect results. (Bug #8068)

  • Invocation of a stored function that returned a value having a BIT data type caused the server to crash. (Bug #7648)

  • SET @var= CAST(NULL AS [INTEGER|CHAR]) now sets the result type of the variable to INTEGER/CHAR. (Bug #6598)

  • The client/server protocol permitted the server to close the connection before sending the final error message. The problem could show up as a Lost connection to MySQL server error during a query when attempting to connect and access a nonexistent database. (Bug #6387, Bug #9455)

  • Column references were not properly resolved when an outer join involving a view contained a subquery and the column was used both in the subquery and the outer query. (Bug #6107, Bug #6106)

  • InnoDB: Prevent ALTER TABLE from changing the storage engine if there are foreign key constraints on the table. (Bug #5574, Bug #5670)