1. 14 Mar, 2010 1 commit
    • Sergey Petrunya's avatar
      BUG#43768: Prepared query with nested subqueries core dumps on second execution · 77e66c69
      Sergey Petrunya authored
      Fix two problems:
      1. Let optimize_semijoin_nests() reset sj_nest->sjmat_info irrespectively  
         of value of optimizer_flag. We need this in case somebody has turned optimization
         off between reexecutions of the same statement.
      
      2. Do not pull out constant tables out of semi-join nests. The problem is that pullout 
         operation is not undoable, and if a table is constant because it is 1/0-row table it 
         may cease to be constant on the next execution. Note that tables that are constant
         because of possible eq_ref(const) access will still be pulled out as they are
         considered functionally-dependent.
      77e66c69
  2. 07 Mar, 2010 1 commit
    • Sergey Petrunya's avatar
      BUG#49129: Wrong result with IN-subquery with join_cache_level=6 and firstmatch=off · c2924e15
      Sergey Petrunya authored
      - The problem was that DuplicateWeedout strategy setup code wasn't aware of the 
        fact that join buffering will be used and applied optimization that doesn't work
        together with join buffering. Fixed by making DuplicateWeedout setup code to have 
        a pessimistic check about whether there is a chance that join buffering will be 
        used.
      - Make JOIN_CACHE_BKA::init() correctly process Copy_field elements that denote saving
        current rowids in the join buffer.
      
      mysql-test/r/subselect_sj2.result:
        Update test results
      mysql-test/r/subselect_sj2_jcl6.result:
        Update test results
      mysql-test/r/subselect_sj_jcl6.result:
        Testcase
      mysql-test/t/subselect_sj2.test:
        Update test results
      mysql-test/t/subselect_sj_jcl6.test:
        Testcase
      sql/opt_subselect.cc:
        - The problem was that DuplicateWeedout strategy setup code wasn't aware of the 
          fact that join buffering will be used and applied optimization that doesn't work
          together with join buffering. Fixed by making DuplicateWeedout setup code to have 
          a pessimistic check about whether there is a chance that join buffering will be 
          used.
      sql/sql_join_cache.cc:
        Make JOIN_CACHE_BKA::init() correctly process Copy_field elements that denote saving current rowids in the join buffer.
      sql/sql_select.cc:
        Added a question note
      c2924e15
  3. 06 Mar, 2010 1 commit
    • Igor Babaev's avatar
      Fixed bug #51092. · 1c7ba7ba
      Igor Babaev authored
      The function JOIN_CACHE::read_all_record_fields could return 0
      for an incremental join cache in two cases:
      1. there were no more records in the associated join buffer
      2. there was no table fields stored in the join buffer.
      As a result the function JOIN_CACHE::get_record() could
      return prematurely and did not read all needed fields from
      join buffers into the record buffer.
      
      Now the function JOIN_CACHE::read_all_record_fields returns
      -1 if there are no more records in the associated join buffer.
      1c7ba7ba
  4. 05 Mar, 2010 1 commit
  5. 25 Feb, 2010 1 commit
  6. 24 Feb, 2010 1 commit
    • Sergey Petrunya's avatar
      Bug#49198 Wrong result for second call of of procedure with view in subselect. · 0e7c8415
      Sergey Petrunya authored
      Re-worked fix of Tor Didriksen:
       The problem was that fix_after_pullout() after semijoin conversion 
       wasn't propagated from the view to the underlying table. 
       On subesequent executions of the prepared statement, 
       we would mark the underlying table as 'dependent' and the predicate 
       anlysis would lead to a different (and illegal) execution plan.
      0e7c8415
  7. 23 Feb, 2010 1 commit
  8. 21 Feb, 2010 4 commits
  9. 20 Feb, 2010 1 commit
  10. 17 Feb, 2010 4 commits
  11. 15 Feb, 2010 1 commit
  12. 12 Feb, 2010 1 commit
  13. 11 Feb, 2010 7 commits
  14. 28 Jan, 2010 1 commit
  15. 18 Jan, 2010 1 commit
  16. 17 Jan, 2010 4 commits
  17. 01 Jan, 2010 1 commit
  18. 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
  19. 22 Dec, 2009 5 commits
  20. 21 Dec, 2009 2 commits