summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2018-12-29 23:44:45 +0100
committerSergei Golubchik <serg@mariadb.org>2018-12-29 23:44:45 +0100
commitaeefd26ecb1089678e343c64998749e9f2e3a1e4 (patch)
treea96f5fdff65a6d0a05d195a74a32bbb4aa0a58c1 /sql/sql_db.cc
parent50c9469be821e1942a8a9c5f37132e1855c40c86 (diff)
parent802ce9672ff630bbef08235e0e39bf599075f985 (diff)
downloadmariadb-git-aeefd26ecb1089678e343c64998749e9f2e3a1e4.tar.gz
Merge branch '10.0' into 10.1
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r--sql/sql_db.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index f626b4e6112..d7ed82a2ef3 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -771,8 +771,7 @@ exit:
}
-int mysql_create_db(THD *thd, char *db,
- const DDL_options_st &options,
+int mysql_create_db(THD *thd, char *db, DDL_options_st options,
const Schema_specification_st *create_info)
{
/*
@@ -780,6 +779,9 @@ int mysql_create_db(THD *thd, char *db,
to it, we need to use a copy to make execution prepared statement- safe.
*/
Schema_specification_st tmp(*create_info);
+ if (thd->slave_thread &&
+ slave_ddl_exec_mode_options == SLAVE_EXEC_MODE_IDEMPOTENT)
+ options.add(DDL_options::OPT_IF_NOT_EXISTS);
return mysql_create_db_internal(thd, db, options, &tmp, false);
}
@@ -1059,6 +1061,9 @@ exit:
bool mysql_rm_db(THD *thd,char *db, bool if_exists)
{
+ if (thd->slave_thread &&
+ slave_ddl_exec_mode_options == SLAVE_EXEC_MODE_IDEMPOTENT)
+ if_exists= true;
return mysql_rm_db_internal(thd, db, if_exists, false);
}