summaryrefslogtreecommitdiff
path: root/mysql-test/t/explain_non_select.test
Commit message (Collapse)AuthorAgeFilesLines
* Fix for MDEV-8321, MDEV-6223Sergei Petrunia2015-10-061-0/+26
| | | | | | | | | | | | | | EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This caused a collection of problems: - SELECT_DESCRIBE flag was not put into select_lex->options, which means it was not in JOIN::select_options either (except for the first member of the UNION). - This caused UNION members to be executed. They would attempt to write join output rows to the output. - (Actual cause of the crash) second join sibling would call result->send_eof() when finished execution. Then, Explain_query::print_explain would attempt to write to query output again, and cause an assertion due to non-empty query output.
* MDEV-8299: MyISAM or Aria table gets corrupted after EXPLAIN INSERT and INSERTSergei Petrunia2015-10-061-0/+16
| | | | | | | | | | | | | | | | [EXPLAIN] INSERT .. SELECT creates a select_insert object. select_insert calls handler->start_bulk_insert() during initialization. For MyISAM/Aria this requires that a matching call to handler->end_bulk_insert() call is made. Regular INSERT .. SELECT accomplishes this by calling either select_result->send_eof() or select_result->abort_result_set(). EXPLAIN INSERT ... SELECT didn't call either, which resulted in improper de-initializaiton of handler object. Make it call abort_result_set(), which invokes handler->end_bulk_insert().
* MDEV-7038 Assertion `status_var.memory_used == 0' failed in THD::~THD() on ↵Vicențiu Ciorbaru2015-05-021-0/+10
| | | | | | | disconnect after executing EXPLAIN for multi-table UPDATE Added test case that caught this bug. It is no longer reproducible in the current tree.
* MDEV-5122: "Commands out of sync", "Malformed packet" or client hang up...Sergey Petrunya2013-10-111-0/+29
| | | | | - When INSERT catches an error, it should not attempt to send parts of EXPLAIN output.
* MDEV-5106: Server crashes in Explain_union::print_explain on ER_TOO_BIG_SELECTSergey Petrunya2013-10-101-1/+0
| | | | | | - Don't save UNION's EXPLAIN data if optimization failed with an error. We could end up saving incomplete plan, which will cause a crash when we attempt to print it.
* MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-071-0/+15
| | | | | - Add support for EXPLAIN INSERT.
* MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-051-0/+19
| | | | - Handle the case when EXPLAIN UPDATE/DELETE has pruned away all partitions.
* MDEV-5093, MDEV-5094:Sergey Petrunya2013-10-041-0/+21
| | | | - Make EXPLAIN {PARTITIONS,EXTENDED} {UPDATE,DELETE} work.
* MDEV-5067: Valgrind warnings (Invalid read) in QPF_table_access::print_explainSergey Petrunya2013-09-261-0/+8
| | | | | | - Query plan footprint (in new terms, "EXPLAIN structure") should always keep a copy of key_name. This is because the table might be a temporary table which may be already freed by the time we use query plan footprint.
* MDEV-5070 - EXPLAIN INSERT ... SELECT crashes on 10.0-base-explain-slowquerylogSergey Petrunya2013-09-251-0/+12
| | | | | - Add EXPLAIN output print out for INSERT/REPLACE ... SELECT
* [SHOW] EXPLAIN UPDATE/DELETESergey Petrunya2013-08-261-0/+11
| | | | | - Post-merge fixes (conflict with DELETE .. RETURNING) - Add a testcase with EXPLAIN ... DELETE ... RETURNING
* [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-06-181-1/+1
| | | | | | | Part 2 of: - Pass more tests - select with subselects is now shown with type=PRIMARY where it used to be (incorrectly) 'SIMPLE'
* SHOW EXPLAIN for MariaDBSergey Petrunya2013-02-121-0/+39
| | | | - Support [SHOW] EXPLAIN UPDATE (needs code cleanup).
* EXPLAIN DELETE for MariaDBSergey Petrunya2013-02-121-0/+47
- Include the testcases in the backport.