1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cache

This commit is contained in:
Oleksandr Byelkin
2015-03-25 18:27:10 +01:00
committed by Sergei Petrunia
parent 498a264d19
commit c6aee27b73
11 changed files with 401 additions and 9 deletions

View File

@@ -84,9 +84,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
@@ -106,10 +107,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)
@@ -135,6 +140,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(){}
};
@@ -221,7 +227,7 @@ public:
members have no info
*/
const char *message;
/* Expensive constant condition */
Item *exec_const_cond;