Based on MySQL 5.1.66, including all the bug fixes in it, Percona Server 5.1.66-14.2 is now the current stable release in the 5.1 series. All of Percona‘s software is open-source and free, all the details of the release can be found in the 5.1.66-14.2 milestone at Launchpad.
- Multiple bitmap file support for XtraDB changed page tracking has been implemented.
- HandlerSocket has been updated to version 1.1.0 (rev. 83d8f3af176e1698acd9eb3ac5174700ace40fe0).
- Fast InnoDB Checksum feature has now been deprecated.
- Fixed the upstream bug #66550 and the security vulnerability CVE-2012-4414. This was caused because user-supplied identifiers (table names, field names, etc.) are not always properly quoted, so authorized users that have privileges to modify a table (any non-temporary table) can inject arbitrary SQL into the binary log and that could cause multiple SQL injection like vulnerabilities. This bug fix comes originally from MariaDB (see MDEV-382). Bug fixed #1049871 (Vlad Lesin).
- Fixed the upstream bug #67685 and the security vulnerability CVE-2012-5611. This vulnerability allowed remote authenticated users to execute arbitrary code via a long argument to the
GRANT FILEcommand. This bug fix comes originally from MariaDB (see MDEV-3884). Bug fixed #1083377 (Vlad Lesin).
Rows_readwas calculated in a way which lead to a negative value being printed in the slow query log. Fixed by making
Rows_readto be a synonym for
Rows_examinedin the slow query log. Bug fixed #830286 (Alexey Kopytov).
- Fixed the package dependencies for CentOS 6, that caused conflicts during the install. Bug fixed #908620 (Ignacio Nin).
- innodb_fake_changes would allocate too many extents on
UPDATE. In some cases this could cause infinite loop. Bug fixed #917942 (Mark Callaghan, Laurynas Biveinis).
- Crash-resistant replication would break with binlog XA transaction recovery. If a crash would happened between
COMMITstages, the prepared InnoDB transaction would not have the slave position recorded and thus would fail to update it once it is replayed during binlog crash recovery. Bug fixed #1012715 (Laurynas Biveinis).
- Although fake change transactions downgrade the requested exclusive (X) row locks to shared (S) locks, these S locks prevent X locks from being taken and block the real changes. This fix introduces a new option innodb_locking_fake_changes which, when set to
FALSE, makes fake transactions not to take any row locks. Bug fixed #1064326 (Mark Callaghan, Laurynas Biveinis).
- Fake changes were increasing the changed row and userstat counters. Bug fixed #1064333 (Laurynas Biveinis).
- Log tracking was initialized too late during the InnoDB startup. Bug fixed #1076892 (Laurynas Biveinis).
- Temporary files created by binary log cache were not purged after transaction commit. Fixed by truncating the temporary file, if used for a binary log transaction cache, when committing or rolling back a statement or a transaction. Bug fixed #1070856 (Alexey Kopytov).
- There is no need to scan buffer pool for AHI entries after the B-trees for the tablespace have been dropped, as that will already clean them. Bug fixed #1076215 (Laurynas Biveinis).
mysqldumpwas used with
--innodb-optimize-keys, it did not handle composite indexes correctly when verifying if the optimization is applicable with respect to
AUTO_INCREMENTcolumns. Bug fixed #1039536 (Alexey Kopytov).
- In cases where indexes with
AUTO_INCREMENTcolumns where correctly detected,
mysqldumpprevented all such keys from optimization, even though it is sufficient to skip just one (e.g. the first one). Bug fixed #1081003 (Alexey Kopytov).
- Slow Query Log code did not handle the case of individual statements in stored procedures correctly, this caused
Query_timeto increase for every query stored procedure logged to the slow query log. Bug fixed #719386 (Alexey Kopytov).
Other bug fixes: bug fixed #901060 (Laurynas Biveinis), bug fixed #1071877 (Laurynas Biveinis), bug fixed #1090596 (Stewart Smith), bug fixed #1050466 (Laurynas Biveinis), bug fixed #890404 (Laurynas Biveinis), bug fixed #1061118 (Hrvoje Matijakovic).