1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

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

Fixes over the original patch:
- Fix variable/class/other names
- Fix the JSON output to be in line with the output of other JSON
  constructs we produce
This commit is contained in:
Sergei Petrunia
2015-07-01 20:03:29 +03:00
parent c6aee27b73
commit 9d2aa2b309
9 changed files with 195 additions and 183 deletions

View File

@ -43,7 +43,7 @@ ulong subquery_cache_miss, subquery_cache_hit;
Expression_cache_tmptable::Expression_cache_tmptable(THD *thd,
List<Item> &dependants,
Item *value)
:cache_table(NULL), table_thd(thd), stat(NULL), items(dependants), val(value),
:cache_table(NULL), table_thd(thd), tracker(NULL), items(dependants), val(value),
hit(0), miss(0), inited (0)
{
DBUG_ENTER("Expression_cache_tmptable::Expression_cache_tmptable");
@ -61,9 +61,9 @@ void Expression_cache_tmptable::disable_cache()
cache_table->file->ha_index_end();
free_tmp_table(table_thd, cache_table);
cache_table= NULL;
flush_stat();
if (stat)
stat->cache= NULL;
update_tracker();
if (tracker)
tracker->cache= NULL;
}
@ -167,7 +167,7 @@ void Expression_cache_tmptable::init()
goto error;
}
flush_stat();
update_tracker();
DBUG_VOID_RETURN;
error:
@ -186,8 +186,8 @@ Expression_cache_tmptable::~Expression_cache_tmptable()
disable_cache();
else
{
flush_stat();
stat= NULL;
update_tracker();
tracker= NULL;
}
}
@ -334,5 +334,5 @@ void Expression_cache_tmptable::print(String *str, enum_query_type query_type)
}
const char *Expression_cache_stat::state_str[3]=
{"UNINITIALYZED", "DISABLED", "ENABLED"};
const char *Expression_cache_tracker::state_str[3]=
{"uninitialized", "disabled", "enabled"};