From ba929e285109ca4d2b254cabd06d6e1f6aab65ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Mon, 10 Jan 2022 15:13:03 +0000 Subject: [PATCH] Improved handling of sql_big_selects variable --- lib/MySQL_Variables.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/MySQL_Variables.cpp b/lib/MySQL_Variables.cpp index ebeb3cae5..052b1522d 100644 --- a/lib/MySQL_Variables.cpp +++ b/lib/MySQL_Variables.cpp @@ -601,9 +601,6 @@ bool MySQL_Variables::parse_variable_number(MySQL_Session *sess, int idx, string } if (only_digit_chars) { // see https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_join_size - if (value1 == "default") { - value1 = "18446744073709551615" ; - } proxy_debug(PROXY_DEBUG_MYSQL_COM, 7, "Processing SET %s value %s\n", mysql_tracked_variables[idx].set_variable_name, value1.c_str()); uint32_t var_value_int=SpookyHash::Hash32(value1.c_str(),value1.length(),10); if (mysql_variables.client_get_hash(sess, idx) != var_value_int) { @@ -612,7 +609,11 @@ bool MySQL_Variables::parse_variable_number(MySQL_Session *sess, int idx, string proxy_debug(PROXY_DEBUG_MYSQL_COM, 5, "Changing connection %s to %s\n", mysql_tracked_variables[idx].set_variable_name, value1.c_str()); if (idx == SQL_MAX_JOIN_SIZE) { // see https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_join_size - if (value1 == "18446744073709551615") { + if ( + (value1 == "18446744073709551615") + || + (strcasecmp(v,"default")==0) + ) { mysql_variables.client_set_value(sess, SQL_SQL_BIG_SELECTS, "ON"); } else { mysql_variables.client_set_value(sess, SQL_SQL_BIG_SELECTS, "OFF");