diff options
author | Guilhem Bichot <guilhem@mysql.com> | 2009-03-11 16:32:42 +0100 |
---|---|---|
committer | Guilhem Bichot <guilhem@mysql.com> | 2009-03-11 16:32:42 +0100 |
commit | b0fcbc84ef609b1147c3624e90fe3dac66ef8c1d (patch) | |
tree | ee09976ab4dd9dee924a4c7e30eb0fc9f5e7d63f /sql/sql_select.h | |
parent | a15d25f07e56cbd80aecbeadef635d3b55e00e85 (diff) | |
parent | 11570d64fcffa66feaf1fdb8072fdfb9dbd865ca (diff) | |
download | mariadb-git-b0fcbc84ef609b1147c3624e90fe3dac66ef8c1d.tar.gz |
merge of 5.1-main into 5.1-maria; MyISAM changes are also ported to Maria.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r-- | sql/sql_select.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h index eacd3d39905..43e26a6b4b2 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -402,9 +402,12 @@ public: cleared only at the end of the execution of the whole query and not caching allocations that occur in repetition at execution time will result in excessive memory usage. + Note: make_simple_join always creates an execution plan that accesses + a single table, thus it is sufficient to have a one-element array for + table_reexec. */ SORT_FIELD *sortorder; // make_unireg_sortorder() - TABLE **table_reexec; // make_simple_join() + TABLE *table_reexec[1]; // make_simple_join() JOIN_TAB *join_tab_reexec; // make_simple_join() /* end of allocation caching storage */ @@ -434,7 +437,7 @@ public: exec_tmp_table1= 0; exec_tmp_table2= 0; sortorder= 0; - table_reexec= 0; + table_reexec[0]= 0; join_tab_reexec= 0; thd= thd_arg; sum_funcs= sum_funcs2= 0; @@ -527,6 +530,8 @@ public: return (unit == &thd->lex->unit && (unit->fake_select_lex == 0 || select_lex == unit->fake_select_lex)); } +private: + bool make_simple_join(JOIN *join, TABLE *tmp_table); }; |