summaryrefslogtreecommitdiff
path: root/sql/sql_explain.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_explain.h')
-rw-r--r--sql/sql_explain.h13
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 */