diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2012-04-13 14:01:15 -0700 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2012-04-13 14:01:15 -0700 |
commit | 8c4fc9ba75db308ba60a2efefa7cf5aa6b9b6447 (patch) | |
tree | 7236f5230d9245cc1295d5bc4ade92facfcceefa /sql/sql_select.h | |
parent | f081107fe01a1d9a6d7d88e3d9c7c5e99aec8144 (diff) | |
parent | ca020dfa9e8668ce52eaff92c157097bba671ec1 (diff) | |
download | mariadb-git-8c4fc9ba75db308ba60a2efefa7cf5aa6b9b6447.tar.gz |
MWL#182: Explain running statements: merge with 5.3-main
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r-- | sql/sql_select.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h index a5c0a797ed6..779702e4b1c 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -1164,7 +1164,7 @@ public: const char *zero_result_cause; ///< not 0 if exec must return zero result bool union_part; ///< this subselect is part of union - bool optimized; ///< flag to avoid double optimization in EXPLAIN + int optimized; ///< flag to avoid double optimization in EXPLAIN bool initialized; ///< flag to avoid double init_execution calls /* @@ -1276,9 +1276,11 @@ public: SELECT_LEX_UNIT *unit); bool prepare_stage2(); int optimize(); + int optimize_inner(); int reinit(); int init_execution(); void exec(); + void exec_inner(); int destroy(); void restore_tmp(); bool alloc_func_list(); @@ -1388,6 +1390,10 @@ public: { return (unit->item && unit->item->is_in_predicate()); } + + int print_explain(select_result_sink *result, bool on_the_fly, + bool need_tmp_table, bool need_order, + bool distinct,const char *message); private: /** TRUE if the query contains an aggregate function but has no GROUP @@ -1682,6 +1688,9 @@ inline bool optimizer_flag(THD *thd, uint flag) return (thd->variables.optimizer_switch & flag); } +int print_fake_select_lex_join(select_result_sink *result, bool on_the_fly, + SELECT_LEX *select_lex, uint8 select_options); + /* Table elimination entry point function */ void eliminate_tables(JOIN *join); |