summaryrefslogtreecommitdiff
path: root/mysql-test/r/subselect_extra.result
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-6838 Using too big key for internal temp tablesSergei Golubchik2015-03-061-1/+1
| | | | update test results after the fix
* 5.3 mergeSergei Golubchik2014-02-221-2/+2
|\
| * After constant row substitution the optimizer should call the methodIgor Babaev2014-02-201-2/+2
| | | | | | | | | | | | | | | | | | update_used_tables for the the where condition to update cached indicators of constant subexpressions. It should be done before further possible simplification of the where condition. This change caused simplification of the executed where conditions in many test cases.
* | Merge 5.3->5.5Igor Babaev2013-11-211-2/+2
|\ \ | |/
| * Another attempt to fix bug mdev-5103.Igor Babaev2013-11-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | The earlier pushed fix for the bug was incomplete. It did not remove the main cause of the problem: the function remove_eq_conds() removed always true multiple equalities from any conjunct, but did not adjust the list of them stored in Item_cond_and::cond_equal.current_level. Simplified the test case for the bug and moved it to another test file. The fix triggered changes in EXPLAIN EXTENDED for some queries.
* | 5.3 mergeSergei Golubchik2012-01-131-11/+12
|\ \ | |/
| * Back-ported the patch of the mysql-5.6 code line thatIgor Babaev2011-12-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Small semi-join optimization improvement:Sergey Petrunya2011-12-081-7/+6
| | | | | | | | | | | | - if we're considering FirstMatch access with one inner table, and @@optimizer_switch has semijoin_with_cache flag, calculate costs as if we used join cache (because we will be able to do so)
| * Fixed LP bug #899509.Igor Babaev2011-12-061-1/+1
| | | | | | | | | | The optimizer must ignore any possible hash join key when looking for the query execution plan with join_cache_level set to 0.
| * Make subquery Materialization, as well as semi-join Materialization be shownSergey Petrunya2011-12-051-1/+1
| | | | | | | | | | | | | | 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.
| * MergeSergey Petrunya2011-11-251-8/+8
| |\
| | * Semi-join optimizations code cleanup part 2:Sergey Petrunya2011-11-251-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | - Make EXPLAIN display "Start temporary" at the start of the fanout (it used to display at the first table whose rowid gets into temp. table which is not that useful for the user) - Updated test results (all checked)
* | | 5.3->5.5 mergeSergei Golubchik2011-11-271-1/+2
|\ \ \ | |/ /
| * | Merge enabling of materialization=on by default with main tree.unknown2011-11-211-1/+2
| |\ \
| | * | Enable subquery materialization=ON by default.unknown2011-11-091-1/+2
| | |/
* | | 5.3->5.5 mergeSergei Golubchik2011-11-221-6/+161
|\ \ \ | |/ /
| * | Fixed LP bug #889750.Igor Babaev2011-11-151-6/+9
| |/ | | | | | | | | | | | | | | | | If the optimizer switch 'semijoin_with_cache' is set to 'off' then join cache cannot be used to join inner tables of a semijoin. Also fixed a bug in the function check_join_cache_usage() that led to wrong output of the EXPLAIN commands for some test cases.
| * Change the default @@optimizer_switch settings:Sergey Petrunya2011-11-021-3/+155
| | | | | | | | | | | | - semijoin=on - firstmatch=on - loosescan=on
* | merge with 5.3Sergei Golubchik2011-10-191-2/+2
|/ | | | | | | | | | | | | sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
* Forgot to add these two files when setting semijoin=off by default:Sergey Petrunya2011-07-081-0/+323
- Scavenged subquery tests from testcases other than t/subselect*.test and put them into single file