summaryrefslogtreecommitdiff
path: root/mysql-test/r/derived_opt.result
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '5.5' into 10.0Sergei Golubchik2015-03-061-20/+20
|\
| * MDEV-6838 Using too big key for internal temp tablesSergei Golubchik2015-03-061-20/+20
| | | | | | | | update test results after the fix
* | MergeSergey Petrunya2014-10-291-1/+124
|\ \ | |/
| * Merge 5.3->5.5Sergey Petrunya2014-10-291-1/+153
| |\
| | * MDEV-6879: Dereference of NULL primary_file->table in ↵Sergey Petrunya2014-10-291-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DsMrr_impl::get_disk_sweep_mrr_cost() (Backport to 5.3) (Attempt #2) - Don't attempt to use BKA for materialized derived tables. The table is neither filled nor fully opened yet, so attempt to call handler->multi_range_read_info() causes crash.
| | * MDEV-6888: Query spends a long time in best_extension_by_limited_search with ↵Sergey Petrunya2014-10-291-1/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mrr enabled - TABLE::create_key_part_by_field() should not set PART_KEY_FLAG in field->flags = The reason is that it is used by hash join code which calls it to create a hash table lookup structure. It doesn't create a real index. = Another caller of the function is TABLE::add_tmp_key(). Made it to set the flag itself. - The differences in join_cache.result could also be observed before this patch: one could put "FLUSH TABLES" before the queries and get exactly the same difference.
* | | MDEV-6879: Dereference of NULL primary_file->table in ↵Sergey Petrunya2014-10-201-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | DsMrr_impl::get_disk_sweep_mrr_cost() (Attempt #2) - Don't attempt to use BKA for materialized derived tables. The table is neither filled nor fully opened yet, so attempt to call handler->multi_range_read_info() causes crash.
* | | [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-06-181-2/+2
|/ / | | | | | | | | | | | | Part 2 of: - Pass more tests - select with subselects is now shown with type=PRIMARY where it used to be (incorrectly) 'SIMPLE'
* | 5.3->5.5 mergeSergei Golubchik2012-11-221-0/+70
|\ \ | |/
| * MDEV-3801unknown2012-11-191-19/+17
| | | | | | | | Adjust unstable test case.
| * MDEV-3801 Reproducible sub select join crash on 5.3.8 and 5.3.9unknown2012-11-191-0/+72
| | | | | | | | | | | | Properly drop all unused keys. Patch by Igor Babaev.
* | Patch for mdev-287: CHEAP SQ: A query with subquery in SELECT list, EXISTS, ↵unknown2012-05-301-12/+12
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | inner joins takes hundreds times longer Analysis: The fix for lp:944706 introduces early subquery optimization. While a subquery is being optimized some of its predicates may be removed. In the test case, the EXISTS subquery is constant, and is evaluated to TRUE. As a result the whole OR is TRUE, and thus the correlated condition "b = alias1.b" is optimized away. The subquery becomes non-correlated. The subquery cache is designed to work only for correlated subqueries. If constant subquery optimization is disallowed, then the constant subquery is not evaluated, the subquery remains correlated, and its execution is cached. As a result execution is fast. However, when the constant subquery was optimized away, it was neither cached by the subquery cache, nor it was cached by the internal subquery caching. The latter was due to the fact that the subquery still appeared as correlated to the subselect_XYZ_engine::exec methods, and they re-executed the subquery on each call to Item_subselect::exec. Solution: The solution is to update the correlated status of the subquery after it has been optimized. This status consists of: - st_select_lex::is_correlated - Item_subselect::is_correlated - SELECT_LEX::uncacheable - SELECT_LEX_UNIT::uncacheable The status is updated by st_select_lex::update_correlated_cache(), and its caller st_select_lex::optimize_unflattened_subqueries. The solution relies on the fact that the optimizer already called st_select_lex::update_used_tables() for each subquery. This allows to efficiently update the correlated status of each subquery without walking the whole subquery tree. Notice that his patch is an improvement over MySQL 5.6 and older, where subqueries are not pre-optimized, and the above analysis is not possible.
* Fix for LP BUG#910123 MariaDB 5.3.3 causes 1093 error on Drupalunknown2012-02-141-0/+9
| | | | | Problem was that now we can merge derived table (subquery in the FROM clause). Fix: in case of detected conflict and presence of derived table "over" the table which cased the conflict - try materialization strategy.
* Merge.Igor Babaev2011-07-211-0/+21
|
* Made the optimizer switches 'derived_merge' and 'derived_with_keys'Igor Babaev2011-07-211-0/+255
off by default.