diff options
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index c9d9f663050..2dd0859d181 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -13497,11 +13497,12 @@ int ha_innobase::delete_table(const char *name) if (table->is_temporary()) { - dict_sys.remove(table, false, true); dict_sys.unlock(); parent_trx->mod_tables.erase(table); /* CREATE...SELECT error handling */ btr_drop_temporary_table(*table); - dict_mem_table_free(table); + dict_sys.lock(SRW_LOCK_CALL); + dict_sys.remove(table); + dict_sys.unlock(); DBUG_RETURN(0); } |