Functionality Added or Changed
There is a new
variable to configure the locking behavior that
InnoDB uses for generating auto-increment
values. The default behavior now is slightly different from
before, which involves a minor incompatibility for multiple-row
inserts that specify an explicit value for the auto-increment
column in some but not all rows. See
AUTO_INCREMENT Handling in InnoDB.
MySQL Cluster; Replication:
(Replication): Multi-master replication setups did not handle
TIMESTAMP columns made
with ndb_restore on a MySQL Cluster using
data nodes hosts of one endian could not be used to restore the
cluster's data to data node hosts of the other endian.
Replication: Operations that used the time zone replicated the time zone only for successful operations, but did not replicate the time zone for errors that need to know it. (Bug #29536)
Replication: Row-based replication from a pre-5.1.22 MySQL Server to a MySQL 5.1.22 was unstable due to an uninitialized variable. (Bug #31076)
InnoDB table if a
SELECT was ordered by the primary
key and also had a
WHERE field = value clause
on a different field that was indexed, a
order instruction would be ignored.
Tables using the
InnoDB storage engine
AUTO_INCREMENT values incorrectly
ON DUPLICATE KEY UPDATE.
When using a combination of
DELETE on a table, MySQL
continued to open new copies of the table every time, leading to
an exhaustion of file descriptors.
References: This bug was introduced by Bug #21587.
Nonrange queries of the form
SELECT ... FROM ... WHERE
sometimes were unnecessarily
blocked waiting for a lock if another transaction was using
ORDER BY ... FOR UPDATE
SELECT ... FOR
UPDATE on the same table.
mysql_install_db could fail to find its message file. (Bug #30678)
mysql_list_fields() C API
function incorrectly set
MYSQL_FIELD::decimals for some view columns.
Under some circumstances, a UDF initialization function could be passed incorrect argument lengths. (Bug #29804)
mysqldump from the MySQL 5.1.21 distribution could not be used to create a dump from a MySQL 5.1.20 or older server. (Bug #30123)
The server created temporary tables for filesort operations in
the working directory, not in the directory specified by the
tmpdir system variable.
Read lock requests that were blocked by a pending write lock request were not permitted to proceed if the statement requesting the write lock was killed. (Bug #21281)
CONNECTION_ID() always returned 0
for the embedded server (
Memory corruption occurred for some queries with a top-level
OR operation in the
condition if they contained equality predicates and other
sargable predicates in disjunctive parts of the condition.
On Windows, symbols for yaSSL and taocrypt were missing from
mysqlclient.lib, resulting in unresolved
symbol errors for clients linked against that library.