summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2019-05-02 14:07:24 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2019-05-03 10:12:16 +0300
commit15f065599e161e861e69edfc89b755c888e80135 (patch)
tree8282e65067053c9611d4b62bebfce4af25cd5393
parentb85aa20065504bdda4bc03c2bd7eb7de38865c5d (diff)
downloadmariadb-git-15f065599e161e861e69edfc89b755c888e80135.tar.gz
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
-rw-r--r--sql/sql_base.cc9
1 files 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