summaryrefslogtreecommitdiff
path: root/sql/sql_explain.h
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-19714: JOIN::pseudo_bits_cond is not visible in EXPLAIN FORMAT=JSONbb-10.2-mdev19714Sergei Petrunia2019-06-081-0/+1
| | | | Make it visible
* Merge 10.1 into 10.2Marko Mäkelä2019-05-131-1/+1
|\
| * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-111-1/+1
| |
* | Merge branch 'github/10.1' into 10.2Sergei Golubchik2018-02-061-0/+6
|\ \ | |/
| * MDEV-14857: problem with 10.2.11 server crashing when executing stored procedureOleksandr Byelkin2018-02-011-0/+6
| | | | | | | | | | | | | | Counter for select numbering made stored with the statement (before was global) So now it does have always accurate value which does not depend on interruption of statement prepare by errors like lack of table in a view definition.
* | MDEV-10844: EXPLAIN FORMAT=JSON doesn't show order direction for filesortVarun Gupta2017-12-301-0/+1
| | | | | | | | | | Currently explain format=json does not show the order direction of fields used during filesort. This patch would remove this limitation
* | Merge branch '10.1' into 10.2Sergei Golubchik2017-03-301-1/+1
|\ \ | |/
| * Correct FSF addressiangilfillan2017-03-101-1/+1
| |
* | MDEV-10372: EXPLAIN fixes for recursive CTEs, including FORMAT=JSONSergei Petrunia2016-08-081-0/+2
| | | | | | | | | | | | | | - 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.
* | Merge branch '10.2' into 10.2-mdev9864Galina Shalygina2016-05-081-16/+76
| |
* | MDEV-9652: EXPLAIN FORMAT=JSON should show outer_ref_condSergei Petrunia2016-02-281-1/+2
|/ | | | Show outer_ref_condition in EXPLAIN FORMAT=JSON output.
* MDEV-8829: Assertion `0' failed in Explain_table_access::tag_to_jsonSergei Petrunia2015-09-241-1/+6
| | | | - Add EXPLAIN/ANALYZE FORMAT=JSON handling for a few special cases.
* MDEV-7970: EXPLAIN FORMAT=JSON does not print HAVINGOleksandr Byelkin2015-09-181-1/+6
| | | | Printing non-trivial HAVING added.
* Make ANALYZE FORMAT=JSON show execution time for filesort element.Sergei Petrunia2015-08-071-1/+4
|
* MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cacheSergei Petrunia2015-07-011-3/+3
| | | | | | | 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
* MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cacheOleksandr Byelkin2015-06-301-5/+11
|
* MDEV-6995: EXPLAIN JSON and ORDER BY, GROUP BY, etcSergei Petrunia2015-06-061-2/+5
| | | | | - Make ANALYZE correctly remember and report filesort() calls - Temp.table use is collected but only basic info is reported.
* MergeSergei Petrunia2015-04-121-0/+8
|\
| * MDEV-7835: ANALYZE FORMAT=JSON should show buffer sizesOleksandr Byelkin2015-04-091-0/+2
| |
| * MDEV-7856: EXPLAIN FORMAT=JSON should show partitionsOleksandr Byelkin2015-04-091-0/+6
| |
* | MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BYSergei Petrunia2015-04-121-55/+34
|/ | | | Provide basic info about sorting/grouping done by the queries.
* MDEV-7899: 10.1 is 3% slower than 10.0 in OLTP ROSergei Petrunia2015-04-071-43/+16
| | | | | | | | | - Remove ANALYZE's timing code off the the execution path of regular SELECTs. - Improve the tracker that tracks counts/execution times of SELECTs or DML statements: = regular execution just increments counters = ANALYZE will also collect timings.
* MDEV-7919: main.explain_json* fail in buildbot with valgrindSergei Petrunia2015-04-061-3/+3
| | | | | Correctly initialize Explain_node::connection_type, remove unused Explain_node constructor.
* MDEV-7833:ANALYZE FORMAT=JSON and Range checked for each recordOleksandr Byelkin2015-04-031-1/+19
|
* MDEV-7812: ANALYZE FORMAT=JSON UPDATE/DELETE doesnt print the r_total_time_msOleksandr Byelkin2015-03-291-2/+3
| | | | | | Tracking total time added in UPDATE/DELETE Fixed selectivity calculation in UPDATE/DELETE Macro definitions of time tracting fixed.
* Fix linking: move the inline functionsSergei Petrunia2015-03-241-2/+0
|
* MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmtSergei Petrunia2015-03-241-35/+4
| | | | | | Switch from relying on PERFORMANCE_SCHEMA to using our own hooks for counting the time spent reading rows from tables.
* Better commentsSergei Petrunia2015-03-241-4/+39
|
* MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmtSergei Petrunia2015-03-071-2/+75
| | | | | | | | | Show total execution time (r_total_time_ms) for various parts of the query: 1. time spent in SELECTs 2. time spent reading rows from storage engines #2 currently gets the data from P_S.
* MDEV-7674: ANALYZE shows r_rows=0Sergei Petrunia2015-03-071-2/+2
| | | | Change r_rows to be double
* EXPLAIN JSON: Print out the "expensive constant condition" attached to joins.Sergei Petrunia2014-12-061-0/+6
|
* EXPLAIN FORMAT=JSON: Full scan on NULL key (join case)Sergei Petrunia2014-12-061-0/+3
|
* EXPLAIN FORMAT=JSON: Support "range checked for each record"Sergei Petrunia2014-12-061-3/+16
|
* EXPLAIN FORMAT=JSON: Support range+MRR plans (when MRR is used but BKA is not)Sergei Petrunia2014-12-061-0/+11
|
* my_alloc.cmariadb-10.1.2Monty2014-12-051-36/+45
| | | | | | | | | | | | | | | | | - Changed 0x%lx -> %p array.c: - Static (preallocated) buffer can now be anywhere my_sys.h - Define MY_INIT_BUFFER_USED sql_delete.cc & sql_lex.cc - Use memroot when allocating classes (avoids call to current_thd) sql_explain.h: - Use preallocated buffers sql_explain.cc: - Use preallocated buffers and memroot sql_select.cc: - Use multi_alloc_root() instead of many alloc_root() - Update calls to Explain
* EXPLAIN FORMAT=JSONSergei Petrunia2014-12-021-0/+5
| | | | | Add support for semi-join strategies: FirstMatch, DuplicateWeedout, LooseScan.
* EXPLAIN FORMAT=JSON: support SJ-MaterializationSergei Petrunia2014-12-011-34/+52
| | | | | | | | - 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.
* EXPLAIN FORMAT=JSON: support EXPLAIN FORMAT=JSON INSERT ...Sergei Petrunia2014-11-291-2/+1
|
* ANALYZE FORMAT=JSON: better output and testsSergei Petrunia2014-11-291-2/+10
| | | | | | - Print r_loops - Always print r_* members. Print NULL values if no scans took place - Added testcases.
* EXPLAIN FORMAT=JSON: Add support for non-merged semi-joinsSergei Petrunia2014-11-291-3/+16
|
* EXPLAIN FORMAT=JSON: support derived tablesSergei Petrunia2014-11-281-1/+16
|
* EXPLAIN FORMAT=JSON: Add support for single-table UPDATE/DELETE.Sergei Petrunia2014-11-281-11/+24
|
* EXPLAIN FORMAT=JSON: support join bufferingSergei Petrunia2014-11-271-1/+10
| | | | | | | | | - 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
* EXPLAIN FORMAT=JSON: further developmentSergei Petrunia2014-11-271-0/+2
| | | | | | | | | | 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.
* Merge ../10.1-explain-json-r4 into 10.1Sergei Petrunia2014-11-271-18/+61
|\
| * EXPLAIN FORMAT=JSON: produce used_key_parts, JSON-ish output for index_merge.Sergei Petrunia2014-08-141-21/+28
| |
| * EXPLAIN FORMAT=JSON: produce the 'ref' column.Sergei Petrunia2014-08-121-5/+10
| |
| * Merge 10.1 (with ANALYZE) and 10.1-explain-jsonSergei Petrunia2014-08-091-2/+33
| |\
| | * MDEV-6109: EXPLAIN JSON10.1-explain-jsonSergei Petrunia2014-05-271-2/+33
| | | | | | | | | | | | | | | | | | | | | - First code, "EXPLAIN FORMAT=JSON stmt" and "ANALYZE FORMAT=JSON stmt" work for basic queries. Complex constructs (e.g subqueries, etc) not yet supported. - No test infrastructure yet
* | | MDEV-334: Backport of UNION ALL optimization from mysql-5.7.Igor Babaev2014-10-141-0/+1
|/ / | | | | | | | | | | Although the original code of mysql-5.7 was adjusted to the current MariaDB code the main ideas of the optimization were preserved.