1. 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
  2. 25 Sep, 2013 1 commit
  3. 16 Sep, 2013 5 commits
  4. 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
  5. 13 Sep, 2013 1 commit
  6. 12 Sep, 2013 2 commits
  7. 09 Sep, 2013 1 commit
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 22 Aug, 2013 1 commit
  14. 21 Aug, 2013 1 commit
  15. 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
  16. 19 Aug, 2013 1 commit
  17. 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
  18. 15 Aug, 2013 4 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
    • Igor Babaev's avatar
      Merge 5.1->5.2 · 7ba78277
      Igor Babaev authored
      7ba78277
  19. 13 Aug, 2013 1 commit
    • Igor Babaev's avatar
      Fixed bug mdev-4894. · 6dd9f049
      Igor Babaev authored
      This a an old legacy performance bug.
      When a very selective range scan existed for the second table in a join,
      and, at the same time, there was another range condition depending on the
      fields of the first table, the optimizer chose a plan with
      'Range checked for each record'. This plan was extremely inefficient in
      comparison with the regular selective range scan.
      As a matter of fact the range scan chosen for each record was the same as
      that selective range scan. 
      
      Changed the test case for bug 24776 to preserve the old output for explain.
       
      6dd9f049
  20. 12 Aug, 2013 1 commit
  21. 01 Aug, 2013 1 commit
  22. 08 Aug, 2013 2 commits
  23. 01 Aug, 2013 1 commit
  24. 21 Jul, 2013 1 commit
  25. 15 Jul, 2013 1 commit
  26. 09 Jul, 2013 3 commits
    • Vladislav Vaintroub's avatar
      MDEV-4409 - Fix deadlock in MySQL key cache code, that can happen if there is... · 6bef652d
      Vladislav Vaintroub authored
      MDEV-4409 - Fix deadlock in MySQL key cache code, that can happen if there is a key cache resize running in parallel with an update.
      
      If there is a key cache resize,a  thread writing to key cache, will pause waiting  until resize finishes. However this thread is won't be woken, because resize does not  signaling waiters anymore. This is a regression introduced in WL#86(segmented MyISAM key cache)
      The fix is to unconditionally release  threads waiting on resize_queue when resize  finishes, as in pre-WL#86 code.
      6bef652d
    • Alexander Barkov's avatar
      Merge from 5.2 · 8a732d5a
      Alexander Barkov authored
      modified:
        mysql-test/suite/plugins/r/fulltext_plugin.result
        mysql-test/suite/plugins/t/fulltext_plugin.test
        plugin/fulltext/plugin_example.c
        sql/sql_show.cc
      pending merges:
        Alexander Barkov 2013-07-09 [merge] Merge from 5.1
          Sergei Golubchik 2013-07-06 Bug #69682 - mysqld crashes after uninst...
          Sergei Golubchik 2013-05-24 MDEV-4575 MySQL client doesn't strip off...
      8a732d5a
    • Alexander Barkov's avatar
      Merge from 5.1 · 762d3cb8
      Alexander Barkov authored
      modified:
        mysql-test/suite/plugins/r/fulltext_plugin.result
        mysql-test/suite/plugins/t/fulltext_plugin.test
        plugin/fulltext/plugin_example.c
        sql/sql_show.cc
      pending merges:
        Sergei Golubchik 2013-07-06 Bug #69682 - mysqld crashes after uninstall ...
          Sergei Golubchik 2013-05-24 MDEV-4575 MySQL client doesn't strip off...
      762d3cb8
  27. 06 Jul, 2013 1 commit