summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2005-06-24 22:48:46 +0400
committerunknown <konstantin@mysql.com>2005-06-24 22:48:46 +0400
commite0fde7f52be616932f6c79a350af5d910498d7fd (patch)
tree9ae103fc8b2957a8fed538a143020aea9b0565e4 /sql/sql_select.h
parent1960fbcf3d9dae7eb08833bdcf5b898224c2b817 (diff)
parent97e78d60177b7e06040827902a9a91bc3d104c9d (diff)
downloadmariadb-git-e0fde7f52be616932f6c79a350af5d910498d7fd.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-join_free2push sql/sql_select.cc: Auto merged sql/sql_select.h: Auto merged
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 885b50016af..6d33ae2f978 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -325,7 +325,7 @@ class JOIN :public Sql_alloc
int optimize();
int reinit();
void exec();
- int cleanup();
+ int destroy();
void restore_tmp();
bool alloc_func_list();
bool make_sum_func_list(List<Item> &all_fields, List<Item> &send_fields,
@@ -349,7 +349,15 @@ class JOIN :public Sql_alloc
int rollup_send_data(uint idx);
int rollup_write_data(uint idx, TABLE *table);
bool test_in_subselect(Item **where);
+ /*
+ Release memory and, if possible, the open tables held by this execution
+ plan (and nested plans). It's used to release some tables before
+ the end of execution in order to increase concurrency and reduce
+ memory consumption.
+ */
void join_free(bool full);
+ /* Cleanup this JOIN, possibly for reuse */
+ void cleanup(bool full);
void clear();
bool save_join_tab();
bool send_row_on_empty_set()