From 1bb87b584db6cea82e060eb009dfdbb2437925a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Fri, 1 Sep 2017 22:11:55 +0200 Subject: [PATCH] Fix for bug #1160 : reset sql_mode --- lib/MySQL_Session.cpp | 2 +- lib/mysql_connection.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/MySQL_Session.cpp b/lib/MySQL_Session.cpp index c32a2d4a6..6b16e3f27 100644 --- a/lib/MySQL_Session.cpp +++ b/lib/MySQL_Session.cpp @@ -918,7 +918,7 @@ bool MySQL_Session::handler_again___verify_backend_sql_log_bin() { bool MySQL_Session::handler_again___verify_backend_sql_mode() { if (mybe->server_myds->myconn->options.sql_mode_int==0) { // it is the first time we use this backend. Set sql_mode to default - if (mybe->server_myds->myconn->options.sql_mode==NULL) { + if (mybe->server_myds->myconn->options.sql_mode) { free(mybe->server_myds->myconn->options.sql_mode); mybe->server_myds->myconn->options.sql_mode=NULL; } diff --git a/lib/mysql_connection.cpp b/lib/mysql_connection.cpp index 5b6518023..c66b1357f 100644 --- a/lib/mysql_connection.cpp +++ b/lib/mysql_connection.cpp @@ -1659,6 +1659,13 @@ void MySQL_Connection::reset() { status_flags=0; reusable=true; options.last_set_autocommit=-1; // never sent + { // bug #1160 + options.sql_mode_int = 0; + if (options.sql_mode) { + free(options.sql_mode); + options.sql_mode = NULL; + } + } delete local_stmts; #ifndef PROXYSQL_STMT_V14 local_stmts=new MySQL_STMTs_local(false);