summaryrefslogtreecommitdiff
path: root/mysql-test/r/myisam_icp.result
Commit message (Collapse)AuthorAgeFilesLines
* Check for duplicate index (port from mysql)unknown2013-09-201-0/+3
| | | | (pre fts)
* MDEV-4778: Incorrect results from Aria/MyISAM SELECT using index with prefix ↵Sergey Petrunya2013-07-161-1/+28
| | | | | | | | | | length on TEXT column Backport the fix olav.sandstaa@sun.com-20101102184747-qfuntqwj021imy9r: "Fix for Bug#52660 Perf. regr. using ICP for MyISAM on range queries on an index containing TEXT" (together with further fixes in that code) into MyISAM and Aria.
* Mergeunknown2012-06-061-0/+16
|\
| * MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == lenSergei Golubchik2012-06-041-0/+16
| | | | | | | | | | remove the offending assert. take the test case from mysql Bug#58015
* | merge with 5.3.Sergei Golubchik2012-06-041-1/+20
|\ \ | |/ | | | | Take only test cases from MDEV-136 Non-blocking "set read_only"
| * BUG#1000051: Query with simple join and ORDER BY takes thousands times ↵Sergey Petrunya2012-05-231-6/+8
| | | | | | | | | | | | | | longer when run with ICP - Correct testcases.
| * BUG#1000051: Query with simple join and ORDER BY takes thousands times ↵Sergey Petrunya2012-05-231-1/+18
| | | | | | | | | | | | longer when run with ICP - Disable IndexConditionPushdown for reverse scans.
* | typo fixed: space in the status variable nameSergei Golubchik2012-04-171-3/+3
| |
* | 5.3 mergeSergei Golubchik2012-02-241-24/+9
|\ \ | |/
| * Don't run test for BUG#933412 with embedded server, as it requires ↵Sergey Petrunya2012-02-221-15/+0
| | | | | | | | | | | | concurrent query execution which mtr --embedded does not support
| * Changed names of statistic variables and counting matches instaed of ↵unknown2012-02-221-9/+9
| | | | | | | | rejected rows.
* | 5.3 mergeSergei Golubchik2012-02-211-0/+42
|\ \ | |/
| * BUG#933412: Server crashes in _mi_put_key_in_record on KILL QUERY with ICP, ↵Sergey Petrunya2012-02-201-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | STRAIGHT_JOIN - In mi_rkey(), do correct handling of case where mi_yield_and_check_if_killed() detects that the thread was killed (all other similar functions in MyISAM/Aria have slightly different code and do not have this problem). - Also fixed assignment in DBUG_ASSERT - this is 2nd variant of the fix: = make .result file smaller = run KILLable statements in a separate connection, otherwise we could end up trying to KILL the final "DROP TABLE" statement
| * Counters for Index Condition Pushdown added (MDEV-130).unknown2012-02-161-0/+27
| |
* | 5.3 mergeSergei Golubchik2012-01-131-3/+113
|\ \ | |/
| * Back-ported the patch of the mysql-5.6 code line thatIgor Babaev2011-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed several defects in the greedy optimization: 1) The greedy optimizer calculated the 'compare-cost' (CPU-cost) for iterating over the partial plan result at each level in the query plan as 'record_count / (double) TIME_FOR_COMPARE' This cost was only used locally for 'best' calculation at each level, and *not* accumulated into the total cost for the query plan. This fix added the 'CPU-cost' of processing 'current_record_count' records at each level to 'current_read_time' *before* it is used as 'accumulated cost' argument to recursive best_extension_by_limited_search() calls. This ensured that the cost of a huge join-fanout early in the QEP was correctly reflected in the cost of the final QEP. To get identical cost for a 'best' optimized query and a straight_join with the same join order, the same change was also applied to optimize_straight_join() and get_partial_join_cost() 2) Furthermore to get equal cost for 'best' optimized query and a straight_join the new code substrcated the same '0.001' in optimize_straight_join() as it had been already done in best_extension_by_limited_search() 3) When best_extension_by_limited_search() aggregated the 'best' plan a plan was 'best' by the check : 'if ((search_depth == 1) || (current_read_time < join->best_read))' The term '(search_depth == 1' incorrectly caused a new best plan to be collected whenever the specified 'search_depth' was reached - even if this partial query plan was more expensive than what we had already found.
| * Fixed LP bug #904832.Igor Babaev2011-12-181-0/+107
| | | | | | | | | | Do not perform index condition pushdown for conditions containing subqueries and stored functions.
| * Made the optimizer switch flags 'outer_join_with_cache', 'semijoin_with_cache'Igor Babaev2011-12-151-0/+3
| | | | | | | | set to 'on' by default.
| * Make subquery Materialization, as well as semi-join Materialization be shownSergey Petrunya2011-12-051-2/+2
| | | | | | | | | | | | | | in EXPLAIN as select_type==MATERIALIZED. Before, we had select_type==SUBQUERY and it was difficult to tell materialized subqueries from uncorrelated scalar-context subqueries.
* | 5.3->5.5 mergeSergei Golubchik2011-11-271-2/+2
|\ \ | |/
| * Merge enabling of materialization=on by default with main tree.unknown2011-11-211-2/+2
| |\
* | \ 5.3->5.5 mergeSergei Golubchik2011-11-221-2/+541
|\ \ \ | |/ /
| * | Fixed LP bug #879871. Igor Babaev2011-11-111-0/+15
| | | | | | | | | | | | | | | | | | The function add_ref_to_table_cond missed updating the value of join_tab->pre_idx_push_select_cond after having updated the value of join_tab->select->pre_idx_push_select_cond.
| * | BUG#887026: Wrong result with ICP, outer join, subquery in maria-5.3-icpSergey Petrunya2011-11-071-0/+30
| | | | | | | | | | | | - Do not push index condition if we're using a triggered ref access.
| * | Fixed LP bug #886145.Igor Babaev2011-11-061-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug happened because in some cases the function JOIN::exec did not save the value of TABLE::pre_idx_push_select_cond in TABLE::select->pre_idx_push_select_cond for the sort table. Noticed and fixed a bug in the function make_cond_remainder that builds the remainder condition after extraction of an index pushdown condition from the where condition. The code erroneously assumed that the function make_cond_for_table left the value of ICP_COND_USES_INDEX_ONLY in sub-condition markers. Adjusted many result files from the regression test suite after this fix .
| * | Fixed LP bug #885168.Igor Babaev2011-11-041-0/+32
| | | | | | | | | | | | | | | | | | The call of the virtual function cancel_pushed_idx_cond in the code of the function test_if_skip_sort_order was misplaced when backporting the fix for bug 58816.
| * | Backported the fix and the test case for bug 12822678 from the mysql-5.6 ↵Igor Babaev2011-11-011-0/+26
| | | | | | | | | | | | | | | | | | | | | code line. Fixed a bug in select_describe. Adjusted results for affected test cases.
| * | Backported the test case for bug 59843 from the mysql-5.6 code line.Igor Babaev2011-10-311-0/+17
| | | | | | | | | | | | (Failed to reproduce the bug in mariadb-5.3).
| * | Backported the fix and the test case for bug 59483 from the mysql-5.6 code line.Igor Babaev2011-10-301-0/+20
| | |
| * | Backported the test case for bug 58838 from mysql-5.6 code line.Igor Babaev2011-10-301-0/+24
| | | | | | | | | | | | | | | The bug was fixed by the patches for LP bugs 668644,702322 that were applied earlier to the mariadb-5.3 code.
| * | Backported the test case for bug 59186 from mysql-5.6 code line.Igor Babaev2011-10-301-0/+29
| | | | | | | | | | | | | | | The bug was fixed by the patch for LP bug 694092 that was applied earlier to the mariadb-5.3 code.
| * | Backported the test case for bug 58837. The fix was backported earlier.Igor Babaev2011-10-301-0/+23
| | |
| * | Backported the fix and the test case for bug #58816 from mysql-5.6 code line.Igor Babaev2011-10-291-0/+23
| | |
| * | Merge.Igor Babaev2011-10-281-5/+5
| |\ \ | | |/
| | * - Let t/myisam_icp.test run include/icp_tests.inc with MRR/ICP turned ON ↵Sergey Petrunya2011-10-281-2/+2
| | | | | | | | | | | | | | | | | | (not OFF) - Fix the compile-time-default value of optimizer_switch printed by mysqld --help --defaults
| * | Merge.Igor Babaev2011-10-281-0/+242
| |\ \ | | |/ | |/|
| | * Backported the test case for bug 52605.Igor Babaev2011-05-291-0/+33
| | |
| | * Backported the test case for bug 52660 from mysql code line.Igor Babaev2011-05-271-0/+39
| | | | | | | | | | | | | | | | | | Extended the test case to show how MariaDB applies ICP for indexes with some components defined on the beginning of fields.
| | * Backported the test case for bug 43618 from mysql code line.Igor Babaev2011-05-271-0/+36
| | |
| | * Backported the test case for bug 43617 fixed by the patch for bug 42580.Igor Babaev2011-05-271-0/+69
| | | | | | | | | | | | | | | | | | Backported the test case for bug 49906 fixed by the patch for LP bug 625841. Slightly optimized the code of the fix for LP bug 625841.
| | * Downported InnoDB support of Index Condition Pushdown from MySQL-5.6 code line.Igor Babaev2011-05-251-0/+65
| | |
| * | Fixed LP bug #870046.Igor Babaev2011-10-111-0/+22
|/ / | | | | | | | | | | | | | | | | This bug is a consequence of the fix in the function add_ref_to_table_cond for LP bug 826935 that turned out to be not quite correct: it tried to AND the same generated condition with two different other conditions. This patch creates a copy of the generated condition if the condition needs to be ANDed with two different items.
* | BUG#826935 Assertion `!table || (!table->read_set || ↵Sergey Petrunya2011-08-171-0/+14
| | | | | | | | | | | | | | | | | | | | bitmap_is_set(table->read_set, field_index))' failed - add_ref_to_table_cond() should not just overwrite pre_idx_push_select_cond with the contents tab->select_cond. pre_idx_push_select_cond exists precisely for the reason that it may contain a condition that is a strict superset of what is in tab->select_cond. The fix is to inject generated equality into pre_idx_push_select_cond.
* | BUG#778434 Wrong result with in_to_exists=on in maria-5.3-mwl89Sergey Petrunya2011-07-141-0/+23
| | | | | | | | | | | | - Make {ha_myisam,ha_maria}::index_read_idx_map check pushed index condition. - Address review feedback (added comments)
* | Set the default to be mrr=off,mrr_sort_keys=off:Sergey Petrunya2011-07-081-0/+3
|/ | | | | | | - Set the default - Adjust the testcases so that 'new' tests are run with optimizations turned on. - Pull out relevant tests from "irrelevant" tests and run them with optimizations on. - Run range.test and innodb.test with both mrr=on and mrr=off
* Merge with bugfixMichael Widenius2011-02-181-0/+1
|\ | | | | | | | | | | | | | | sql/multi_range_read.cc: Added printing of error if something goes wrong in get_next() (Not critical for this bug fix, but this was something that I noticed while testing and found missing) storage/myisam/mi_rkey.c: Fixed wrong error number in mi_yield_and_check_if_killed()
| * Fix for lp:711565 "Index Condition Pushdown can make a thread hold MyISAM ↵Michael Widenius2011-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | locks as well as be unKILLable for long time" - In Maria/MyISAM: Release/re-acquire locks to give queries that wait on them a chance to make progress - In Maria/MyISAM: Change from numeric constants to ICP_RES values. - In Maria: Do check index condition in maria_rprev() (was lost in the merge/backport?) - In Maria/MyISAM/XtraDB: Check if the query was killed, and return immediately if it was. Added new storage engine error: HA_ERR_ABORTED_BY_USER, for handler to signal that it detected a kill of the query and aborted Authors: Sergey Petrunia & Monty include/my_base.h: Added HA_ERR_ABORTED_BY_USER, for handler to signal that it detected a kill of the query and aborted include/my_handler.h: Added comment mysql-test/r/myisam_icp.result: Updated test mysql-test/t/myisam_icp.test: Drop used tables at start of test Added test case that can help with manual testing of killing index condition pushdown query. mysys/my_handler_errors.h: Text for new storage engine error sql/handler.cc: If engine got HA_ERR_ABORTED_BY_USER, send kill message. sql/multi_range_read.cc: Return error code storage/maria/ha_maria.cc: Added ma_killed_in_mariadb() to detect kill. Ensure that file->external_ref points to TABLE object. storage/maria/ma_extra.c: Dummy test-if-killed for standalone storage/maria/ma_key.c: If ma_check_index_cond() fails, set my_errno and info->cur_row.lastpos storage/maria/ma_rkey.c: Release/re-acquire locks to give queries that wait on them a chance to make progress Check if the query was killed, and return immediately if it was storage/maria/ma_rnext.c: Check if the query was killed, and return immediately if it was Added missing fast_ma_writeinfo(info) storage/maria/ma_rnext_same.c: Check if the query was killed, and return immediately if it was Added missing fast_ma_writeinfo(info) storage/maria/ma_rprev.c: Check if the query was killed, and return immediately if it was Added missing fast_ma_writeinfo(info) and ma_check_index_cond() storage/maria/ma_search.c: Give error message if we find a wrong key storage/maria/ma_static.c: Added pointer to test-if-killed function storage/maria/maria_def.h: New prototypes storage/myisam/ha_myisam.cc: Added mi_killed_in_mariadb() Ensure that file->external_ref points to TABLE object. storage/myisam/mi_extra.c: Dummy test-if-killed for standalone storage/myisam/mi_key.c: If ma_check_index_cond() fails, set my_errno and info->lastpos storage/myisam/mi_rkey.c: Ensure that info->lastpos= HA_OFFSET_ERROR in case of error Release/re-acquire locks to give queries that wait on them a chance to make progress Check if the query was killed, and return immediately if it was Reorder code to do less things in case of error. Added missing fast_mi_writeinfo() storage/myisam/mi_rnext.c: Check if the query was killed, and return immediately if it was Simplify old ICP code Added missing fast_ma_writeinfo(info) storage/myisam/mi_rnext_same.c: Check if the query was killed, and return immediately if it was Added missing fast_mi_writeinfo(info) storage/myisam/mi_rprev.c: Check if the query was killed, and return immediately if it was Simplify error handling of ICP Added missing fast_mi_writeinfo(info) storage/myisam/mi_search.c: Give error message if we find a wrong key storage/myisam/mi_static.c: Added pointer to test-if-killed function storage/myisam/myisamdef.h: New prototypes storage/xtradb/handler/ha_innodb.cc: Added DB_SEARCH_ABORTED_BY_USER and ha_innobase::is_thd_killed() Check if the query was killed, and return immediately if it was storage/xtradb/handler/ha_innodb.h: Added prototype storage/xtradb/include/db0err.h: Added DB_SEARCH_ABORTED_BY_USER storage/xtradb/include/row0mysql.h: Added possible ICP errors storage/xtradb/row/row0sel.c: Use ICP errors instead of constants. Detect if killed and return B_SEARCH_ABORTED_BY_USER
* | Backported test case for bug #36981.Igor Babaev2011-02-081-0/+50
|/
* Backport of:Sergey Petrunya2011-01-141-0/+120
| | | | | | | | | | | | | | | 3150 Olav Sandstaa 2010-05-07 Test cases for the following "ICP for InnoDB" bugs: Bug#40992 InnoDB: Crash when engine_condition_pushdown is on Bug#35080 Innodb crash at mem_block_get_len line 72 Bug#41996 multi-table delete crashes server (InnoDB table) Bug#43448 Server crashes on multi table delete with Innodb All these bugs are duplicates of either one or both of Bug 43360 or 36981. (backporting of olav@sun.com-20100226091930-qxvakxmcp6463t5w)
* Test case backport for: Bug#42580 - Innodb's ORDER BY ..LIMIT returns no ↵Sergey Petrunya2011-01-141-0/+30
rows for null-safe operator <=> NULL