mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug #29474: 21587 Regression Ever increasing open tables/fd when using HANDLER READ + DELETE
Revert the fix for bug 21587. That bug will be re-opened, and a new fix must be created.
This commit is contained in:
@ -746,48 +746,3 @@ static int mysql_ha_flush_table(THD *thd, TABLE **table_ptr, uint mode_flags)
|
||||
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Mark tables for reopen.
|
||||
|
||||
SYNOPSIS
|
||||
mysql_ha_mark_tables_for_reopen()
|
||||
thd Thread identifier.
|
||||
table Table list to mark for reopen.
|
||||
|
||||
DESCRIPTION
|
||||
For each table found in the handler hash mark it as closed
|
||||
(ready for reopen) and end all index/table scans.
|
||||
|
||||
NOTE
|
||||
The caller must lock LOCK_open.
|
||||
*/
|
||||
|
||||
void mysql_ha_mark_tables_for_reopen(THD *thd, TABLE *table)
|
||||
{
|
||||
DBUG_ENTER("mysql_ha_mark_tables_for_reopen");
|
||||
|
||||
safe_mutex_assert_owner(&LOCK_open);
|
||||
for (; table; table= table->next)
|
||||
{
|
||||
/*
|
||||
Some elements in open table list, for example placeholders used for
|
||||
name-locking, can have alias set to 0.
|
||||
*/
|
||||
if (table->alias)
|
||||
{
|
||||
TABLE_LIST *hash_tables;
|
||||
if ((hash_tables= (TABLE_LIST*) hash_search(&thd->handler_tables_hash,
|
||||
(byte*) table->alias,
|
||||
strlen(table->alias) + 1)))
|
||||
{
|
||||
/* Mark table as ready for reopen. */
|
||||
hash_tables->table= NULL;
|
||||
/* End open index/table scans. */
|
||||
table->file->ha_index_or_rnd_end();
|
||||
}
|
||||
}
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
Reference in New Issue
Block a user