diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2014-11-27 23:10:44 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2014-11-27 23:10:44 +0300 |
commit | 461dbd80d2ea96034f330dd238282d2167ed2c4d (patch) | |
tree | 814c5063aeecce0af411b9bc2d85df520bd62f15 /sql/sql_explain.h | |
parent | 37c444e1a079b25d0a34efbbc2fadfae17999966 (diff) | |
download | mariadb-git-461dbd80d2ea96034f330dd238282d2167ed2c4d.tar.gz |
EXPLAIN FORMAT=JSON: support join buffering
- Basic support for JOIN buffering
- The output is not polished but catches the main point:
tab->select_cond and tab->cache_select->cond are printed separately.
- Hash join support is poor still.
- Also fixed identation in JOIN_TAB::save_explain_data
Diffstat (limited to 'sql/sql_explain.h')
-rw-r--r-- | sql/sql_explain.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/sql_explain.h b/sql/sql_explain.h index 39392d370d9..6cc8e012a95 100644 --- a/sql/sql_explain.h +++ b/sql/sql_explain.h @@ -488,6 +488,12 @@ private: class Explain_table_access : public Sql_alloc { public: + Explain_table_access() : + where_cond(NULL), + cache_cond(NULL), + pushed_index_cond(NULL) + {} + void push_extra(enum explain_extra_tag extra_tag); /* Internals */ @@ -558,9 +564,12 @@ public: /* Note: lifespan of WHERE condition is less than lifespan of this object. - THe below is valid if tags include "ET_USING_WHERE". + The below two are valid if tags include "ET_USING_WHERE". + (TODO: indexsubquery may put ET_USING_WHERE without setting where_cond?) */ Item *where_cond; + Item *cache_cond; + Item *pushed_index_cond; int print_explain(select_result_sink *output, uint8 explain_flags, |