This release includes InnoDB Plugin 1.0.6. This version is considered of Release Candidate (RC) quality. In this release, the InnoDB Plugin is included in source and binary distributions, except RHEL3, RHEL4, SuSE 9 (x86, x86_64, ia64), and generic Linux RPM packages. It also does not work for FreeBSD 6 and HP-UX or for Linux on generic ia64.

Functionality added or changed:

mysqltest has a new --max-connections option to set a higher number of maximum allowed server connections than the default 128. This option can also be passed via mysql-test-run.pl. (Bug#51135)

mysql-test-run.pl has a new --portbase option and a corresponding MTR_PORT_BASE environment variable for setting the port range, as an alternative to the existing --build-thread option. (Bug#50182)

mysql-test-run.pl has a new --gprof option that runs the server through the gprof profiler, much the same way the currently supported --gcov option runs it through gcov. (Bug#49345)

mysqltest has a new lowercase_result command that converts the output of the next statement to lowercase. This is useful for test cases where the lettercase may vary between platforms. (Bug#48863)

mysqltest has a new remove_files_wildcard command that removes files matching a pattern from a directory. (Bug#39774)

Bugs fixed:

Partitioning: Attempting to drop a partitioned table from one connection while waiting for the completion of an ALTER TABLE that had been issued from a different connection, and that changed the storage engine used by the table, could cause the server to crash. (Bug#42438)

Replication: Adding an index to a table on the master caused the slave to stop logging slow queries to the slow query log. (Bug#50620)

Replication: Queries which were written to the slow query log on the master were not written to the slow query log on the slave. (Bug#23300) See also Bug#48632.

mysqld_multi failed due to a syntax error in the script. (Bug#51468)

Referring to a subquery result in a HAVING clause could produce incorrect results. (Bug#50995)

Use of filesort plus the join cache normally is preferred to a full index scan. But it was used even if the index is clustered, in which case, the clustered index scan can be faster. (Bug#50843)

For debug builds, SHOW BINARY LOGS caused an assertion to be raised if binary logging was not enabled. (Bug#50780)

The server did not recognize that the stored procedure cache became invalid if a view was created or modified within a procedure, resulting in a crash. (Bug#50624)

Incorrect handling of BIT columns in temporary tables could lead to spurious duplicate-key errors. (Bug#50591)

The second or subsequent invocation of a stored procedure containing DROP TRIGGER could cause a server crash. (Bug#50423)

Full-text queries that used the truncation operator (*) could enter an infinite loop. (Bug#50351)

For debug builds, an assertion was incorrectly raised in the optimizer when matching ORDER BY expressions. (Bug#50335)

For debug builds, with sql_safe_updates enabled, a multiple-table UPDATE with the IGNORE modifier could raise an assertion. (Bug#49534)

EXPLAIN EXTENDED crashed trying to print column names for a subquery in the FROM clause when the table had gone out of scope. (Bug#49487)

mysqltest no longer lets you execute an SQL statement on a connection after doing a send command, unless you do a reap first. This was previously accepted but could produce unpredictable results. (Bug#49269)

For debug builds on Windows, warnings about incorrect use of debugging directives were written to the error log. The directives were rewritten to eliminate these messages. (Bug#49025)

Building MySQL on Fedora Core 12 64-bit failed, due to errors in comp_err. (Bug#48864)

An ARZ file missing from the database directory caused the server to crash. (Bug#48757)

Running SHOW CREATE TABLE on a view v1 that contained a function which accessed another view v2 could trigger a infinite loop if the view (v2) referenced within the function caused a warning to be raised while being opened. (Bug#48449)

Invalid memory reads could occur following a query that referenced a MyISAM tale multiple times with a write lock. (Bug#48438)

For debug builds, creating a view containing a row constructor caused an assertion to be raised. (Bug#48294)

Slow CALL statements were not always logged to the slow query log because execution time for multiple-statement stored procedures was assessed incorrectly. (Bug#47905)

For debug builds, killing a SELECT retrieving from a view that was processing a function caused an assertion to be raised. (Bug#47736)

Failure to open a view with a nonexistent DEFINER was improperly handled and the server would crash later attempting to lock the view. (Bug#47734)

If EXPLAIN encountered an error in the query, a memory leak occurred. (Bug#45989)

Grouping by a subquery in a query with a DISTINCT aggregate function led to incorrect and unordered grouping values. (Bug#45640)

Propagation of a large unsigned numeric constant in WHERE expressions could lead to incorrect results. This also affected EXPLAIN EXTENDED, which printed incorrect numeric constants in such transformed WHERE expressions. (Bug#45360)