summaryrefslogtreecommitdiff
path: root/sql/sp.h
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2016-03-23 12:16:39 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2016-03-23 12:16:39 +0400
commit2783fc7d14bc8ad16acfeb509d3b19615023f47a (patch)
treeadfd8aeaa00e43cb12f35642e579a18fdfccacc7 /sql/sp.h
parente4435b5ec304be1439475f6f6084fbf9f1fd9e1f (diff)
downloadmariadb-git-2783fc7d14bc8ad16acfeb509d3b19615023f47a.tar.gz
MDEV-717 LP:1003679 - Wrong binlog order on concurrent DROP schema and CREATE function.
The cause of the issue is when DROP DATABASE takes metadata lock and is in progress through it's execution, a concurrently running CREATE FUNCTION checks for the existence of database which it succeeds and then it waits on the metadata lock. Once DROP DATABASE writes to BINLOG and finally releases the metadata lock on schema object, the CREATE FUNCTION waiting on metadata lock gets in it's code path and succeeds and writes to binlog.
Diffstat (limited to 'sql/sp.h')
-rw-r--r--sql/sp.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sp.h b/sql/sp.h
index 4bfb0577fcc..df60482f8fd 100644
--- a/sql/sp.h
+++ b/sql/sp.h
@@ -126,7 +126,7 @@ sp_exist_routines(THD *thd, TABLE_LIST *procs, bool is_proc);
bool
sp_show_create_routine(THD *thd, stored_procedure_type type, sp_name *name);
-int
+bool
sp_create_routine(THD *thd, stored_procedure_type type, sp_head *sp);
int