From 15f065599e161e861e69edfc89b755c888e80135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Thu, 2 May 2019 14:07:24 +0300 Subject: MDEV-17883: CREATE TABLE IF NOT EXISTS locking changes in 10.3.10 Based on pull request https://github.com/MariaDB/server/pull/999 by mkaruza@galeracluster.com --- sql/sql_base.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 39d7e157803..ef195f7abf1 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -4389,10 +4389,10 @@ lock_table_names(THD *thd, const DDL_options_st &options, mdl_requests.push_front(&global_request); if (create_table) - #ifdef WITH_WSREP - if (thd->lex->sql_command != SQLCOM_CREATE_TABLE && - thd->wsrep_exec_mode != REPL_RECV) - #endif +#ifdef WITH_WSREP + if (!(thd->lex->sql_command == SQLCOM_CREATE_TABLE && + thd->wsrep_exec_mode == REPL_RECV)) +#endif lock_wait_timeout= 0; // Don't wait for timeout } @@ -4403,6 +4403,7 @@ lock_table_names(THD *thd, const DDL_options_st &options, bool res= thd->mdl_context.acquire_locks(&mdl_requests, lock_wait_timeout); if (create_table) thd->pop_internal_handler(); + if (!res) DBUG_RETURN(FALSE); // Got locks -- cgit v1.2.1