1. 27 Dec, 2010 1 commit
    • unknown's avatar
      Merge Percona patch row_based_replication_without_primary_key.patch into MariaDB. · bc27b745
      unknown authored
      This patch improves the selection of index to use to apply row-based
      DELETE and UPDATE events on tables with no primary key (original code
      picks the first index unconditionally).
      If ANALYZE TABLE is done, the index cardinalities will be compared and
      the best index will be used.
      
      Fixes some problems in the original patch:
      
       - Without ANALYZE TABLE, rec_per_key statistics is not available; in this
         case the original patch could choose a really bad index, even ignoring
         a primary key.
      
       - The original patch did not consider multi-column keys correctly, and
         could thus pick a less desirable single-column key over a good
         multi-column index.
      
      Also fixes Bug#58997, and adds test cases.
      bc27b745
  2. 20 Dec, 2010 1 commit
  3. 17 Dec, 2010 1 commit
  4. 13 Dec, 2010 3 commits
    • Michael Widenius's avatar
      merge with 5.1 · f6f8d832
      Michael Widenius authored
      (Includes patch for overrun detected by valgrind thanks to previous my_alloca() -> my_malloc() patch)
      f6f8d832
    • Michael Widenius's avatar
      Fixed typo that caused compile failure in thr_lock.c · 91bdcb20
      Michael Widenius authored
      mysys/thr_lock.c:
        Fixed typo that caused compile failure
      91bdcb20
    • Michael Widenius's avatar
      When compiling with valgrind, change my_alloca() to use my_malloc() · dd9d6756
      Michael Widenius authored
      - This allows us to detect missing my_afree() calls and also find overruns (when running with valgrind) to alloca() areas.
      - Added missing my_afree() calls
      - Fixed wrong call to my_afree()
      
      
      include/my_sys.h:
        When compiling with valgrind, change my_alloca() to use my_malloc()
      mysql-test/suite/innodb/t/innodb_bug57255.test:
        Speed up taste case (patch from Stewart Smith)
      mysql-test/suite/innodb_plugin/t/innodb_bug57255.test:
        Speed up taste case (patch from Stewart Smith)
      sql/ha_partition.cc:
        Removed casts from my_afree()
      sql/opt_range.cc:
        Add missing my_afree() calls.
      storage/maria/ma_rt_split.c:
        Fixed wrong parameter to my_afree()
      dd9d6756
  5. 10 Dec, 2010 3 commits
    • Michael Widenius's avatar
      Fix for Lbug:#686010 maria.optimize corrupts stack around alloca() call · 4bb42c4e
      Michael Widenius authored
      
      storage/maria/ma_check.c:
        Allocate also memory for nodflag and transid's
      storage/maria/ma_write.c:
        Allow nodflag and transid as part of key.
        (This has nothing to do with the bug report, but it's a safer check).
      storage/maria/maria_def.h:
        Define MARIA_MAX_POINTER_LENGTH (length of pointer to node)
        Added node pointer length to MARIA_INDEX_OVERHEAD_SIZE, as this is part of the key.
        (Safety fix)
      4bb42c4e
    • Michael Widenius's avatar
      Better warning message if lock test fails · b0312896
      Michael Widenius authored
      Made archive.test a bit more safe
      
      
      
      mysql-test/r/archive.result:
        Added removal of files to make rerun of failed test work
      mysql-test/t/archive.test:
        Added removal of files to make rerun of failed test work
      mysys/thr_lock.c:
        Better warning message if lock test fails
      b0312896
    • unknown's avatar
      Fix wrong merge of patch for Bug#46639. · a4ed89e3
      unknown authored
      a4ed89e3
  6. 08 Dec, 2010 1 commit
    • unknown's avatar
      MBug#687320: Fix sporadic test failures in innodb_mysql.test and... · 52920994
      unknown authored
      MBug#687320: Fix sporadic test failures in innodb_mysql.test and partition_innodb_semi_consistent.test
      
      Problem is that these tests run with --innodb-lock-wait-timeout=2 in .opt
      (and this is necessary as built-in innodb does not allow to change this
      dynamically). This cases another part of the test to occasionally time
      out an UPDATE, which subsequently caused the test case to timeout due to
      waiting for a condition (successful UPDATE) that never occurs.
      
      Fixed by re-trying the update in case of timeout.
      
      Tested by inserting a sleep() in the connection that the UPDATE is waiting
      for, and checking that the retry loops a couple of times until the other
      connection is done and COMMITs.
      52920994
  7. 07 Dec, 2010 1 commit
  8. 06 Dec, 2010 8 commits
    • Vladislav Vaintroub's avatar
      merge LP Bug#686184 · 2ce6bea9
      Vladislav Vaintroub authored
      2ce6bea9
    • Vladislav Vaintroub's avatar
      Fix myisam_crash_before_flush_keys on Windows · a1abfb58
      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.
      a1abfb58
    • Vladislav Vaintroub's avatar
      Fix LP Bug#686184 - merge_debug test fails. · cd72b793
      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.
      cd72b793
    • Vladislav Vaintroub's avatar
      merge · fdd009f1
      Vladislav Vaintroub authored
      fdd009f1
    • Vladislav Vaintroub's avatar
      merge · 1208fba6
      Vladislav Vaintroub authored
      1208fba6
    • Vladislav Vaintroub's avatar
      Bug#473914: mysql_client_test fail with in debug compilaton on windows x64 · 7a80fa96
      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.
      7a80fa96
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Merge with 5.1-release · 7720092b
      Michael Widenius authored
      7720092b
  9. 05 Dec, 2010 3 commits
    • Michael Widenius's avatar
      Removed compiler warning · 5c43e47b
      Michael Widenius authored
      5c43e47b
    • Michael Widenius's avatar
      merge with 5.1-release · 6ed1f88b
      Michael Widenius authored
      6ed1f88b
    • Michael Widenius's avatar
      Fixes to not trigger end-consistency testing of pagecache. · 420b6312
      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.
      420b6312
  10. 04 Dec, 2010 11 commits
  11. 03 Dec, 2010 1 commit
    • Michael Widenius's avatar
      Fixed compiler warnings. · 60f42a46
      Michael Widenius authored
      Fixed timing test failures.
      Fixed a failure in the Aria engines page cache and log handler (found with maria.maria-big test)
      - This could cause a core dump when deleting big blobs.
      - Added test to end_pagecache() to verify that page cache was correctly used.
        - inc_counter_for_resize_op and dec_counter_for_resize_op are called same number of times.
        - All page cache blocks was properly deallocated (empty)
      
      
      mysql-test/suite/innodb/t/innodb_bug38231.test:
        Fixed timing issue (code comment says it all)
      mysql-test/suite/innodb_plugin/t/innodb_bug38231.test:
        Fixed timing issue (code comment says it all)
      sql/debug_sync.cc:
        Fixed compiler warning
      storage/maria/ma_loghandler.c:
        Fixed bug found by maria.maria-big test:
        - Fixed race condition between update thread logging a very big blog and checkpoint thread.
      storage/maria/ma_pagecache.c:
        Added assert to ensure mutex was properly locked.
        Added test to end_pagecache() to verify that page cache was correctly used.
        - inc_counter_for_resize_op and dec_counter_for_resize_op are called same number of times.
        - All page cache blocks was properly deallocated (empty)
        In pagecache_delete_internal(), properly reset counters and pins if functions aborts.
        Added missing inc_counter_for_resize_op() to pagecache_wait_lock().
        Added missing dec_counter_for_resize_op() to pagecache_delete()
      60f42a46
  12. 02 Dec, 2010 4 commits
  13. 01 Dec, 2010 2 commits
    • Vladislav Vaintroub's avatar
      Adapt fix_vs_config_dir () for VS2010 · 0cb30e31
      Vladislav Vaintroub authored
       
      MTR_VS_CONFIG is now determined by looking at parent directory 
      of sql\*\mysqld.exe,  instead of looking at *\*\BuildLog.htm
      
      Reason : VS2010 does not create BuildLog.htm, hence prior method did not work.
      0cb30e31
    • Vladislav Vaintroub's avatar
      Make maria 5.1 compilable on Visual Studio 2010 and remove Windows warnings · 56784da3
      Vladislav Vaintroub authored
        -  Remove all mentioning of /MAP /MAPINFO link options (does not work in VS2010).
           Remove map files from packaging.
        -  Fix warning about ETIMEDOUT being redefined.
        -  Fix  warning about FSP_EXTENT_SIZE in xtradb  (32/64 bit right shift mismatch)
        -  Silence warnings coming from  generated  code (flex/bison) in xtradb/innodb_plugin.
        -  Be nice to people without cygwin (me) and add win/configure-mariadb.bat with options suitable for quick compilation, e.g no embedded
      56784da3