diff options
Diffstat (limited to 'sql/sql_explain.h')
-rw-r--r-- | sql/sql_explain.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sql/sql_explain.h b/sql/sql_explain.h index 919d51aef8b..f8eba0b53d4 100644 --- a/sql/sql_explain.h +++ b/sql/sql_explain.h @@ -334,6 +334,7 @@ public: ///////////////////////////////////////////////////////////////////////////// extern const char *unit_operation_text[4]; +extern const char *pushed_unit_operation_text[4]; extern const char *pushed_derived_text; extern const char *pushed_select_text; @@ -348,7 +349,7 @@ class Explain_union : public Explain_node public: Explain_union(MEM_ROOT *root, bool is_analyze) : Explain_node(root), union_members(PSI_INSTRUMENT_MEM), - is_recursive_cte(false), + is_recursive_cte(false), is_pushed_down_to_engine(false), fake_select_lex_explain(root, is_analyze) {} @@ -381,11 +382,17 @@ public: uint8 explain_flags, bool is_analyze); void print_explain_json(Explain_query *query, Json_writer *writer, bool is_analyze, bool no_tmp_tbl); + void print_explain_json_regular(Explain_query *query, Json_writer *writer, + bool is_analyze, bool no_tmp_tbl); + void print_explain_json_pushed_down(Explain_query *query, + Json_writer *writer, bool is_analyze, + bool no_tmp_tbl); const char *fake_select_type; bool using_filesort; bool using_tmp; bool is_recursive_cte; + bool is_pushed_down_to_engine; /* Explain data structure for "fake_select_lex" (i.e. for the degenerate @@ -404,6 +411,10 @@ public: } private: uint make_union_table_name(char *buf); + int print_explain_regular(Explain_query *query, select_result_sink *output, + uint8 explain_flags, bool is_analyze); + int print_explain_pushed_down(select_result_sink *output, + uint8 explain_flags, bool is_analyze); Table_access_tracker fake_select_lex_tracker; /* This one is for reading after ORDER BY */ |