1. 21 Oct, 2013 3 commits
  2. 16 Oct, 2013 4 commits
  3. 11 Oct, 2013 1 commit
  4. 14 Oct, 2013 1 commit
  5. 12 Oct, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5132. · 78b580b7
      Igor Babaev authored
      Objects of the classes Item_func_isnull and Item_func_isnotnull
      must have the flag sargable set to TRUE.
      Set the value of the flag sargable only in constructors of the 
      classes inherited from Item_int_func.
      78b580b7
  6. 11 Oct, 2013 1 commit
  7. 10 Oct, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5105. · 7c87385e
      Igor Babaev authored
      The bug caused a memory overwrite in the function update_ref_and_keys()
      It happened due to a wrong value of SELECT_LEX::cond_count. This value
      historically was calculated by the fix_fields method. Now the logic of
      calling this method became too complicated and, as a result, this value
      is calculated not always correctly.
      The patch changes the way how and when  the values of SELECT_LEX::cond_count
      and of SELECT_LEX::between_count are calculated. The new code does it just at
      the beginning of update_ref_and_keys().
       
      7c87385e
  8. 04 Oct, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5078. · ec226e55
      Igor Babaev authored
      For aggregated fields from views/derived tables the possible adjustment
      of thd->lex->in_sum_func->max_arg_level in the function Item_field::fix_fields
      must be done before we leave the function.
      ec226e55
  9. 03 Oct, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5028. · 00816a96
      Igor Babaev authored
      Apparently in a general case a short-cut for the distinct optimization
      is invalid if join buffers are used to join tables after the tables whose
      values are to selected.
      00816a96
  10. 25 Sep, 2013 1 commit
  11. 16 Sep, 2013 5 commits
  12. 15 Sep, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-5015. · 996f6194
      Igor Babaev authored
      The patch for mdev-4355 had a defect: the cached values for bitmaps of
      used tables were not updated when processing degenerate OR formulas.
      996f6194
  13. 13 Sep, 2013 1 commit
  14. 12 Sep, 2013 2 commits
  15. 09 Sep, 2013 1 commit
  16. 06 Sep, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4996. · 02338228
      Igor Babaev authored
      The fix for bug mdev-4971 not always correctly set the pointers to
      inherited multiple equalities in objects of the Item_equal class. 
      02338228
  17. 30 Aug, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4971. · 576a2b15
      Igor Babaev authored
      The function propagate_new_equalities() did not updated properly
      the references to inherited multiple equalities.
      576a2b15
  18. 29 Aug, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4962. · 37f18d23
      Igor Babaev authored
      When a non-nullable datetime field is used under an IS NULL predicate
      of the WHERE condition in a query with outer joins the remove_eq_conds
      function should check whether this field belongs to an inner table
      of any outer join that can be, in a general case, a nested outer join.
      37f18d23
  19. 26 Aug, 2013 2 commits
    • Igor Babaev's avatar
      Fixed bug mdev-4952 · 650d3266
      Igor Babaev authored
      When in function remove_eq_conds() a sub-formula of the processed condition
      is replaced for another formula we should ensure that in the resulting
      formula AND/OR levels must alternate.
      650d3266
    • Igor Babaev's avatar
      Fixed bug mdev-4944. · 901737c9
      Igor Babaev authored
      The patch to fix mdev-4418 turned out to be incorrect.
      At the substitution of single row tables in make_join_statistics()
      the used multiple equalities may change and references to the new multiple
      equalities must be updated. The function remove_eq_conds() takes care of it and
      it should be called right after the substitution of single row tables.
      Calling it after the call of make_join_statistics was a mistake.
      901737c9
  20. 24 Aug, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4942. · dbc84ff9
      Igor Babaev authored
      Made sure that degenerate conjunctions/disjunctions are obtained from
      AND/OR conditions.
      dbc84ff9
  21. 22 Aug, 2013 1 commit
  22. 21 Aug, 2013 1 commit
  23. 20 Aug, 2013 2 commits
    • Igor Babaev's avatar
      Fixed a bug/typo in the patch for mdev-4355, noticed after the patch · 99992f6e
      Igor Babaev authored
      had been merged into 5.5.
      
      Corrected the result of the output from the test case for mdev 4895.
      99992f6e
    • unknown's avatar
      Fix bug MDEV-4895 Valgrind warnings (Conditional jump or move depends on... · 5fdb531d
      unknown authored
      Fix bug MDEV-4895 Valgrind warnings (Conditional jump or move depends on uninitialised value) in Field_datetime::get_date on GREATEST(..) IS NULL
      
      Analysis:
      The cause of the valgrind warning was an attempt to evaluate a Field that was not yet read.
      The reason was that on one hand Item_func_isnotnull was marked as constant by
      Item_func_isnotnull::update_used_tables, and this allowed eval_const_cond() to be called.
      On the other hand Item_func_isnotnull::val_int() evaluated its argument as if it was not
      constant.
      
      Solution:
      The fix make sure that Item_func_isnotnull::val_int() doesn't evaluate its argument when
      it is constant and cannot be NULL, because the result is known in this case. 
      5fdb531d
  24. 19 Aug, 2013 1 commit
  25. 17 Aug, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4418. · 25c15201
      Igor Babaev authored
      After single row substitutions there might appear new equalities.
      They should be properly propagated to all AND/OR levels the WHERE
      condition. It's done now with an additional call of remove_eq_conds(). 
      25c15201
  26. 15 Aug, 2013 3 commits
    • Igor Babaev's avatar
      Merge · 752d5d02
      Igor Babaev authored
      752d5d02
    • Igor Babaev's avatar
      Fixed bug mdev-4355. · fa7f6772
      Igor Babaev authored
      This patch almost totally revised the patch for bug mdev-4177.
      The latter had too many defects. In particular, it did not
      propagate multiple equalities formed when merging a degenerate
      disjunct into underlying AND formula.
      fa7f6772
    • Igor Babaev's avatar
      Merge 5.2->5.3 · 960720b1
      Igor Babaev authored
      960720b1