1. 27 Dec, 2011 1 commit
  2. 26 Dec, 2011 1 commit
  3. 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
  4. 20 Dec, 2011 2 commits
  5. 19 Dec, 2011 7 commits
  6. 18 Dec, 2011 1 commit
  7. 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
  8. 15 Dec, 2011 9 commits
  9. 14 Dec, 2011 5 commits
  10. 13 Dec, 2011 9 commits
    • Igor Babaev's avatar
      Merge · 7229af30
      Igor Babaev authored
      7229af30
    • Igor Babaev's avatar
      Fixed LP bug #902356. · d274e32c
      Igor Babaev authored
      A memory overwrite in the function test_if_skip_sort_order()
      could cause a crash for some queries with subqueries.
      d274e32c
    • Sergey Petrunya's avatar
      BUG#902632: Crash or invalid read at st_join_table::cleanup, st_table::disable_keyread · 190aa085
      Sergey Petrunya authored
      - Do a "more thorough" cleanup of SJ-Materialization join tab in JOIN_TAB::cleanup. The bug
        was due to the fact that JOIN_TAB::cleanup() may be called multiple times for the same tab
        if the join has grouping.
      190aa085
    • unknown's avatar
    • Michael Widenius's avatar
      Merge with 5.1 · 1a985a17
      Michael Widenius authored
      Updated version number in configure
      1a985a17
    • Michael Widenius's avatar
      Fixed failure with query_cache.test for embedded server · 43c8a6ac
      Michael Widenius authored
      sql/set_var.cc:
        Moved query_cache_strip_comments from EMBEDDED_LIBRARY to HAVE_QUERY_CACHE
      43c8a6ac
    • Michael Widenius's avatar
      Fixed bug: lp:887051 ; Error in recovery with LOAD DATA + DELETE · 33c26f78
      Michael Widenius authored
      mysql-test/suite/maria/r/maria-recovery3.result:
        Added test case for recovery bug
      mysql-test/suite/maria/t/maria-recovery3.test:
        Added test case for recovery bug
      storage/maria/ha_maria.cc:
        Don't print query twice to log
      storage/maria/ma_delete.c:
        More DBUG_PRINT
      storage/maria/ma_key_recover.c:
        Added new asserts to detect errors earlier
      storage/maria/ma_recovery.c:
        Update all states when moving a non-transactional file to transactional. This fixes lp:887051
      33c26f78
    • Michael Widenius's avatar
      Automatic merge · 76d852d4
      Michael Widenius authored
      76d852d4
    • Michael Widenius's avatar
      Fixed valgrind error when storing db_name_length in query_cache. · b653115c
      Michael Widenius authored
      - Changed storage to be 2 bytes instead of sizeof(size_t) (simple optimization)
      - Fixed bug when using query_cache_strip_comments and query that started with '('
      - Fixed DBUG_PRINT() that used wrong (not initialized) variables.
      
      
      mysql-test/mysql-test-run.pl:
        Added some space to make output more readable.
      mysql-test/r/query_cache.result:
        Updated test results
      mysql-test/t/query_cache.test:
        Added test with query_cache_strip_comments
      sql/mysql_priv.h:
        Added QUERY_CACHE_DB_LENGTH_SIZE
      sql/sql_cache.cc:
        Fixed bug when using query_cache_strip_comments and query that started with '('
        Store db length in 2 characters instead of size_t.
        Get db length from correct position (earlier we had an error when query started with ' ')
        Fixed DBUG_PRINT() that used wrong (not initialized) variables.
      b653115c
  11. 12 Dec, 2011 1 commit