diff options
author | Gleb Shchepa <gshchepa@mysql.com> | 2009-02-05 13:37:06 +0400 |
---|---|---|
committer | Gleb Shchepa <gshchepa@mysql.com> | 2009-02-05 13:37:06 +0400 |
commit | ea15ebbbd4646cfb7fd6f83d70eff86775c40e40 (patch) | |
tree | ff8249b1daa55f9d4403bf31c6fd723292d9f6ea /sql/sql_select.h | |
parent | aa964b791306352fe9d6e0a6e972d8072ce44a0e (diff) | |
parent | 061bf717e0a0b46b2b05567b569bcfe53bbfc12f (diff) | |
download | mariadb-git-ea15ebbbd4646cfb7fd6f83d70eff86775c40e40.tar.gz |
automerge 5.0-bugteam --> 5.1-bugteam (bug 42037)
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 c5961f097c2..7d794b71f4d 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; @@ -526,6 +529,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); }; |