summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorSachin Setiya <sachinsetia1001@gmail.com>2016-12-27 12:43:01 +0530
committerSachin Setiya <sachinsetia1001@gmail.com>2016-12-27 12:43:01 +0530
commit4b2207e34aa09e9d74e7f9b6701ae62add30c6ab (patch)
tree982585d2c32d03a9c880c85b11e40ac1549ec31c /sql/sql_parse.cc
parent545c9126963b26a093d5c8b6225cc52e360892e0 (diff)
downloadmariadb-git-bb-mdev-11016.tar.gz
Mdev-11016 wsrep_node_is_ready() check is too strict , version-2bb-mdev-11016
Problem:- Problem:- Previous commit of Mdev-11016 was causing galera-MW-284 test to fail Solution:- Added server_command_flags[COM_REGISTER_SLAVE]= CF_SKIP_WSREP_CHECK. So that COM_REGISTER_SLAVE should not fail when node is not ready.
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index b214a1759be..5717c3dd6c4 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -288,6 +288,7 @@ void init_update_queries(void)
server_command_flags[COM_STMT_RESET]= CF_SKIP_QUESTIONS | CF_SKIP_WSREP_CHECK;
server_command_flags[COM_STMT_EXECUTE]= CF_SKIP_WSREP_CHECK;
server_command_flags[COM_STMT_SEND_LONG_DATA]= CF_SKIP_WSREP_CHECK;
+ server_command_flags[COM_REGISTER_SLAVE]= CF_SKIP_WSREP_CHECK;
/* Initialize the sql command flags array. */
memset(sql_command_flags, 0, sizeof(sql_command_flags));
@@ -2651,7 +2652,7 @@ mysql_execute_command(THD *thd)
/*
Bail out if DB snapshot has not been installed. SET and SHOW commands,
however, are always allowed.
-
+ Select query is also allowed if it does not access any table.
We additionally allow all other commands that do not change data in
case wsrep_dirty_reads is enabled.
*/
@@ -2659,6 +2660,8 @@ mysql_execute_command(THD *thd)
!wsrep_is_show_query(lex->sql_command) &&
!(thd->variables.wsrep_dirty_reads &&
!is_update_query(lex->sql_command)) &&
+ !(lex->sql_command == SQLCOM_SELECT &&
+ !all_tables) &&
!wsrep_node_is_ready(thd))
goto error;
}