Commit graph

20 commits

Author SHA1 Message Date
Sergei Petrunia
4da7aa55f6 Add a testcase for EXPLAIN FORMAT=JSON for ROR-union index_merge. 2015-02-17 18:43:22 +03:00
Sergei Petrunia
913b7672c5 Merge bb-10.1-explain-json into 10.1 2014-12-06 20:33:25 +03:00
Sergei Petrunia
dc259324d7 EXPLAIN JSON: Print out the "expensive constant condition" attached to joins. 2014-12-06 19:27:42 +03:00
Sergei Petrunia
1e3f09f163 MDEV-7264: Assertion `0' failed in subselect_engine::get_identifier()
Switch EXPLAIN JSON from using subselect_engine::get_identifier()
to the number from Item_subselect::unit.

Remove subselect_union_engine::get_identifier() because it was added
only for EXPLAIN JSON code.
2014-12-06 04:02:30 +03:00
Sergei Petrunia
5ee1c25fa8 EXPLAIN FORMAT=JSON: Full scan on NULL key (join case) 2014-12-06 03:11:03 +03:00
Sergei Petrunia
a80a797686 EXPLAIN FORMAT=JSON: Support "range checked for each record" 2014-12-06 02:23:37 +03:00
Sergei Petrunia
9cac7649ea EXPLAIN FORMAT=JSON: Support range+MRR plans (when MRR is used but BKA is not) 2014-12-06 01:11:22 +03:00
Sergei Petrunia
0000695025 EXPLAIN FORMAT=JSON
Add support for semi-join strategies: FirstMatch, DuplicateWeedout,
LooseScan.
2014-12-02 01:40:10 +03:00
Sergei Petrunia
753718c201 EXPLAIN FORMAT=JSON: support SJ-Materialization
- Switch Explain data structure from "flat" representation of
  SJ-Materialization into nested one.
- Update functions that print tabular output to operate on the
  nested structure.
- Add function to generate JSON output.
2014-12-01 21:35:31 +03:00
Sergei Petrunia
c46eadb2b3 EXPLAIN FORMAT=JSON: support EXPLAIN FORMAT=JSON INSERT ... 2014-11-29 03:28:46 +03:00
Sergei Petrunia
0b5d989c89 EXPLAIN FORMAT=JSON: Add support for non-merged semi-joins 2014-11-29 01:08:18 +03:00
Sergei Petrunia
2ac3b39e68 EXPLAIN FORMAT=JSON: support derived tables 2014-11-28 22:23:29 +03:00
Sergei Petrunia
3a5e080d4d Make explain_json.test pass on case-insensitive FS. 2014-11-28 16:46:05 +03:00
Sergei Petrunia
d5fbfb9a93 EXPLAIN FORMAT=JSON: Add support for single-table UPDATE/DELETE. 2014-11-28 02:36:31 +03:00
Sergei Petrunia
461dbd80d2 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
2014-11-27 23:10:44 +03:00
Sergei Petrunia
37c444e1a0 EXPLAIN FORMAT=JSON: further development
Writing JSON:
- Fix a bug in Single_line_formatting_helper
- Add Json_writer_nesting_guard - safety class

EXPLAIN JSON support
- Add basic subquery support
- Add tests for UNION/UNION ALL.
2014-11-27 19:32:48 +03:00
Sergei Petrunia
3c5ce8a0a3 Make testsuite to pass
- Drop all tables in explain_json.test
- Tabular form should print ref='' when type='fulltext' (another peculiarity
  of the traditional EXPLAIN format)
- String_list::append_str should allocate memory for \0, too
- Some temporary code for EXPLAIN JSON and join buffering.
2014-11-21 21:44:06 +03:00
Sergei Petrunia
041e03e251 EXPLAIN FORMAT=JSON: produce used_key_parts, JSON-ish output for index_merge. 2014-08-14 01:12:05 +04:00
Sergei Petrunia
84485dbe7c MDEV-6109: EXPLAIN JSON
Add pretty-printing of possible_keys column.
2014-08-12 15:02:09 +04:00
Sergei Petrunia
33d53c4c24 MDEV-6109: EXPLAIN JSON
- Add first testcases
- Don't overquote when printing conditions
- Other small output fixes
2014-08-09 06:37:56 +04:00