mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge branch '10.0' into 10.1
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/* Copyright (c) 2001, 2013, Oracle and/or its affiliates.
|
||||
Copyright (c) 2011, 2013, Monty Program Ab.
|
||||
/* Copyright (c) 2001, 2015, Oracle and/or its affiliates.
|
||||
Copyright (c) 2011, 2015, MariaDB
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -1190,3 +1190,36 @@ void mysql_ha_set_explicit_lock_duration(THD *thd)
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Remove temporary tables from the HANDLER's hash table. The reason
|
||||
for having a separate function, rather than calling
|
||||
mysql_ha_rm_tables() is that it is not always feasible (e.g. in
|
||||
close_temporary_tables) to obtain a TABLE_LIST containing the
|
||||
temporary tables.
|
||||
|
||||
@See close_temporary_tables
|
||||
@param thd Thread identifier.
|
||||
*/
|
||||
void mysql_ha_rm_temporary_tables(THD *thd)
|
||||
{
|
||||
DBUG_ENTER("mysql_ha_rm_temporary_tables");
|
||||
|
||||
TABLE_LIST *tmp_handler_tables= NULL;
|
||||
for (uint i= 0; i < thd->handler_tables_hash.records; i++)
|
||||
{
|
||||
TABLE_LIST *handler_table= reinterpret_cast<TABLE_LIST*>
|
||||
(my_hash_element(&thd->handler_tables_hash, i));
|
||||
|
||||
if (handler_table->table && handler_table->table->s->tmp_table)
|
||||
{
|
||||
handler_table->next_local= tmp_handler_tables;
|
||||
tmp_handler_tables= handler_table;
|
||||
}
|
||||
}
|
||||
|
||||
if (tmp_handler_tables)
|
||||
mysql_ha_rm_tables(thd, tmp_handler_tables);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
Reference in New Issue
Block a user