1. 23 Jan, 2012 1 commit
  2. 19 Jan, 2012 3 commits
    • Sergey Petrunya's avatar
      BUG#912513: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on · 6a62f42a
      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.
      6a62f42a
    • Sergey Petrunya's avatar
      BUG#912538: Wrong result (missing rows) with semijoin=on, firstmatch=on, ... · b35d8a72
      Sergey Petrunya authored
      - setup_semijoin_dups_elimination() would incorrectly set join_tab->do_firstmatch 
        when the join order had outer tables interleaved with inner.
      b35d8a72
    • Vladislav Vaintroub's avatar
      Fix compiler warning on Windows. · 5a76dfea
      Vladislav Vaintroub authored
      5a76dfea
  3. 18 Jan, 2012 6 commits
  4. 17 Jan, 2012 1 commit
  5. 13 Jan, 2012 1 commit
  6. 11 Jan, 2012 1 commit
  7. 10 Jan, 2012 2 commits
  8. 09 Jan, 2012 1 commit
  9. 08 Jan, 2012 2 commits
  10. 03 Jan, 2012 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #910083. · f36e23f2
      Igor Babaev authored
      The patch for bug 685411 erroneously removed a call of engine->set_thd()
      from Item_subselect::fix_fields().
      f36e23f2
  11. 30 Dec, 2011 3 commits
  12. 29 Dec, 2011 1 commit
  13. 28 Dec, 2011 1 commit
  14. 27 Dec, 2011 1 commit
  15. 26 Dec, 2011 1 commit
  16. 24 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Back-ported the patch of the mysql-5.6 code line that · 1333c9b2
      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.
      1333c9b2
  17. 20 Dec, 2011 2 commits
  18. 19 Dec, 2011 7 commits
  19. 18 Dec, 2011 1 commit
  20. 16 Dec, 2011 3 commits
    • Igor Babaev's avatar
      Adjusted test cases of the suite funcs_1. · e846b1a6
      Igor Babaev authored
      e846b1a6
    • Sergey Petrunya's avatar
      Update test results for previous push · b6fabd0f
      Sergey Petrunya authored
      b6fabd0f
    • Alexey Botchkov's avatar
      GIS issues fixed. · 1c9f5ec4
      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.
      1c9f5ec4