Released on 6 Feb 2008
MySQL 5.0.56 Changelog

This is a Monthly Rapid Update release of the MySQL Enterprise Server 5.0.

This section documents all changes and bugfixes that have been applied since the last MySQL Enterprise Server release (5.0.54). If you would like to receive more fine-grained and personalized update alerts about fixes that are relevant to the version and features you use, please consider subscribing to MySQL Enterprise (a commercial MySQL offering). For more details please see

Bugs Fixed

  • Important Change; MySQL Cluster: AUTO_INCREMENT columns had the following problems when used in NDB tables:

    • The AUTO_INCREMENT counter was not updated correctly when such a column was updated.

    • AUTO_INCREMENT values were not prefetched beyond statement boundaries.

    • AUTO_INCREMENT values were not handled correctly with INSERT IGNORE statements.

    • After being set, ndb_autoincrement_prefetch_sz showed a value of 1, regardless of the value it had actually been set to.

    As part of this fix, the behavior of ndb_autoincrement_prefetch_sz has changed. Setting this to less than 32 no longer has any effect on prefetching within statements (where IDs are now always obtained in batches of 32 or more), but only between statements. The default value for this variable has also changed, and is now 1. (Bug #25176, Bug #31956, Bug #32055)

  • Important Change; Replication: When the master crashed during an update on a transactional table while in autocommit mode, the slave failed. This fix causes every transaction (including autocommit transactions) to be recorded in the binary log as starting with a BEGIN and ending with a COMMIT or ROLLBACK.


    The current fix does not cause nontransactional changes to be wrapped in BEGIN ... COMMIT or BEGIN ... ROLLBACK when written to the binary log. For this purpose, any statements affecting tables using a nontransactional storage engine such as MyISAM are regarded as nontransactional, even when autocommit is enabled.

    (Bug #26395)

    References: See also Bug #29288, Bug #49522.

  • Important Note; Replication: Network timeouts between the master and the slave could result in corruption of the relay log. This fix rectifies a long-standing replication issue when using unreliable networks, including replication over wide area networks such as the Internet. If you experience reliability issues and see many You have an error in your SQL syntax errors on replication slaves, we strongly recommend that you upgrade to a MySQL version which includes this fix. (Bug #26489)

  • MySQL Cluster: An improperly reset internal signal was observed as a hang when using events in the NDB API but could result in various errors. (Bug #33206)

  • MySQL Cluster: Incorrectly handled parameters could lead to a crash in the Transaction Coordinator during a node failure, causing other data nodes to fail. (Bug #33168)

  • MySQL Cluster: The failure of a master node could lead to subsequent failures in local checkpointing. (Bug #32160)

  • MySQL Cluster: Primary keys on variable-length columns (such as VARCHAR) did not work correctly. (Bug #31635)

  • MySQL Cluster: When inserting a row into an NDB table with a duplicate value for a nonprimary unique key, the error issued would reference the wrong key.

    This improves on an initial fix for this issue made in MySQL 5.0.30 and MySQL 5.0.33 (Bug #21072)

  • Replication: A CREATE USER, DROP USER, or RENAME USER statement that fails on the master, or that is a duplicate of any of these statements, is no longer written to the binary log; previously, either of these occurrences could cause the slave to fail. (Bug #33862)

    References: See also Bug #29749.

  • Replication: SHOW BINLOG EVENTS could fail when the binary log contained one or more events whose size was close to the value of max_allowed_packet. (Bug #33413)

  • Replication: SQL statements containing comments using -- syntax were not replayable by mysqlbinlog, even though such statements replicated correctly. (Bug #32205)

  • Replication: Issuing a DROP VIEW statement caused replication to fail if the view did not actually exist. (Bug #30998)

  • Replication: Replication of LOAD DATA INFILE could fail when read_buffer_size was larger than max_allowed_packet. (Bug #30435)

  • Replication: Setting server_id did not update its value for the current session. (Bug #28908)

  • The server crashed when executing a query that had a subquery containing an equality X=Y where Y referred to a named select list expression from the parent select. The server crashed when trying to use the X=Y equality for ref-based access. (Bug #33794)

  • Use of uninitialized memory for filesort in a subquery caused a server crash. (Bug #33675)

  • The server could crash when REPEAT or another control instruction was used in conjunction with labels and a LEAVE instruction. (Bug #33618)

  • The parser permitted control structures in compound statements to have mismatched beginning and ending labels. (Bug #33618)

  • SET GLOBAL myisam_max_sort_file_size=DEFAULT set myisam_max_sort_file_size to an incorrect value. (Bug #33382)

    References: See also Bug #31177.

  • CREATE TABLE ... SELECT created tables that for date columns used the obsolete Field_date type instead of Field_newdate. (Bug #33256)

  • For DECIMAL columns used with the ROUND(X,D) or TRUNCATE(X,D) function with a nonconstant value of D, adding an ORDER BY for the function result produced misordered output. (Bug #33143)

    References: See also Bug #33402, Bug #30617.

  • Some valid SELECT statements could not be used as views due to incorrect column reference resolution. (Bug #33133)

  • The fix for Bug #11230 and Bug #26215 introduced a significant input-parsing slowdown for the mysql client. This has been corrected. (Bug #33057)

  • UNION constructs cannot contain SELECT ... INTO except in the final SELECT. However, if a UNION was used in a subquery and an INTO clause appeared in the top-level query, the parser interpreted it as having appeared in the UNION and raised an error. (Bug #32858)

  • The correct data type for a NULL column resulting from a UNION could be determined incorrectly in some cases: 1) Not correctly inferred as NULL depending on the number of selects; 2) Not inferred correctly as NULL if one select used a subquery. (Bug #32848)

  • For queries containing GROUP_CONCAT(DISTINCT col_list ORDER BY col_list), there was a limitation that the DISTINCT columns had to be the same as ORDER BY columns. Incorrect results could be returned if this was not true. (Bug #32798)

  • HOUR(), MINUTE(), and SECOND() could return nonzero values for DATE arguments. (Bug #31990)

  • sometimes set up test scenarios in which the same port number was passed to multiple servers, causing one of them to be unable to start. (Bug #31880)

  • Name resolution for correlated subqueries and HAVING clauses failed to distinguish which of two was being performed when there was a reference to an outer aliased field. This could result in error messages about a HAVING clause for queries that had no such clause. (Bug #31797)

  • ROUND(X,D) or TRUNCATE(X,D) for nonconstant values of D could crash the server if these functions were used in an ORDER BY that was resolved using filesort. (Bug #30889)

  • Views were treated as insertable even if some base table columns with no default value were omitted from the view definition. (This is contrary to the condition for insertability that a view must contain all columns in the base table that do not have a default value.) (Bug #29477)

  • An ORDER BY at the end of a UNION affected individual SELECT statements rather than the overall query result. (Bug #27848)

  • With the read_only system variable enabled, CREATE DATABASE and DROP DATABASE were permitted to users who did not have the SUPER privilege. (Bug #27440)

  • resolveip failed to produce correct results for host names that begin with a digit. (Bug #27427)

  • mysqlcheck -A -r did not correctly identify all tables that needed repairing. (Bug #25347)

  • For Windows Vista, MySQLInstanceConfig.exe did not include a proper manifest enabling it to run with administrative privileges. (Bug #22563)

    References: See also Bug #24732.

  • mysqldumpslow returned a confusing error message when no configuration file was found. (Bug #20455)