Bugs Fixed
Security Fix: A security bug was fixed. (Bug #64884)
Security Fix: A security bug was fixed. (Bug #59387)
Important Change; Partitioning: The query cache did not always function correctly with partitioned tables in a transactional context. For this reason, the query cache is now disabled for any queries using partitioned tables, and such queries can no longer be cached. For more information, see Restrictions and Limitations on Partitioning. (Bug #11761296, Bug #53775)
InnoDB:
Deleting a huge amount of data from InnoDB
tables within a short time could cause the purge operation that
removes delete-marked records to stall. This issue could result
in unnecessary disk space use, but does not cause any problems
with data integrity. If this issue causes a disk space shortage,
restart the server to work around it. This issue is only likely
to occur on 32-bit platforms.
(Bug #13847885)
InnoDB: The server could halt with an assertion error when the schema contained a large number of foreign key constraints, frequently being created and dropped, concurrent with other DML and DDL operations:
InnoDB: Assertion failure in thread thread_num in file data0data.ic line 344
InnoDB: Failing assertion: n < tuple->n_fields
(Bug #13635833)
InnoDB:
If the server crashed during a TRUNCATE
TABLE or CREATE INDEX
statement for an InnoDB table, or a
DROP DATABASE statement for a
database containing InnoDB tables, an index
could be corrupted, causing an error message when accessing the
table after restart:
InnoDB: Error: trying to load indexindex_namefor tabletable_nameInnoDB: but the index tree has been freed!
In MySQL 5.1, this fix applies to the InnoDB Plugin, but not the built-in InnoDB storage engine. (Bug #12861864, Bug #11766019)
InnoDB:
When data was removed from an InnoDB table,
newly inserted data might not reuse the freed disk blocks,
leading to an unexpected size increase for the system tablespace
or .ibd file (depending on the setting of
innodb_file_per_table. The
OPTIMIZE TABLE could compact a
.ibd file in some cases but not others. The
freed disk blocks would eventually be reused as additional data
was inserted.
(Bug #11766634, Bug #59783)
Replication:
The --relay-log-space-limit
option was sometimes ignored.
More specifically, when the SQL thread went to sleep, it allowed the I/O thread to queue additional events in such a way that the relay log space limit was bypassed, and the number of events in the queue could grow well past the point where the relay logs needed to be rotated. Now in such cases, the SQL thread checks to see whether the I/O thread should rotate and provide the SQL thread a chance to purge the logs (thus freeing space).
Note that, when the SQL thread is in the middle of a transaction, it cannot purge the logs; it can only ask for more events until the transaction is complete. Once the transaction is finished, the SQL thread can immediately instruct the I/O thread to rotate. (Bug #12400313, Bug #64503)
References: See also Bug #13806492.
Mishandling of
NO_BACKSLASH_ESCAPES SQL mode
within stored procedures on slave servers could cause
replication failures.
(Bug #12601974)
If the system time was adjusted backward during query execution, the apparent execution time could be negative. But in some cases these queries would be written to the slow query log, with the negative execution time written as a large unsigned number. Now statements with apparent negative execution time are not written to the slow query log. (Bug #63524, Bug #13454045)
References: See also Bug #27208.
SHOW statements treated stored
procedure, stored function, and event names as case sensitive.
(Bug #56224, Bug #11763507)
mysql_store_result() and
mysql_use_result() are not for
use with prepared statements and are not intended to be called
following mysql_stmt_execute(),
but failed to return an error when invoked that way in
libmysqld.
(Bug #62136, Bug #13738989)
References: See also Bug #47485.
On Windows, mysqlslap crashed for attempts to connect using shared memory. (Bug #31173, Bug #11747181, Bug #59107, Bug #11766072)
