1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-12 01:53:02 +03:00
Commit Graph

40 Commits

Author SHA1 Message Date
9419908f38 MDEV-15433: Optimizer does not use group by optimization with distinct
After the commit b76b69cd5f
loose index scan for queries with DISTINCT stopped working.
That is why that commit has to be reverted.
Additionally this patch  fixes the problem of MDEV-10880.
2018-08-05 13:25:40 +03:00
f91eb71e1c MDEV-8840: ANALYZE FORMAT=JSON produces wrong data with BKA
The issue was that r_loops, r_rows and r_filtered in ANALYZE FORMAT= JSON were not
calculated for the table on which we were performing the MRR scan in the BKA join
Fixed this by adding respective counter in the JOIN_TAB_SCAN_MRR::open and JOIN_TAB_SCAN_MRR::next
2017-09-24 23:37:57 +05:30
b76b69cd5f MDEV-10880: Assertions keypart_map' or prebuilt->search_tuple->n_fields > 0' fail on DISTINCT and GROUP BY constant
add_group_and_distinct_keys() should take into account JOIN::simple_group.
2017-06-23 09:16:27 +02:00
e74f2e2b86 Merge branch '10.0' 10.1 2017-04-28 20:19:32 +02:00
125001881d Fix typos in JSON MRR output 2015-09-24 16:31:45 +03:00
7016621596 MDEV-8829: Assertion `0' failed in Explain_table_access::tag_to_json
- Add EXPLAIN/ANALYZE FORMAT=JSON handling for a few special cases.
2015-09-24 15:45:54 +03:00
da3ec3d421 MDEV-7970: EXPLAIN FORMAT=JSON does not print HAVING
Printing non-trivial HAVING added.
2015-09-18 16:08:13 +02:00
8e553c455c MDEV-8785 Wrong results for EXPLAIN EXTENDED...WHERE NULLIF(latin1_col, _utf8'a' COLLATE utf8_bin) IS NOT NULL 2015-09-10 15:01:44 +04:00
4278d6d402 MDEV-8786 Wrong result for SELECT FORMAT=JSON * FROM t1 WHERE a=_latin1 0xDF 2015-09-10 14:04:52 +04:00
e3982cead2 MDEV-6066: Merge new defaults from 5.6 and 5.7 (defaults changed, QC can be stopped with no-zero size) 2015-09-04 10:33:56 +02:00
64424f9886 Update test results 2015-07-02 10:24:02 +03:00
2bbf3b89f6 MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BY
Fix EXPLAIN FORMAT=JSON to produce output that's not worse than
the tabular form.
2015-04-12 06:07:58 +02:00
0719df781e Merge 2015-04-12 04:59:34 +03:00
4938b82263 MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BY
Provide basic info about sorting/grouping done by the queries.
2015-04-12 04:48:42 +03:00
b05383cb14 MDEV-7835: ANALYZE FORMAT=JSON should show buffer sizes 2015-04-09 14:51:23 +02:00
66ff1632f5 MDEV-7860: EXPLAIN FORMAT=JSON crashes for loose scan query
(Based on original patch by Sanja Byelkin)
Make the code that produces JSON output handle LooseScan quick select.

The output we produce is compatible with MySQL 5.6.
2015-04-08 16:26:22 +03:00
2b475b567e MDEV-7927: Server crashes in in Time_and_counter_tracker::incr_loops
- JOIN::save_explain_data should also set JOIN::tracker (it already
  sets join_tab[0].tracker). This is needed for UNIONs inside subqueries.
2015-04-08 03:33:48 +03:00
4da7aa55f6 Add a testcase for EXPLAIN FORMAT=JSON for ROR-union index_merge. 2015-02-17 18:43:22 +03:00
b372720177 Update test results 2014-12-06 20:34:33 +03:00
913b7672c5 Merge bb-10.1-explain-json into 10.1 2014-12-06 20:33:25 +03:00
eeef80d09f EXPLAIN FORMAT=JSON : Fix MDEV-7266, bug in pretty-printer
- Single_line_formatting_helper should not accidentally exit the
  DISABLED state. No JSON construct should be able to move the
  Single_line_formatting_helper from DISABLED state.
2014-12-06 20:13:38 +03:00
dc259324d7 EXPLAIN JSON: Print out the "expensive constant condition" attached to joins. 2014-12-06 19:27:42 +03:00
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
5ee1c25fa8 EXPLAIN FORMAT=JSON: Full scan on NULL key (join case) 2014-12-06 03:11:03 +03:00
a80a797686 EXPLAIN FORMAT=JSON: Support "range checked for each record" 2014-12-06 02:23:37 +03:00
9cac7649ea EXPLAIN FORMAT=JSON: Support range+MRR plans (when MRR is used but BKA is not) 2014-12-06 01:11:22 +03:00
0000695025 EXPLAIN FORMAT=JSON
Add support for semi-join strategies: FirstMatch, DuplicateWeedout,
LooseScan.
2014-12-02 01:40:10 +03:00
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
c46eadb2b3 EXPLAIN FORMAT=JSON: support EXPLAIN FORMAT=JSON INSERT ... 2014-11-29 03:28:46 +03:00
0b5d989c89 EXPLAIN FORMAT=JSON: Add support for non-merged semi-joins 2014-11-29 01:08:18 +03:00
2ac3b39e68 EXPLAIN FORMAT=JSON: support derived tables 2014-11-28 22:23:29 +03:00
3a5e080d4d Make explain_json.test pass on case-insensitive FS. 2014-11-28 16:46:05 +03:00
d5fbfb9a93 EXPLAIN FORMAT=JSON: Add support for single-table UPDATE/DELETE. 2014-11-28 02:36:31 +03:00
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
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
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
041e03e251 EXPLAIN FORMAT=JSON: produce used_key_parts, JSON-ish output for index_merge. 2014-08-14 01:12:05 +04:00
a9d43d70f5 EXPLAIN FORMAT=JSON: produce the 'ref' column. 2014-08-12 18:14:56 +04:00
84485dbe7c MDEV-6109: EXPLAIN JSON
Add pretty-printing of possible_keys column.
2014-08-12 15:02:09 +04:00
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