summaryrefslogtreecommitdiff
path: root/mysql-test/main/derived_cond_pushdown.result
Commit message (Collapse)AuthorAgeFilesLines
* Post-merge fix: update derived_cond_pushdown.resultSergei Petrunia2021-06-301-0/+1
|
* Merge 10.2->10.3Sergei Petrunia2021-06-301-0/+146
|
* Merge 10.2 into 10.3Marko Mäkelä2021-06-081-0/+39
|
* MDEV-25714 Join using derived with aggregation returns incorrect resultsIgor Babaev2021-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | If a join query uses a derived table (view / CTE) with GROUP BY clause then the execution plan for such join may employ split optimization. When this optimization is employed the derived table is not materialized. Rather only some partitions of the derived table are subject to grouping. Split optimization can be applied only if: - there are some indexes over the tables used in the join specifying the derived table whose prefixes partially cover the field items used in the GROUP BY list (such indexes are called splitting indexes) - the WHERE condition of the join query contains conjunctive equalities between columns of the derived table that comprise major parts of splitting indexes and columns of the other join tables. When the optimizer evaluates extending of a partial join by the rows of the derived table it always considers a possibility of using split optimization. Different splitting indexes can be used depending on the extended partial join. At some rare conditions, for example, when there is a non-splitting covering index for a table joined in the join specifying the derived table usage of a splitting index to produce rows needed for grouping may be still less beneficial than usage of such covering index without any splitting technique. The function JOIN_TAB::choose_best_splitting() must take this into account. Approved by Oleksandr Byelkin <sanja@mariadb.com>
* MDEV-25128 Wrong result from join with materialized semi-join andIgor Babaev2021-03-231-0/+211
| | | | | | | | | | | | | | | | | | | splittable derived If one of joined tables of the processed query is a materialized derived table (or view or CTE) with GROUP BY clause then under some conditions it can be subject to split optimization. With this optimization new equalities are injected into the WHERE condition of the SELECT that specifies this derived table. The injected equalities are generated for all join orders with which the split optimization can employed. After the best join order has been chosen only certain of this equalities are really needed. The others can be safely removed. If it's not done and some of injected equalities involve expressions over semi-joins with look-up access then the query may return a wrong result set. This patch effectively removes equalities injected for split optimization that are needed only at the optimization stage and not needed for execution. Approved by serg@mariadb.com
* Added the test case for MDEV-23804Varun Gupta2021-01-121-0/+70
|
* Merge 10.2 into 10.3Marko Mäkelä2020-12-011-0/+41
|
* Merge 10.2 into 10.3Marko Mäkelä2020-10-281-8/+8
|
* MDEV-17568: LATERAL DERIVED is not clearly visible in EXPLAIN FORMAT=JSONSergei Petrunia2020-05-061-0/+8
| | | | Make LATERAL DERIVED tables visible in EXPLAIN FORMAT=JSON output.
* Merge 10.2 into 10.3Marko Mäkelä2020-03-301-0/+12
|
* MDEV-21883 Server crashes when joining a subselect with 32 tables and GROUP BYIgor Babaev2020-03-231-0/+85
| | | | | | | | This bug could cause a crash for any query that used a derived table/view/CTE whose specification was a SELECT with a GROUP BY clause and a FROM list containing 32 or more table references. The problem appeared only in the cases when the splitting optimization could be applied to such derived table/view/CTE.
* MDEV-21614 Wrong query results with optimizer_switch="split_materialized=on"Igor Babaev2020-02-071-0/+89
| | | | | | | Do not materialize a semi-join nest if it contains a materialized derived table /view that potentially can be subject to the split optimization. Splitting of materialization of such nest would help, but currently there is no code to support this technique.
* Merge 10.2 into 10.3Marko Mäkelä2019-12-271-0/+30
|
* Merge branch '10.2' into 10.3Monty2019-09-031-0/+1
|
* MDEV-19468 Hybrid type expressions return wrong format for FLOATAlexander Barkov2019-05-151-1/+1
|
* Merge branch '10.2' into 10.3Oleksandr Byelkin2019-05-121-0/+50
|
* Merge 10.2 into 10.3Marko Mäkelä2019-03-081-0/+21
|
* Merge 10.2 into 10.3Marko Mäkelä2018-11-191-0/+93
|
* Merge 10.2 into 10.3Marko Mäkelä2018-11-061-3956/+3957
| | | | | | | | | main.derived_cond_pushdown: Move all 10.3 tests to the end, trim trailing white space, and add an "End of 10.3 tests" marker. Add --sorted_result to tests where the ordering is not deterministic. main.win_percentile: Add --sorted_result to tests where the ordering is no longer deterministic.
* Merge 10.2 into 10.3Marko Mäkelä2018-10-171-0/+146
|
* MDEV-17419 Subquery with group by returns wrong resultsIgor Babaev2018-10-171-0/+40
| | | | Added only test case because the bug was fixed by the patch for mdev-17382.
* Merge 10.2 into 10.3Marko Mäkelä2018-08-281-0/+368
|
* MDEV-16801 seg_fault on a queryIgor Babaev2018-08-031-0/+54
| | | | | | | | | The bug was in the in the code of JOIN::check_for_splittable_materialized() where the structures describing the fields of a materialized derived table that potentially could be used in split optimization were build. As a result of this bug some fields that were not usable for splitting were detected as usable. This could trigger crashes further in st_join_table::choose_best_splitting().
* Merge 10.2 into 10.3Marko Mäkelä2018-08-031-0/+66
|
* Merge branch '10.2' into 10.3Sergei Golubchik2018-06-301-0/+139
|
* Merge 10.2 into 10.3Marko Mäkelä2018-06-181-0/+196
|
* Merge 10.2 into 10.3Marko Mäkelä2018-05-171-0/+428
|
* MDEV-16104 Server crash in JOIN::fix_all_splittings_in_planIgor Babaev2018-05-081-0/+33
| | | | | | | | | | | | upon select with view and subqueries This bug occurred when a splittable materialized derived/view were used inside another splittable materialized derived/view. The bug happened because the function JOIN::fix_all_splittings_in_plan() was called at the very beginning of the optimization phase 2 at the moment when the plan structure of the embedding derived/view were not valid. The proper position for this call is the very end of the optimization phase 1.
* MDEV-16057: Using optimization Splitting with Group BY we see an unnecessary ↵Varun Gupta2018-05-061-1/+0
| | | | | | | | | | | | | | | | | | attached condition t1.pk IS NOT NULL where pk is a PRIMARY KEY For equalites in the WHERE clause we create a keyuse array that contains the set of all equalities. For each KEYUSE inside the keyuse array we have a field "null_rejecting" which tells that the equality will not hold if either the left or right hand side of the equality is NULL. If the equality is NULL rejecting then we accordingly add a NOT NULL condition for the field present in the item val(present in the KEYUSE struct) when we are doing ref access. For the optimization of splitting with GROUP BY we always set the null_rejecting to TRUE and we are doing ref access on the GROUP by field. This does create a problem when the equality is NOT NULL rejecting. This happens in this case as in the equality we have the right hand side as t1.pk where pk is a PRIMARY KEY , hence it is NOT NULLABLE. So we should have null rejecting set to FALSE for such a case.
* MDEV-15902 Assertion `n < m_size' failed, sql_array.h:64:Igor Babaev2018-04-191-22/+22
| | | | | | | | | | | | | | | | | | | | | Element_type& Bounds_checked_array<Element_type>::operator[] (size_t) [with Element_type = Item*; size_t = long unsigned int] In sql_yacc.yy the semantic actions for the MEDIAN window function lacked a call of st_select_lex::prepare_add_window_spec(). This function saves the head of the thd->lex->order_list into lex->save_order_list in order this head to be restored in st_select_lex::add_window_spec after the specification of the window function has been parsed. Without a call of prepare_add_window_spec() when add_window_spec() was called the head of an empty list was copied into thd->lex->order_list (instead of assumed saved head this list). This made the list thd->lex->order_list invalid and potentially could cause many different problems. Corrected the result set in the test case for MDEV-15899 that used the MEDIAN window function and could not be correct without this fix.
* MDEV-15899 Server crashes in st_join_table::is_inner_table_of_outer_joinIgor Babaev2018-04-171-0/+46
| | | | | | | The crash happened because JOIN::check_for_splittable_materialized() called by mistake the function JOIN_TAB::is_inner_table_of_outer_join() instead of the function TABLE_LIST::is_inner_table_of_outer_join(). The former cannot be called before the call of make_outerjoin_info().
* Merge remote-tracking branch '10.2' into 10.3Vicențiu Ciorbaru2018-04-121-0/+15
|
* Merge 10.2 into 10.3Marko Mäkelä2018-04-041-0/+159
|
* bugfix: Item_cache_temporal::convert_to_basic_const_item assumed DATETIMESergei Golubchik2018-03-301-1/+1
| | | | this is a 10.3 version of 1c6f6dc8924
* Create 'main' test directory and move 't' and 'r' thereMichael Widenius2018-03-291-0/+14947