From 9be599fc3da6e6d9b7bf1aa4836af93ca30bbf5d Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 1 Apr 2004 22:47:09 +0500 Subject: fixed BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK" (added waiting for global_read_lock in mysql_rename_tables) mysql-test/r/rename.result: added test for BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK" mysql-test/t/rename.test: added test for BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK" sql/sql_rename.cc: fixed BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK" (added waiting for global_read_lock) --- sql/sql_rename.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sql/sql_rename.cc') diff --git a/sql/sql_rename.cc b/sql/sql_rename.cc index 6cff90ff613..7793e7236c0 100644 --- a/sql/sql_rename.cc +++ b/sql/sql_rename.cc @@ -46,6 +46,8 @@ bool mysql_rename_tables(THD *thd, TABLE_LIST *table_list) DBUG_RETURN(1); } + if (wait_if_global_read_lock(thd,0)) + DBUG_RETURN(1); VOID(pthread_mutex_lock(&LOCK_open)); if (lock_table_names(thd, table_list)) goto err; @@ -93,6 +95,7 @@ bool mysql_rename_tables(THD *thd, TABLE_LIST *table_list) err: pthread_mutex_unlock(&LOCK_open); + start_waiting_global_read_lock(thd); DBUG_RETURN(error); } -- cgit v1.2.1