MySQL Server 5.6.13 has been released, and is available (as always) in GPL-licensed Community builds as well as commercial-license builds for evaluation and customer use. By my count, the release notes show just over 100 bugs fixed, improving user experiences both for community and customer users of MySQL 5.6 alike. The MySQL community was an integral part of that effort, submitting almost 40 of the bug reports fixed in 5.6.13. I’m taking this opportunity to express my gratitude on behalf of the MySQL Engineering team at Oracle for these efforts.
- Po-Chun Chang has identified a series of code optimizations, frequently providing patches. In Bug#69377, this comes in the form of an optimization by eliminating needless work in an internal InnoDB function.
- Multi-threaded slaves could hang on binlog rotation, due the Bug#69369 identified by Santosh Praneeth Banda. We appreciate the patch, even though we ended up fixing it differently.
- Bug#69341 from Yoshinori Matsunobu exposed a bottleneck with semi-sync replication with many clients, and while there technically wasn’t a patch submitted, Yoshinori’s deep code analysis pointed the way forward.
- Yoshinori was similarly responsible for Bug#69316, which reduces DROP/ALTER TABLE time for InnoDB tables.
- Davi Arnaut found an optimization opportunity in InnoDB’s handling of concurrency tickets during row reads in Bug#68869.
- InnoDB’s new FULLTEXT now mirrors that of MyISAM with respect to leading wildcards in search terms, as a result of Zoltan Fedor’s report in Bug#68949.
- Davi contributed again with his report of Bug#68501, which allowed InnoDB to keep under-filled index pages incorrectly.
- InnoDB tables could be left in an inconsistent state during ALTER TABLE commands when foreign key checks are disabled, as reported by Ernie Souhrada in Bug#65701.
- Lawrence Holtsclaw reported in Bug#61656 that CREATE TABLE statements with comments containing escaped apostrophes could trigger silently omit the foreign key definitions.
- Thanks to Kolbe Kegel’s two related bug reports – Bug#68602 and Bug#68599 – warnings issued related to the storage of replication credentials are clarified.
- Bug#68460 fixed a hang where FLUSH TABLES WITH READ LOCK was followed by replication updates and a subsequent SHOW SLAVE STATUS.
- Calvin Sun identified a regression in Bug#69127 related to how InnoDB would trigger server-level handling of deadlock conditions in subqueries in an UPDATE statement.
- Bug#59905 addresses plugin compatibility on certain platforms, such as PPC and ARM.
- Alexey Kopytov found unoptimized macros being used on certain platforms in Bug#61179.
- mysqldump will no longer fail when dumping from older MySQL Server instances which don’t have the mysql.general_log and mysql.slow_log tables, thanks to Bug#65670 reported by Van Stokes.
- Chito Angeles found a problem with InnoDB’s handling of apostrophes in BOOLEAN FULLTEXT searches in Bug#69216.
- Jan Rusch also contributed an InnoDB FULLTEXT search bug report in Bug#68720, which prevented modifiers from being used in conjunction with quoted literal phrases.
- MySQL will now recognize those storage engines which declare that they use extended secondary keys for certain optimizations that were previously hard-coded for InnoDB, thanks to Bug#68469 reported by Artem Livshits.
- Dan Kloke found in Bug#52582 that certain multi-table COUNT(DISTINCT) queries when big_tables were enabled returned wrong results.
- Per Bug#68438, mysql_install_db would fail against MySQL instances built without InnoDB. Thanks to Rene Berber for the bug report!
- CREATE TABLE IF NOT EXISTS no longer requires exclusive metadata locks as a result of Michael Skulsky’s Bug#63144.
- Colin Charles and Hye Chung each identified potential RPM build problems from source due to a missing pb2user in Bug#63144 and Bug#69339, respectively.
- Due to a typo in CMake scripts identified by Takashi Ichii in Bug#60743, DTrace wasn’t properly enabled.
- Takashi Ichii also identified a performance issue with PERFORMANCE_SCHEMA in Bug#69382.
- In Bug#68897, Helmut Lange found a defect which could return wrong results for certain LEFT JOIN queries with GROUP BY clauses.
- Yoshinori identified a misleading error message related to global transaction IDs in Bug#69096.
- Bug#62769 identified another portability problem and was solved.
Thanks to all of the above community contributors who invested time in reporting bugs, and especially to those who dug into code to provide analysis or patches.