diff options
Diffstat (limited to 'sql/sql_handler.cc')
-rw-r--r-- | sql/sql_handler.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc index 31d6b28a73c..a4ba6f1140b 100644 --- a/sql/sql_handler.cc +++ b/sql/sql_handler.cc @@ -714,17 +714,16 @@ static TABLE_LIST *mysql_ha_find(THD *thd, TABLE_LIST *tables) @param thd Thread identifier. @param tables The list of tables to remove. + @param is_locked If LOCK_open is locked. @note Broadcasts refresh if it closed a table with old version. */ -void mysql_ha_rm_tables(THD *thd, TABLE_LIST *tables) +void mysql_ha_rm_tables(THD *thd, TABLE_LIST *tables, bool is_locked) { TABLE_LIST *hash_tables, *next; DBUG_ENTER("mysql_ha_rm_tables"); - safe_mutex_assert_not_owner(&LOCK_open); - DBUG_ASSERT(tables); hash_tables= mysql_ha_find(thd, tables); @@ -733,7 +732,7 @@ void mysql_ha_rm_tables(THD *thd, TABLE_LIST *tables) { next= hash_tables->next_local; if (hash_tables->table) - mysql_ha_close_table(thd, hash_tables, FALSE); + mysql_ha_close_table(thd, hash_tables, is_locked); hash_delete(&thd->handler_tables_hash, (uchar*) hash_tables); hash_tables= next; } |