1. 11 Feb, 2010 3 commits
    • Sergey Petrunya's avatar
      Apply Jorgen Loland's fix: Bug#45221: Query "SELECT pk FROM C WHERE pk IN (SELECT int_key)" failing · a18a2ec4
      Sergey Petrunya authored
      XOR conditions are not optimized, and Item_cond_xor therefore
      acts like type Func_item even though it inherits from Item_cond.
      A subtle difference between Item_func and Item_cond is that
      you can get the children Items from the former by calling
      arguments(), and from the latter by calling argument_list().
      However, since Item_cond_xor inherits from Item_cond,
      arguments() did not return any Items.
      
      The fact that Item_cond_xor::arguments() did not return it's
      children items lead to a problem for make_cond_for_index();
      the method accepted that XOR items on unindexed columns were
      pushed using ICP. ICP evaluation of non-indexed columns
      does not (and should not) work.
      
      The fix for this bug is to make Item_cond_xor return it's
      children items when the arguments() method is used. This makes
      Item_cond_xor behave more like Item_func and in turn allows
      make_cond_for_index() to discover any conflicting children
      Items.
      
      This is a temporary fix and should be removed when Item_cond_xor
       is optimized.
      a18a2ec4
    • Sergey Petrunya's avatar
      d523e495
    • Sergey Petrunya's avatar
      Subquery optimization backport: Duplicate Elimination: · 7f4cf452
      Sergey Petrunya authored
      process temporary table overflow correctly.
      7f4cf452
  2. 28 Jan, 2010 1 commit
  3. 18 Jan, 2010 1 commit
  4. 17 Jan, 2010 4 commits
  5. 01 Jan, 2010 1 commit
  6. 27 Dec, 2009 1 commit
    • Sergey Petrunya's avatar
      DS-MRR backport: fix buildbot valgrind failures: · 171cc47b
      Sergey Petrunya authored
      - Do call update_used_tables() for new conditions obtained when adding
        outer join's triggered conditions. Correct values of used_tables() are
        now needed for condition pushdown.
      - Update test results
      
      mysql-test/suite/pbxt/r/join_outer.result:
        DS-MRR backport:
        - Update test results
      sql/sql_select.cc:
        DS-MRR backport: fix buildbot valgrind failures:
        - Do call update_used_tables() for new conditions obtained when adding
          outer join's triggered conditions. Correct values of used_tables() are
          now needed for condition pushdown.
      171cc47b
  7. 22 Dec, 2009 5 commits
  8. 21 Dec, 2009 2 commits
  9. 19 Dec, 2009 1 commit
  10. 16 Dec, 2009 1 commit
    • Sergey Petrunya's avatar
      DS-MRR backport: · fcd27d52
      Sergey Petrunya authored
      - Fix PBXT test results (PBXT doesn't support MRR or ICP, but we get result 
        diffs because we've also backported a fix that
        - prints out "Using where" when the table has part of WHERE that it has 
          got from LEFT JOIN's ON expression
        - Does a better job at removing equalities that are guaranteed to be true 
          by use of ref acccess.
      fcd27d52
  11. 15 Dec, 2009 5 commits
    • Sergey Petrunya's avatar
      Add ds_mrr.cc to CMakeLists.txt · 43363ab0
      Sergey Petrunya authored
      43363ab0
    • Sergey Petrunya's avatar
      Fix compile failure · 449f98cc
      Sergey Petrunya authored
      449f98cc
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · d5e46ce3
      Sergey Petrunya authored
      WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface"
      WL#2475 "Batched range read functions for MyISAM/InnoDb"
              "Index condition pushdown for MyISAM/InnoDB"
      - Adjust test results (checked)
      - Code cleanup.
      d5e46ce3
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · d06aba58
      Sergey Petrunya authored
      WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface"
      WL#2475 "Batched range read functions for MyISAM/InnoDb"
              "Index condition pushdown for MyISAM/InnoDB"
      - Fix valgrind failures
      d06aba58
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · 3bb037aa
      Sergey Petrunya authored
      WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface"
      WL#2475 "Batched range read functions for MyISAM/InnoDb"
              "Index condition pushdown for MyISAM/InnoDB"
      Igor's fix from sp1r-igor@olga.mysql.com-20080330055902-07614:
        There could be observed the following problems:
        1. EXPLAIN did not mention pushdown conditions from on expressions in the 
        'extra' column.  As a result if a query had no where conditions pushed 
        down to a table, but had on conditions pushed to this table the 'extra' 
        column in the EXPLAIN for the table missed 'using where'.
        2. Conditions for ref access were not eliminated from on expressions 
        though such conditions were eliminated from the where condition.
      3bb037aa
  12. 12 Nov, 2009 1 commit
  13. 10 Nov, 2009 1 commit
  14. 07 Nov, 2009 1 commit
  15. 06 Nov, 2009 2 commits
  16. 05 Nov, 2009 1 commit
  17. 04 Nov, 2009 1 commit
  18. 03 Nov, 2009 2 commits
  19. 02 Nov, 2009 2 commits
  20. 01 Nov, 2009 3 commits
  21. 31 Oct, 2009 1 commit
    • unknown's avatar
      Compilation under windows x64 made possible. · 018b451e
      unknown authored
      sql/mysqld.cc:
        Explicit type casting required by windows x64 compiler.
      storage/xtradb/include/srv0srv.h:
        Parameters should be declared as ulong.
      storage/xtradb/srv/srv0srv.c:
        Parameters should be declared as ulong.
      018b451e