An error occurred fetching the project authors.
  1. 12 May, 2018 1 commit
    • Galina Shalygina's avatar
      MDEV-16088: Pushdown into materialized views/derived tables doesn't · 8b26fea8
      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.
      8b26fea8
  2. 11 Apr, 2018 1 commit
  3. 02 Apr, 2018 1 commit
    • Galina Shalygina's avatar
      MDEV-15579 Crash in Item_field::used_tables() called by · 6223f1dd
      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.
      6223f1dd
  4. 05 Jan, 2018 1 commit
  5. 06 Nov, 2017 1 commit
    • Igor Babaev's avatar
      Fixed mdev-14237 Server crash on query with regexp_substr · 343bcb15
      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.
      343bcb15
  6. 30 Jun, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bug mdev-13193. · 9f0c1c0c
      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.
      9f0c1c0c
  7. 26 Jun, 2017 1 commit
  8. 23 Jun, 2017 1 commit
    • Igor Babaev's avatar
      Fixed the bug mdev-12845. · 9f362219
      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.
      9f362219
  9. 25 Apr, 2017 1 commit
  10. 24 Jan, 2017 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11820. · 423b7da3
      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.
      423b7da3
  11. 20 Dec, 2016 2 commits
    • Igor Babaev's avatar
      Fixed bug mdev-11608. · 9b27d3e8
      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.
      9b27d3e8
    • Igor Babaev's avatar
      Fixed bug mdev-11593. · 5c69879f
      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.
      5c69879f
  12. 14 Dec, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11488. · 441fa005
      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.
      441fa005
  13. 30 Nov, 2016 1 commit
  14. 29 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-10882. · b2c63d2f
      Igor Babaev authored
      The implementation of the virtual method build_clone for
      the class Item_cache was missing.
      b2c63d2f
  15. 27 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11313. · 1d0f1741
      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.
      1d0f1741
  16. 23 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11315. · f4d6f26a
      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.
      f4d6f26a
  17. 17 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11103. · 691214ae
      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.
      691214ae
  18. 16 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11102. · 1655160d
      Igor Babaev authored
      Do not push conditions from where into materialized inner tables
      of outer joins: this is not valid.
      1655160d
  19. 15 Nov, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-11072. · 68e7d92c
      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.
      68e7d92c
  20. 26 Sep, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-10884. · 1f1990a1
      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.
      1f1990a1
  21. 14 Sep, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-10785. · c22d307a
      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.
      c22d307a
  22. 13 Sep, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-10783. · 08ba4741
      Igor Babaev authored
      Do not push conditions into materialized views/derived tables
      marked with the flag 'fill_me'.
      08ba4741
  23. 12 Sep, 2016 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-10782. · 3630a00e
      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.
      3630a00e
  24. 05 Sep, 2016 1 commit
    • Igor Babaev's avatar
      Fixed a flaw in the implementation of condition push-down · 3b40f78e
      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.
      3b40f78e
  25. 22 Aug, 2016 1 commit