From f320b12ca52aa32e1a83130a1acbbba6496bb6f1 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Wed, 12 Mar 2014 11:26:40 +0200 Subject: MDEV-5619: CREATE OR REPLACE does not release MDL_EXCLUSIVE upon failure mysql-test/r/create_or_replace.result: Added test of releasing of metadata locks mysql-test/t/create_or_replace.test: Added test of releasing of metadata locks sql/handler.h: Added marker if table was deleted as part of CREATE OR REPLACE sql/sql_base.cc: Added Locked_tables_list::unlock_locked_table() sql/sql_class.h: New prototypes sql/sql_insert.cc: Unlock metadata locks for deleted table in case of error. Also do unlock tables if this was the only locked table. sql/sql_table.cc: Unlock metadata locks for deleted table in case of error. Also do unlock tables if this was the only locked table. --- sql/handler.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sql/handler.h') diff --git a/sql/handler.h b/sql/handler.h index 06bc1863bbe..e67e68be931 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -1621,6 +1621,7 @@ struct HA_CREATE_INFO TABLE *table; TABLE_LIST *pos_in_locked_tables; MDL_ticket *mdl_ticket; + bool table_was_deleted; bool tmp_table() { return options & HA_LEX_CREATE_TMP_TABLE; } }; -- cgit v1.2.1