diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2015-03-25 18:27:10 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2015-04-07 13:16:05 +0200 |
commit | ded3d706f8a6e615d2a6cfaee016e8917c0800cf (patch) | |
tree | 0adb77c0d347b922db91a7db522ad8aa7472cc45 /sql/sql_explain.h | |
parent | 0df8c0aa5ed1a6d3869783a30cbe71521cffa4e4 (diff) | |
download | mariadb-git-10.1-MDEV-7811.tar.gz |
MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cache10.1-MDEV-7811
Diffstat (limited to 'sql/sql_explain.h')
-rw-r--r-- | sql/sql_explain.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/sql/sql_explain.h b/sql/sql_explain.h index 9c6171aa6d0..fc8dfcec61d 100644 --- a/sql/sql_explain.h +++ b/sql/sql_explain.h @@ -126,9 +126,10 @@ class Explain_query; class Explain_node : public Sql_alloc { public: - Explain_node(MEM_ROOT *root) : - connection_type(EXPLAIN_NODE_OTHER), - children(root) + Explain_node(MEM_ROOT *root) : + cache_stat(NULL), + connection_type(EXPLAIN_NODE_OTHER), + children(root) {} /* A type specifying what kind of node this is */ enum explain_node_type @@ -148,10 +149,14 @@ public: EXPLAIN_NODE_NON_MERGED_SJ /* aka JTBM semi-join */ }; - virtual enum explain_node_type get_type()= 0; virtual int get_select_id()= 0; + /** + expression cache statistics + */ + Expression_cache_stat* cache_stat; + /* How this node is connected to its parent. (NOTE: EXPLAIN_NODE_NON_MERGED_SJ is set very late currently) @@ -177,6 +182,7 @@ public: uint8 explain_flags, bool is_analyze); void print_explain_json_for_children(Explain_query *query, Json_writer *writer, bool is_analyze); + void print_explain_json_cache(Json_writer *writer, bool is_analyze); virtual ~Explain_node(){} }; @@ -261,7 +267,7 @@ public: members have no info */ const char *message; - + /* Expensive constant condition */ Item *exec_const_cond; |