1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-03 05:41:09 +03:00

MDEV-11016 wsrep_node_is_ready() check is too strict

Problem:-
      The condition that checks for node readiness is too strict as it does
      not allow SELECTs even if these selects do not access any tables.
      For example,if we run
           SELECT 1;
      OR
           SELECT @@max_allowed_packet;
      Solution:-
      We need not to report this error when all_tables(lex->query_tables)
      is NULL:
This commit is contained in:
SachinSetiya
2016-12-01 11:24:04 +05:30
parent 41e11a8ac6
commit 52ea5ad865
3 changed files with 24 additions and 0 deletions

View File

@@ -2635,11 +2635,15 @@ mysql_execute_command(THD *thd)
/*
Bail out if DB snapshot has not been installed. We however,
allow SET and SHOW queries.
SHOW and SELECT queries (only if wsrep_dirty_reads is set or when it
does not access ant table)
*/
if (thd->variables.wsrep_on && !thd->wsrep_applier && !wsrep_ready &&
lex->sql_command != SQLCOM_SET_OPTION &&
!(thd->variables.wsrep_dirty_reads &&
lex->sql_command == SQLCOM_SELECT) &&
!(lex->sql_command == SQLCOM_SELECT &&
!all_table) &&
!wsrep_is_show_query(lex->sql_command))
{
my_message(ER_UNKNOWN_COM_ERROR,