1. 13 Dec, 2011 4 commits
    • 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
    • unknown's avatar
    • 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
  2. 12 Dec, 2011 3 commits
    • Sergei Golubchik's avatar
      5.2->5.3 merge · 745c53ec
      Sergei Golubchik authored
      745c53ec
    • unknown's avatar
      Fixed bug lp:900375 · 6404504d
      unknown authored
      The range optimizer incorrectly chose a loose scan for group by
      when there is a correlated WHERE condition. This range access
      method cannot be executed for correlated conditions also with the
      "range checked for each record" because generally the range access
      method can change for each outer record. Loose scan destructively
      changes the query plan and removes the GROUP operation, which will
      result in wrong query plans if another range access is chosen
      dynamically.
      6404504d
    • Igor Babaev's avatar
      Fixed LP bug #901709. · 63d32c11
      Igor Babaev authored
      The cause of the reported assertion failure was a division of a double value by 0. 
      63d32c11
  3. 11 Dec, 2011 6 commits
  4. 09 Dec, 2011 1 commit
    • Igor Babaev's avatar
      Fixed LP bug #901312. · 8a09adb3
      Igor Babaev authored
      The function setup_sj_materialization_part1() forgot to set the value
      of TABLE::map for any materialized IN subquery. 
      This could lead to wrong results for queries with subqueries that were
      converted to queries with semijoins.
      8a09adb3
  5. 08 Dec, 2011 3 commits
    • Alexey Botchkov's avatar
      bug #901655 ST_BUFFER asserts with a coplicated shape. · fc9d34ca
      Alexey Botchkov authored
              Coinciding nodes can appear as a result of DOUBLE inaccuracy.
              We should test that before we start the loop.
      
              Also the spatial relations can be calculated faster if we check
              MBR relations first. And we do have the shape's MBR-s now.
      
      per-file comments:
        sql/gcalc_slicescan.cc
              set_extent() method added.
      bug #901655 ST_BUFFER asserts with a coplicated shape.
        sql/gcalc_slicescan.h
              set_extent() method declared.
      bug #901655 ST_BUFFER asserts with a coplicated shape.
        sql/gcalc_tools.cc
      bug #901655 ST_BUFFER asserts with a coplicated shape.
              checks for equal nodes added.
        sql/item_geofunc.cc
      bug #901655 ST_BUFFER asserts with a coplicated shape.
              MBR for the shapes calculated, and MBR checks added before we
              start the heavy calculations.
        sql/spatial.h
      bug #901655 ST_BUFFER asserts with a coplicated shape.
              MBR::buffer() method implemented.
      fc9d34ca
    • unknown's avatar
      Fixed bug lp:888456 · 314c3774
      unknown authored
      Analysis:
      The class member QUICK_GROUP_MIN_MAX_SELECT::seen_first_key
      was not reset between subquery re-executions. Thus each
      subsequent execution continued from the group that was
      reached by the previous subquery execution. As a result
      loose scan reached end of file much earlier, and returned
      empty result where it shouldn't.
      
      Solution:
      Reset seen_first_key before each re-execution of the
      loose scan.
      314c3774
    • Sergey Petrunya's avatar
      Small semi-join optimization improvement: · ae480437
      Sergey Petrunya authored
      - if we're considering FirstMatch access with one inner table, and 
        @@optimizer_switch has semijoin_with_cache flag, calculate costs
        as if we used join cache (because we will be able to do so)
      ae480437
  6. 07 Dec, 2011 4 commits
  7. 06 Dec, 2011 5 commits
  8. 05 Dec, 2011 3 commits
    • Sergey Petrunya's avatar
      Bug #899962: materialized subquery with join_cache_level=3 · 136408b1
      Sergey Petrunya authored
      - Make create_tmp_table() set KEY_PART_INFO attributes for the keys it creates.
        This wasn't needed before but is needed now, when temp. tables that are 
        results of SJ-Materialization are being used for joins.
        This particular bug depended on HA_VAR_LENGTH_PART being set,
        but also added code to set HA_BLOB_PART and HA_NULL_PART when appropriate.
      136408b1
    • Igor Babaev's avatar
      Fixed LP bug #899777. · 7d1f4126
      Igor Babaev authored
      KEYUSE elements for a possible hash join key are not sorted by field
      numbers of the second table T of the hash join operation. Besides
      some of these KEYUSE elements cannot be used to build any key as their
      key expressions depend on the tables that are planned to be accessed
      after the table T. 
      The code before the patch did not take this into account and, as a result,
      execition of a query the employing block-based hash join algorithm could
      cause a crash or return a wrong result set. 
      7d1f4126
    • Sergey Petrunya's avatar
      a85454de
  9. 04 Dec, 2011 2 commits
    • Sergey Petrunya's avatar
      Make subquery Materialization, as well as semi-join Materialization be shown · 255fd6c9
      Sergey Petrunya authored
      in EXPLAIN as select_type==MATERIALIZED. 
      
      Before, we had select_type==SUBQUERY and it was difficult to tell materialized
      subqueries from uncorrelated scalar-context subqueries.
      255fd6c9
    • Igor Babaev's avatar
      Fixed LP bug #899696. · b5a05df6
      Igor Babaev authored
      If has been decided that the first match strategy is to be used to join table T
      from a semi-join nest while no buffer can be employed to join this table
      then no join buffer can be used to join any table in the join sequence between
      the first one belonging to the semi-join nest and table T.
      
       
      b5a05df6
  10. 03 Dec, 2011 5 commits
    • Sergei Golubchik's avatar
      updated the version in configure · 1f3e5403
      Sergei Golubchik authored
      1f3e5403
    • Michael Widenius's avatar
      Added handler and temporary table usage to mytop · 3e2cb35e
      Michael Widenius authored
      Fixed prompt on reconnect in mysql client
      
      client/mysql.cc:
        Free server_version for reconnect.
        This ensures that prompt is correct if reconnecting to a different server.
      scripts/mytop.sh:
        Added handler and temporary table usage
      3e2cb35e
    • Michael Widenius's avatar
      Merge with 5.1 · 701c0f82
      Michael Widenius authored
      701c0f82
    • Michael Widenius's avatar
      Fixed buildbot warnings · ef841d4c
      Michael Widenius authored
      mysql-test/suite/maria/t/compat_aliases-master.opt:
        Fixed wrong limit
      storage/example/ha_example.cc:
        Fixed compiler warning
      ef841d4c
    • Michael Widenius's avatar
      Added suppressions · 2e34f182
      Michael Widenius authored
      Fixed feedback_plugin_send to not generate a random number of lines.
      
      
      mysql-test/t/feedback_plugin_send.test:
        Don't print more than 4 lines (sometimes there are 6 feedback lines in the log...)
      mysql-test/valgrind.supp:
        Added suppression for failure on work
      support-files/compiler_warnings.supp:
        Suppress warning from xtradb
      2e34f182
  11. 02 Dec, 2011 4 commits