1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

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.
This commit is contained in:
Alexey Botchkov
2016-03-23 12:16:39 +04:00
parent e4435b5ec3
commit 2783fc7d14
6 changed files with 219 additions and 82 deletions

View File

@ -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