Released on 21 Dec 2005
MySQL 5.0.18 Changelog
  • Functionality Added or Changed

  • Bugs Fixed

Functionality Added or Changed

  • The server treats stored routine parameters and local variables (and stored function return values) according to standard SQL. Previously, parameters, variables, and return values were treated as items in expressions and were subject to automatic (silent) conversion and truncation. Now the data type is observed. Data type conversion and overflow problems that occur in assignments result in warnings, or errors in strict mode. The CHARACTER SET clause for character data type declarations is used. Parameters, variables, and return values must be scalars; it is no longer possible to assign a row value. Also, stored functions execute using the sql_mode value in force at function creation time rather than ignoring it. For more information, see CREATE PROCEDURE and CREATE FUNCTION Syntax. (Bug #13808, Bug #12903, Bug #9078, Bug #14161, Bug #13705, Bug #13909, Bug #15148, Bug #8769, Bug #8702, Bug #9572, Bug #8768)

  • It is now possible to build the server such that MyISAM tables can support up to 128 keys rather than the standard 64. This can be done by configuring the build using the option --with-max-indexes=N , where N?128 is the maximum number of indexes to permit per table. (Bug #10932)

Bugs Fixed

  • MySQL Cluster: If an abort by the Transaction Coordinator timed out, the abort condition was incorrectly handled, causing the transaction record to be released prematurely. (Bug #15685)

  • MySQL Cluster: The ndb_read_multi_range.test script failed to drop a table, causing the test to fail. (Bug #15675)

    References: See also Bug #15402.

  • MySQL Cluster: Under some circumstances, it was possible for a restarting node to undergo a forced shutdown. (Bug #15632)

  • MySQL Cluster: A node which failed during cluster startup was sometimes not removed from the internal list of active nodes. (Bug #15587)

  • Replication: A replication slave server could sometimes crash on a BEFORE UPDATE trigger if the UPDATE query was not executed in the same database as the table with the trigger. (Bug #14614)

  • When a connection using yaSSL was aborted, the server would continue to try to read the closed socket, and the thread continued to appear in the output of SHOW PROCESSLIST. Note that this issue did not affect secure connection attempts using OpenSSL. (Bug #15772)

  • API function mysql_stmt_prepare() returned wrong field length for TEXT columns. (Bug #15613)

  • InnoDB: Having two tables in a parent-child relationship enforced by a foreign key where one table used ROW_FORMAT=COMPACT and the other used ROW_FORMAT=REDUNDANT could result in a MySQL server crash. Note that this problem did not exist prior to MySQL 5.0.3, when the compact row format for InnoDB was introduced. (Bug #15550)

  • BDB: A DELETE, INSERT, or UPDATE of a BDB table could cause the server to crash where the query contained a subquery using an index read. (Bug #15536)

  • Resolution of the argument to the VALUES() function to a variable inside a stored routine caused a server crash. The argument must be a table column. (Bug #15441)

  • A left join on a column that having a NULL value could cause the server to crash. (Bug #15268)

  • The output of mysqldump --triggers did not contain the DEFINER clause in dumped trigger definitions. (Bug #15110)

  • Reversing the order of operands in a WHERE clause testing a simple equality (such as WHERE t1.col1 = t2.col2) would produce different output from EXPLAIN. (Bug #15106)

  • The output of SHOW TRIGGERS contained extraneous whitespace. (Bug #15103)

  • Creating a trigger caused a server crash if the table or trigger database was not known because no default database had been selected. (Bug #14863)

  • Column aliases were displayed incorrectly in a SELECT from a view following an update to a base table of the view. (Bug #14861)

  • SHOW [FULL] COLUMNS and SHOW INDEX did not function with temporary tables. (Bug #14387, Bug #15224)

  • The INFORMATION_SCHEMA.COLUMNS table did not report the size of BINARY or VARBINARY columns. (Bug #14271)

  • InnoDB: If foreign_key_checks was 0, InnoDB permitted inconsistent foreign keys to be created. (Bug #13778)

  • The server would not compile under Cygwin. (Bug #13640)

  • DESCRIBE did not function with temporary tables. (Bug #12770)

  • Set functions could not be aggregated in outer subqueries. (Bug #12762)

  • A race condition when creating temporary files caused a deadlock on Windows with threads in Opening tables or Waiting for table states. (Bug #12071)