1. 13 Jan, 2011 1 commit
    • Sergey Petrunya's avatar
      Backport of (see below) + temporary measures to make SJ-Materialization work with join buffering. · d2cbb104
      Sergey Petrunya authored
      Date: Mon, 01 Nov 2010 15:15:25 -0000
      3272 Roy Lyseng        2010-11-01
      Bug#52068: Optimizer generates invalid semijoin materialization plan
      
      When MaterializeScan semijoin strategy was used and there were one
      or more outer dependent tables before the semijoin tables, the scan
      over the materialized table was not properly reset for each row of
      the prefix outer tables.
      
      Example: suppose we have a join order:
      
        ot1 SJ-Mat-Scan(it2 it3)  ot4
      
      Notice that this is called a MaterializeScan, even though there is an
      outer table ahead of the materialized tables. Usually a MaterializeScan
      has the outer tables after the materialized table, but this is
      a special (but legal) case with outer dependent tables both before and
      after the materialized table.
      
      For each qualifying row from ot1, a new scan over the materialized
      table must be set up. The code failed to do that, so all scans after
      the first one returned zero rows from the materialized table.
      d2cbb104
  2. 25 Dec, 2010 1 commit
  3. 21 Dec, 2010 2 commits
  4. 20 Dec, 2010 1 commit
  5. 19 Dec, 2010 1 commit
  6. 17 Dec, 2010 2 commits
  7. 16 Dec, 2010 3 commits
  8. 15 Dec, 2010 1 commit
  9. 14 Dec, 2010 1 commit
    • unknown's avatar
      Fix LP BUG#685411 · 4f28dcbe
      unknown authored
      Analysis:
      The assert failed because st_select_lex::print() was called for subqueries
      as follows:
      
      Item_subselect::print() ->
        subselect_single_select_engine::print() -> st_select_lex::print()
      
      It was Item_subselect::fix_fields() that set the thd by calling set_thd(),
      so when this print() was called before fix_fields(), subselect_engine::thd
      was NULL.
      
      Solution:
      The patch makes all constructors of all subselect_engine classes to take
      a THD parameter. The default subselect_single_select_engine engine is created
      early during parse time, in the Item_subselect::init call, so we pass the
      correct THD object already at this point.
      4f28dcbe
  10. 13 Dec, 2010 2 commits
  11. 11 Dec, 2010 2 commits
  12. 10 Dec, 2010 1 commit
  13. 08 Dec, 2010 2 commits
    • Sergey Petrunya's avatar
      BUG#671340: Diverging results in with mrr_sort_keys=ON|OFF and join_cache_level=5 · a86599e1
      Sergey Petrunya authored
      - Make Mrr_ordered_index_reader() save the rowid across scan interruptions
      
      Also
      - Fix compiler warning for setup_buffer_sizes()
      - Add commented key_copy/key_restore for better handling of a similar issue
        with index record being destroyed by scan interruption (which causes 
        incorrect evaluation of pushed index condition later on).
      a86599e1
    • Michael Widenius's avatar
      Fixed test results for windows builds · eb70e64c
      Michael Widenius authored
      Fixed compiler warning
      
      mysql-test/r/named_pipe.result:
        Fixed test results for windows builds
      mysql-test/r/shm.result:
        Fixed test results for windows builds
      sql/item_cmpfunc.cc:
        Fixed compiler warning about uninitialized "first"
      eb70e64c
  14. 06 Dec, 2010 12 commits
    • Vladislav Vaintroub's avatar
      merge LP Bug#686184 · 2de9a774
      Vladislav Vaintroub authored
      2de9a774
    • Vladislav Vaintroub's avatar
      merge LP Bug#686184 · 077d96c2
      Vladislav Vaintroub authored
      077d96c2
    • Vladislav Vaintroub's avatar
      Fix myisam_crash_before_flush_keys on Windows · 3fb8bc16
      Vladislav Vaintroub authored
      Problem : mtr reports test failure because it sees
      [ERROR] mysqld got exception 0x80000003 ;
      in the .err file
      
      The exception comes from DBUG_EXECUTE_IF (.. abort())
      
      Fix:  use DBUG_ABORT instead of abort() - it does not throw 
      any exceptions.
      3fb8bc16
    • Vladislav Vaintroub's avatar
      Fix LP Bug#686184 - merge_debug test fails. · 60722bca
      Vladislav Vaintroub authored
      The reason for failure is that DBUG_EXECUTE_IF in mi_open()
      only worked for Unix-formatted file names, due to strstr(name, "/crashed")
      
      The fix change strstr() above to strstr(name, "crashed"), to it can work with 
      Windows file names as well.
      60722bca
    • Sergey Petrunya's avatar
      c67b8954
    • Vladislav Vaintroub's avatar
      merge · 82113c39
      Vladislav Vaintroub authored
      82113c39
    • Vladislav Vaintroub's avatar
      merge · bfcc62c7
      Vladislav Vaintroub authored
      bfcc62c7
    • Vladislav Vaintroub's avatar
      merge · 6ad44811
      Vladislav Vaintroub authored
      6ad44811
    • Vladislav Vaintroub's avatar
      Bug#473914: mysql_client_test fail with in debug compilaton on windows x64 · 0eae06c4
      Vladislav Vaintroub authored
       
      Reason: inconsistent compilation, federatedx is compiled without SAFEMALLOC
      flag, while anything else is compiled with SAFEMALLOC.
      
      As a consequence, my_hash_init used inside federatedx initialization does not
      provide correct caller info parameters (file, line) , so they are initialized with 
      whatever is on stack. When info about allocated memory is output in
      COM_DEBUG command, the server crashes trying to output string starting at
      0xcccccccccccccccc.
      
      The fix is to remove SAFEMALLOC  preprocessor flags 
      from every CMakeLists.txt, except the top-level one.
      
      Also, SAFEMALLOC is not defined by default now, instead
      there is WITH_DEBUG_FULL CMake option which adds 
      -DSAFEMALLOC to C and C++ flags in debug compilation. 
      This option is off by  default, because 
      1) Debug C runtime already has heap debugging builtin with 
       overwrite and leak detection
      2)safemalloc considerably slows down the tests.
      
      
      Note also  that 
      - SAFEMALLOC is gone  in MySQL5.5
      - On Windows, heap related overflows can also be found using free pageheap utility
      (that is also part of application verifier). This is even more efficient if there are no other layers 
      on top of Windows heap allocator, e.g  it is most efficient with release version.
      0eae06c4
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Merge with 5.1-release · 42746a44
      Michael Widenius authored
      42746a44
    • Michael Widenius's avatar
      Merge with 5.1-release. · b7b25dc6
      Michael Widenius authored
      - Fixed problem with oqgraph and 'make dist'
      
      Note that after this merge we have a problem show in join_outer where we examine too many rows in one specific case (related to BUG#57024).
      This will be fixed when mwl#128 is merged into 5.3.
      b7b25dc6
  15. 05 Dec, 2010 3 commits
    • Michael Widenius's avatar
      Removed compiler warning · b3c72b9a
      Michael Widenius authored
      b3c72b9a
    • Michael Widenius's avatar
      merge with 5.1-release · 6061a11d
      Michael Widenius authored
      6061a11d
    • Michael Widenius's avatar
      Fixes to not trigger end-consistency testing of pagecache. · a585745d
      Michael Widenius authored
      - Moved end_pagecache() to after maria_close()
      - Flush page cache before closing files (in maria_pack)
      Fixed test suite failure for PBXT
      
      mysql-test/suite/pbxt/r/select.result:
        We mask out the 'rows' column because it may differ from run to run
      mysql-test/suite/pbxt/t/select.test:
        We mask out the 'rows' column because it may differ from run to run
      storage/maria/maria_chk.c:
        Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
      storage/maria/maria_pack.c:
        Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
        flush page cache before closing files.
      a585745d
  16. 04 Dec, 2010 5 commits