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 · 5c836140
      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.
      5c836140
    • Sergey Petrunya's avatar
      64e63fb8
    • Sergey Petrunya's avatar
      Subquery optimization backport: Duplicate Elimination: · 0857a5b8
      Sergey Petrunya authored
      process temporary table overflow correctly.
      0857a5b8
  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: · 1a490f2d
      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.
      1a490f2d
  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: · 3cc3938b
      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.
      3cc3938b
  11. 15 Dec, 2009 5 commits
    • Sergey Petrunya's avatar
      Add ds_mrr.cc to CMakeLists.txt · 663dadc8
      Sergey Petrunya authored
      663dadc8
    • Sergey Petrunya's avatar
      Fix compile failure · 7469484b
      Sergey Petrunya authored
      7469484b
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · 59b64720
      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.
      59b64720
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · 2a496c4d
      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
      2a496c4d
    • Sergey Petrunya's avatar
      Backport into MariaDB-5.2 the following: · 96e092dc
      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.
      96e092dc
  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. · 6cabc7ab
      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.
      6cabc7ab