From f8bfa3287ded5212a28c6d4bbf2d4afee8e5c403 Mon Sep 17 00:00:00 2001 From: Konstantin Osipov Date: Mon, 9 Aug 2010 22:33:47 +0400 Subject: A fix for Bug#41158 "DROP TABLE holds LOCK_open during unlink()". Remove acquisition of LOCK_open around file system operations, since such operations are now protected by metadata locks. Rework table discovery algorithm to not require LOCK_open. No new tests added since all MDL locking operations are covered in lock.test and mdl_sync.test, and as long as these tests pass despite the increased concurrency, consistency must be unaffected. --- sql/handler.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sql/handler.h') diff --git a/sql/handler.h b/sql/handler.h index cad97c1f751..4229769290d 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -2120,6 +2120,8 @@ bool ha_show_status(THD *thd, handlerton *db_type, enum ha_stat_type stat); /* discovery */ int ha_create_table_from_engine(THD* thd, const char *db, const char *name); +bool ha_check_if_table_exists(THD* thd, const char *db, const char *name, + bool *exists); int ha_discover(THD* thd, const char* dbname, const char* name, uchar** frmblob, size_t* frmlen); int ha_find_files(THD *thd,const char *db,const char *path, -- cgit v1.2.1