ansible/ansible — pull request #4581 by mmoya (2013-10-18 11:20:00+00:00)
Title: Fixes to mysql_variables

It's safer to let the RDBMS handle quoting so use prepared statements in the `SHOW VARIABLES` query.

The `SET` query doesn't quote strings properly. Both quotes and unquoted values should be handled. For example, the following queries will fail if quotes are toggled:

mysql> set global innodb_lru_scan_depth = 2000;
mysql> set global master_info_repository = "TABLE";

with this patch prepared statements are used. The _mysqldb_ module will do the right thing based on argument type thus an attempt to convert to _int_ is done in first place.

Is OK to pass booleans quoted. For example, the following queries are correct and equivalent:

mysql> set global innodb_file_per_table = "ON";
mysql> set global innodb_file_per_table = ON;
mysql> set global innodb_file_per_table = 1;

Tested in mysql 5.5 and 5.6.