An error occurred fetching the project authors.
- 12 May, 2018 1 commit
-
-
Galina Shalygina authored
work in the IN subqueries The pushdown into the materialized derived table/view wasn't done because optimize() for the derived was called before any conditions that can be pushed down were extracted. So optimize() in convert_join_subqueries_to_semijoins() method is called too early and is unnecessary. The second optimize() call in mysql_handle_single_derived() is enough.
-
- 11 Apr, 2018 1 commit
-
-
Igor Babaev authored
The implementations of the convert_to_basic_const_item() virtual function for the Item_cache classes should call cache_value() when value_cached == NULL.
-
- 02 Apr, 2018 1 commit
-
-
Galina Shalygina authored
Item::derived_field_transformer_for_having The crash occurred due to an inappropriate handling of multiple equalities when pushing conditions into materialized views/derived tables. If equalities extracted from a multiple equality can be pushed into a materialized view/derived table they should be plainly conjuncted with other pushed predicates rather than form a separate AND sub-formula.
-
- 05 Jan, 2018 1 commit
-
-
Igor Babaev authored
with condition_pushdown_for_derived=on This bug is a consequence of the bug mdev-14368 fixed in 5.5.59.
-
- 06 Nov, 2017 1 commit
-
-
Igor Babaev authored
It's better to prohibit pushdown of conditions that involve regexp_substr() and regexp_replace() into materialized derived tables / views until proper implementations of the get_copy() virtual method are provided for those functions.
-
- 30 Jun, 2017 1 commit
-
-
Igor Babaev authored
When an equality that can be pushed into a materialized derived table / view is extracted from multiple equalities and their operands are cloned then if they have some pointers to Item_equal objects those pointers must be set to NULL in the clones. Anyway they are not valid in the pushed predicates.
-
- 26 Jun, 2017 1 commit
-
-
Igor Babaev authored
This patch corrects the fix for mdev-12845.
-
- 23 Jun, 2017 1 commit
-
-
Igor Babaev authored
This patch fills in a serious flaw in the code that supports condition pushdown into materialized views / derived tables. If a predicate happened to contain a reference to a mergeable view / derived table and it does not depended directly on the target materialized view / derived table then the predicate was not considered as a subject to pusdown to this view / derived table.
-
- 25 Apr, 2017 1 commit
-
-
Igor Babaev authored
Condition pushdown into derived tables / views with side effects is not allowed.
-
- 24 Jan, 2017 1 commit
-
-
Igor Babaev authored
The fields st_select_lex::cond_pushed_into_where and st_select_lex::cond_pushed_into_having should be re-initialized for the unit specifying a derived table at every re-execution of the query that uses this derived table, because the result of condition pushdown may be different for different executions.
-
- 20 Dec, 2016 2 commits
-
-
Igor Babaev authored
The fix for bug mdev-11488 introduced the virtual method convert_to_basic_const_item for the class Item_cache. The implementation of this method for the class Item_cache_str was not quite correct: the server could crash if the cached item was null. A similar problem could appear for the implementation of this method for the class Item_cache_decimal. Although I could not reproduce the problem I decided to change the code appropriately.
-
Igor Babaev authored
When a condition containing NULLIF is pushed into a materialized view/derived table the clone of the Item_func_nullif item must be processed in a special way to guarantee that the first argument points to the same item as the third argument.
-
- 14 Dec, 2016 1 commit
-
-
Igor Babaev authored
The patch for bug mdev-10882 tried to fix it by providing an implementation of the virtual method build_clone for the class Item_cache. It's turned out that it is not easy provide a valid implementation for Item_cache::build_clone(). At the same time if the condition that can be pushed into a materialized view contains a cached item this item can be substituted for a basic constant of the same value. In such a way we can avoid building proper clones for Item_cache objects when constructing pushdown conditions.
-
- 30 Nov, 2016 1 commit
-
-
Igor Babaev authored
The bug was fixed by the patch for mdev-10882.
-
- 29 Nov, 2016 1 commit
-
-
Igor Babaev authored
The implementation of the virtual method build_clone for the class Item_cache was missing.
-
- 27 Nov, 2016 1 commit
-
-
Igor Babaev authored
The fix for bug 11072 was not complete though it also fixed the bug mdev-10800. This patch resolves the problems of all three bugs.
-
- 23 Nov, 2016 1 commit
-
-
Igor Babaev authored
There were no implementations for the virtual functions exclusive_dependence_on_table_processor and exclusive_dependence_on_table_processor. As a result the procedure pushdown_cond_for_derived erroneously detected some conditions with outer references as pushable into materialized view / derived table.
-
- 17 Nov, 2016 1 commit
-
-
Igor Babaev authored
The class Item_func_nop_all missed an implementation of the virtual method get_copy. As a result if the condition that can be pushed into into a materialized view / derived table contained an ANY subselect then the pushdown condition was built incorrectly.
-
- 16 Nov, 2016 1 commit
-
-
Igor Babaev authored
Do not push conditions from where into materialized inner tables of outer joins: this is not valid.
-
- 15 Nov, 2016 1 commit
-
-
Igor Babaev authored
In a general case the conditions with outer fields cannot be pushed into materialized views / derived tables. However if the outer field in the condition refers to a single row table then the condition may be pushable. In this case a special care should be taken for outer fields when pushing the condition into a materialized view / derived table.
-
- 26 Sep, 2016 1 commit
-
-
Igor Babaev authored
If a materialized derived table / view is specified by a unit with SELECTs containing ORDER BY ... LIMIT then condition pushdown cannot be done for these SELECTs. If a materialized derived table / view is specified by a unit containing global ORDER BY ... LIMIT then condition pushdown cannot be done for this unit.
-
- 14 Sep, 2016 1 commit
-
-
Igor Babaev authored
The condition pushed into WHERE/HAVING of a materialized view/derived table may differ for different executions of the same prepared statement. That's why the should be ANDed with the existing WHERE/HAVING conditions only after all permanent transformations of these conditions has been performed.
-
- 13 Sep, 2016 1 commit
-
-
Igor Babaev authored
Do not push conditions into materialized views/derived tables marked with the flag 'fill_me'.
-
- 12 Sep, 2016 1 commit
-
-
Igor Babaev authored
This bug in the code of Item_ref::build_clone could cause corruption of items in where conditions. Also made sure that equality predicates extracted from multiple equality items to be pushed into materialized views were cloned.
-
- 05 Sep, 2016 1 commit
-
-
Igor Babaev authored
for materialized views and derived tables: there were no push-down if the view was defined as union of selects without aggregation. Added test cases with such unions. Adjusted result files after the merge of the code for mdev-9197.
-
- 22 Aug, 2016 1 commit
-
-
Galina Shalygina authored
-