diff options
author | bell@sanja.is.com.ua <> | 2003-01-25 13:19:46 +0200 |
---|---|---|
committer | bell@sanja.is.com.ua <> | 2003-01-25 13:19:46 +0200 |
commit | 44d8a8cdab59afcda96379d490a24a314367fde8 (patch) | |
tree | 088681536e968628003ae711fd14a8df01b404ac /sql/sql_class.h | |
parent | bea75a4211e23a3efea32c1d8e64fd628f770b32 (diff) | |
parent | d56e23f64e131c979f13965e65662ea76886c935 (diff) | |
download | mariadb-git-44d8a8cdab59afcda96379d490a24a314367fde8.tar.gz |
merging
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r-- | sql/sql_class.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h index 216720da801..e33ccb82cff 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -394,7 +394,7 @@ struct system_variables CHARSET_INFO *thd_charset; }; - +void free_tmp_table(THD *thd, TABLE *entry); /* For each client connection we create a separate thread with THD serving as a thread/connection descriptor @@ -507,6 +507,7 @@ public: USER_CONN *user_connect; CHARSET_INFO *db_charset; List<Item> *possible_loops; // Items that may cause loops in subselects + List<TABLE> temporary_tables_should_be_free; // list of temporary tables List <MYSQL_ERROR> warn_list; uint warn_count[(uint) MYSQL_ERROR::WARN_LEVEL_END]; uint total_warn_count, old_total_warn_count; @@ -662,6 +663,17 @@ public: #endif void add_possible_loop(Item *); + void free_tmp_tables() + { + if (temporary_tables_should_be_free.elements) + { + List_iterator_fast<TABLE> lt(temporary_tables_should_be_free); + TABLE *table; + while ((table= lt++)) + free_tmp_table(this,table); + temporary_tables_should_be_free.empty(); + } + } }; /* |