diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2016-08-08 23:02:52 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2016-08-08 23:02:52 +0300 |
commit | a2f245e49f8747f9fd202cae451861a8371e6151 (patch) | |
tree | a558ce6dd122e8f20e63d1cf1c4e31543b6cec24 /sql/sql_explain.cc | |
parent | e1c92a6ca9130ae07c9fa596c969a4b4f3a95ee3 (diff) | |
download | mariadb-git-a2f245e49f8747f9fd202cae451861a8371e6151.tar.gz |
MDEV-10372: EXPLAIN fixes for recursive CTEs, including FORMAT=JSON
- Tabular EXPLAIN now prints "RECURSIVE UNION".
- There is a basic implementation of EXPLAIN FORMAT=JSON.
- it produces "recursive_union" JSON struct
- No other details or ANALYZE support, yet.
Diffstat (limited to 'sql/sql_explain.cc')
-rw-r--r-- | sql/sql_explain.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc index 1f8b4f2dcb1..131c5a3bcfa 100644 --- a/sql/sql_explain.cc +++ b/sql/sql_explain.cc @@ -547,7 +547,12 @@ void Explain_union::print_explain_json(Explain_query *query, bool started_object= print_explain_json_cache(writer, is_analyze); writer->add_member("query_block").start_object(); - writer->add_member("union_result").start_object(); + + if (is_recursive_cte) + writer->add_member("recursive_union").start_object(); + else + writer->add_member("union_result").start_object(); + // using_temporary_table make_union_table_name(table_name_buffer); writer->add_member("table_name").add_str(table_name_buffer); |