Per query variable settings in MySQL/Percona Server/WebScaleSQL

Recently there was a discussion on the webscalesql mailing list started by Chip Turner on a proposed change to the MAX_STATEMENT_TIME patch. This feature has been known as per query variable settings (WL#681) and even shipping in Percona Server 5.6 as per-query variable statement.

This feature has piqued my interest since 2009, when the MySQL project (then owned by Sun Microsystems) participated in Google Summer of Code 2009, and we got code from Joseph Lukas to do just that (see his tree on Launchpad - lp:~jlukas79/+junk/mysql-server).

So code has been floating around since 2009. It never made it into a shipping release of any MySQL-based distribution till 24 October 2013 when Percona Server 5.6.14-62.0 was released. Percona’s syntax implementation was as suggested in WL#681. This got me curious as to if a feature is already shipping in a distribution of MySQL, what is the WebScaleSQL answer to things – is there a look at other branches or is compatibility from a user/DBA perspective only with focus on upstream?

I got my answer from Steaphan Greene. Very sensible, and a great direction to see how the companies involved can influence upstream MySQL and quite obviously the downstream distributions. It is of course great to note that this syntax improvement will probably be in MySQL 5.7.5 DMR (it already is in 5.7.4 DMR).

For what it’s worth, this feature works well alongside server-side statement timeouts, which Percona Server 5.6 implements (as an alpha quality feature) via the Twitter patch of Davi Arnaut. The MySQL team at Oracle has of course been listening, and in MySQL 5.7.4 DMR (release notes) they too have implemented this feature (WL#6936). Kudos!

Update (6 May 2014): Morgan Tocker has opened up mysql#72540.