1. 19 Jan, 2012 3 commits
    • Sergey Petrunya's avatar
      BUG#912513: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on · 9f60aa27
      Sergey Petrunya authored
      - equality substitution code was geared towards processing WHERE/ON clauses.
        that is, it assumed that it was doing substitions on the code that 
         = wasn't attached to any particular join_tab yet
         = was going to be fed to make_join_select() which would take the condition
           apart and attach various parts of it to tables inside/outside semi-joins.
      - However, somebody added equality substition for ref access. That is, if 
        we have a ref access on TBL.key=expr, they would do equality substition in
        'expr'. This possibility wasn't accounted for.
      - Fixed equality substition code by adding a mode that does equality 
        substition under assumption that the processed expression will be 
        attached to a certain particular table TBL.
      9f60aa27
    • Sergey Petrunya's avatar
      BUG#912538: Wrong result (missing rows) with semijoin=on, firstmatch=on, ... · 8bedf1ea
      Sergey Petrunya authored
      - setup_semijoin_dups_elimination() would incorrectly set join_tab->do_firstmatch 
        when the join order had outer tables interleaved with inner.
      8bedf1ea
    • Vladislav Vaintroub's avatar
      Fix compiler warning on Windows. · 0e975ded
      Vladislav Vaintroub authored
      0e975ded
  2. 18 Jan, 2012 6 commits
  3. 17 Jan, 2012 1 commit
  4. 13 Jan, 2012 1 commit
  5. 11 Jan, 2012 1 commit
  6. 10 Jan, 2012 2 commits
  7. 09 Jan, 2012 1 commit
  8. 08 Jan, 2012 2 commits
  9. 03 Jan, 2012 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #910083. · cd55894a
      Igor Babaev authored
      The patch for bug 685411 erroneously removed a call of engine->set_thd()
      from Item_subselect::fix_fields().
      cd55894a
  10. 30 Dec, 2011 3 commits
  11. 29 Dec, 2011 1 commit
  12. 28 Dec, 2011 1 commit
  13. 27 Dec, 2011 1 commit
  14. 26 Dec, 2011 1 commit
  15. 24 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Back-ported the patch of the mysql-5.6 code line that · 2b1f0b87
      Igor Babaev authored
      fixed several defects in the greedy optimization:
      
      1) The greedy optimizer calculated the 'compare-cost' (CPU-cost)
         for iterating over the partial plan result at each level in
         the query plan as 'record_count / (double) TIME_FOR_COMPARE'
      
         This cost was only used locally for 'best' calculation at each
         level, and *not* accumulated into the total cost for the query plan.
      
         This fix added the 'CPU-cost' of processing 'current_record_count'
         records at each level to 'current_read_time' *before* it is used as
         'accumulated cost' argument to recursive 
         best_extension_by_limited_search() calls. This ensured that the
         cost of a huge join-fanout early in the QEP was correctly
         reflected in the cost of the final QEP.
      
         To get identical cost for a 'best' optimized query and a
         straight_join with the same join order, the same change was also
         applied to optimize_straight_join() and get_partial_join_cost()
      
      2) Furthermore to get equal cost for 'best' optimized query and a
         straight_join the new code substrcated the same '0.001' in
         optimize_straight_join() as it had been already done in
         best_extension_by_limited_search()
      
      3) When best_extension_by_limited_search() aggregated the 'best' plan a
         plan was 'best' by the check :
      
         'if ((search_depth == 1) || (current_read_time < join->best_read))'
      
         The term '(search_depth == 1' incorrectly caused a new best plan to be
         collected whenever the specified 'search_depth' was reached - even if
         this partial query plan was more expensive than what we had already
         found.
      2b1f0b87
  16. 20 Dec, 2011 2 commits
  17. 19 Dec, 2011 7 commits
  18. 18 Dec, 2011 1 commit
  19. 16 Dec, 2011 3 commits
    • Igor Babaev's avatar
      Adjusted test cases of the suite funcs_1. · 68dad677
      Igor Babaev authored
      68dad677
    • Sergey Petrunya's avatar
      Update test results for previous push · a4073c19
      Sergey Petrunya authored
      a4073c19
    • Alexey Botchkov's avatar
      GIS issues fixed. · 56125a3b
      Alexey Botchkov authored
      Failures on SUN Solaris. Buggy compiler there required some extra initialization
      for variables. Then the 02 optimization leads to bugs when values set through the
      pointer are not always taken into account. Finally, the (long long) / (long)
      crashes there, the explicit typeconverstion added.
      Failing innodb_plunin.innodb_gis.test fixed.
      
      per-file comments:
        mysql-test/suite/innodb_plugin/t/innodb_gis.test
      GIS issues fixed.
        sql/gcalc_slicescan.cc
      GIS issues fixed.
        sql/gcalc_tools.cc
      GIS issues fixed.
      56125a3b
  20. 15 Dec, 2011 1 commit