From 9a8961485763c057620a24e60713d15d22ab41b1 Mon Sep 17 00:00:00 2001 From: sjaakola Date: Thu, 3 Mar 2016 09:35:52 +0200 Subject: [PATCH] Refs: MW-245 - changed logic so that in non primary node it is possible to do SET + SHOW + SELECT from information and pfs schema, when dirty reads are not enabled - however, non table selects are not allowed (e.g. SELECT 1) --- sql/sql_parse.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index c1962508864..affadf01d2c 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -893,6 +893,7 @@ void cleanup_items(Item *item) #ifdef WITH_WSREP static bool wsrep_tables_accessible_when_detached(const TABLE_LIST *tables) { + bool has_tables = false; for (const TABLE_LIST *table= tables; table; table= table->next_global) { TABLE_CATEGORY c; @@ -905,8 +906,9 @@ static bool wsrep_tables_accessible_when_detached(const TABLE_LIST *tables) { return false; } + has_tables = true; } - return true; + return has_tables; } #endif /* WITH_WSREP */ #ifndef EMBEDDED_LIBRARY @@ -2686,8 +2688,7 @@ mysql_execute_command(THD *thd) !(wsrep_ready && wsrep_reject_queries == WSREP_REJECT_NONE) && !(thd->variables.wsrep_dirty_reads && (sql_command_flags[lex->sql_command] & CF_CHANGES_DATA) == 0) && - !(thd->variables.wsrep_dirty_reads && - wsrep_tables_accessible_when_detached(all_tables)) && + !wsrep_tables_accessible_when_detached(all_tables) && lex->sql_command != SQLCOM_SET_OPTION && !wsrep_is_show_query(lex->sql_command)) {