InnoDB Plugin Notes
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 permitted server connections than the default 128.
This option can also be passed using
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
mysql-test-run.pl now has a
--gprof option that runs the server through the
gprof profiler, much the same way the
--gcov option runs it
mysqltest now has a
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.
mysqltest now has a
remove_files_wildcard command that removes
files matching a pattern from a directory.
SHOW INNODB STATUS could display incorrect
information about deadlocks, when the deadlock detection routine
stops early (to avoid excessive CPU usage).
Attempting to drop a partitioned table from one connection while
waiting for the completion of an
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.
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 written to the slow query log on the master were not written to the slow query log on the slave. (Bug #23300)
References: See also Bug #48632.
mysqld_multi failed due to a syntax error in the script. (Bug #51468)
Referring to a subquery result in a
clause could produce incorrect results.
The optimizer normally prefers use of
filesort plus the join cache to a full index
scan. But this combination was used even if the index is
clustered, in which case, the clustered index scan can be
For debug builds,
LOGS raised an assertion if binary logging was not
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
in temporary tables could lead to spurious duplicate-key errors.
The second or subsequent invocation of a stored procedure
DROP TRIGGER could
cause a server crash.
Full-text queries that used the truncation operator
*) could enter an infinite loop.
For debug builds, an assertion was incorrectly raised in the
optimizer when matching
ORDER BY expressions.
Queries optimized with
GROUP_MIN_MAX did not
KEYREAD optimizations properly,
causing subsequent queries to return incomplete rows.
EXPLAIN EXTENDED crashed trying
to print column names for a subquery in the
FROM clause when the table had gone out of
InnoDB tables, the test for
using an index for
ORDER BY sorting did not
distinguish between primary keys and secondary indexes and
expected primary key values to be concatenated to index values
the way they are to secondary key values.
mysqltest no longer permits you to 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.
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)
.ARZ file missing from the database
directory caused the server to crash.
SHOW CREATE TABLE on a
v1 that contained a function which
accessed another view
v2 could trigger a
infinite loop if the view referenced within the function
v2) caused a warning to be raised while
Invalid memory reads could occur following a query that
MyISAM table multiple
times with a write lock.
For debug builds, creating a view containing a row constructor raised an assertion. (Bug #48294)
CALL statements were not
always logged to the slow query log because execution time for
multiple-statement stored procedures was assessed incorrectly.
For debug builds, killing a
SELECT retrieving from a view
that was processing a function raised an assertion.
Failure to open a view with a nonexistent
DEFINER was improperly handled and the server
crashed later attempting to lock the view.
EXPLAIN encountered an error
in the query, a memory leak occurred.
Grouping by a subquery in a query with a
DISTINCT aggregate function led to incorrect
and unordered grouping values.
Propagation of a large unsigned numeric constant in
WHERE expressions could lead to incorrect
results. This also affected
EXTENDED, which printed incorrect numeric constants in
Valgrind warnings about uninitialized variables in optimizer code were corrected. (Bug #45195)
flush_cache_records() did not correctly check
for errors that should cause statement execution to stop,
leading to a server crash.
InnoDB logged an error repeatedly
trying to load a page into the buffer pool, filling the error
log and using excessive disk space. Now the number of attempts
is limited to 100, after which the operation aborts with a
When building MySQL when using a different target directory (for
example using the
variable), the build of the embedded