From bde8ed63f53fdad8ddca8e5a7cae936e4239ae56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Mon, 12 Dec 2016 09:35:14 +0000 Subject: [PATCH] Fix bugs in #835 Disable multiplexing for: * SET FOREIGN_KEY_CHECKS * SET UNIQUE_CHECKS --- lib/mysql_connection.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/mysql_connection.cpp b/lib/mysql_connection.cpp index 22c4693a7..0441f9ba3 100644 --- a/lib/mysql_connection.cpp +++ b/lib/mysql_connection.cpp @@ -1475,9 +1475,15 @@ void MySQL_Connection::ProcessQueryAndSetStatusFlags(char *query_digest_text) { set_status_user_variable(true); } } - // For issue #555 , multiplexing is disabled if --safe-updates is used - if (strcasecmp(query_digest_text,"SET SQL_SAFE_UPDATES=?,SQL_SELECT_LIMIT=?,MAX_JOIN_SIZE=?")==0) { + if (strncasecmp(query_digest_text,"SET ",4)==0) { + // For issue #555 , multiplexing is disabled if --safe-updates is used + if (strcasecmp(query_digest_text,"SET SQL_SAFE_UPDATES=?,SQL_SELECT_LIMIT=?,MAX_JOIN_SIZE=?")==0) { set_status_user_variable(true); + } else if (strcasecmp(query_digest_text,"SET FOREIGN_KEY_CHECKS=?")==0) { // see #835 + set_status_user_variable(true); + } else if (strcasecmp(query_digest_text,"SET UNIQUE_CHECKS=?")==0) { // see #835 + set_status_user_variable(true); + } } } if (get_status_prepared_statement()==false) { // we search if prepared was already executed