1. 04 Feb, 2011 3 commits
  2. 03 Feb, 2011 3 commits
  3. 02 Feb, 2011 1 commit
    • Michael Widenius's avatar
      Don't delete directory mysql-test/var if we use mysql-test-run --vardir= · 2f0d7240
      Michael Widenius authored
      Fixed error in Maria unittest
      Fixes other issues found by test case for lp:700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == .."
      Fixes lp:670356 "Aria table "is marked as crashed and should be repaired"
      
      
      
      mysql-test/lib/v1/mysql-test-run.pl:
        Don't delete directory mysql-test/var if we use mysql-test-run --vardir=
      mysql-test/mysql-test-run.pl:
        Don't delete directory mysql-test/var if we use mysql-test-run --vardir=
        (Needed to be able to run multiple concurrent mysql-test-run's/randgen on the same server)
        Added extra supression
      storage/maria/ma_pagecache.c:
        Removed duplicate DBUG_PRINT information
        Added KEYCACHE_PRINT for printing information that was already printed to DBUG log (to get rid of some duplicated output)
        More comments
        Fixed bug that caused page block to be used by two treads at the same time (with different page information)
        Mark block->status with PCBLOCK_DIRECT_W independent of the block is changed or not. (Safety fix)
      storage/maria/maria_chk.c:
        Better --help
      storage/maria/unittest/ma_test_recovery.pl:
        Ignore differences in 'recover time'.
        Fixed error in Maria unittest
      2f0d7240
  4. 30 Jan, 2011 4 commits
    • Michael Widenius's avatar
      Ignore some linked files · 90741c0d
      Michael Widenius authored
      90741c0d
    • Michael Widenius's avatar
      Merge with 5.1 · b2110317
      Michael Widenius authored
      Fixed a couple of compilation failures that was not detected before merge.
      b2110317
    • Michael Widenius's avatar
      Aria fixes: · 98584c4a
      Michael Widenius authored
      - Fixed a bug where we didn't signal a thread waiting for bitmap flush that it's now time to continue which caused a deadlock in Aria.
      - Fix for lp:700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == _ma_bitmap_get_page_bits(info, &info->s->bitmap, page)' failed"
      - Fixed a bug in pagecache where a block could change while it was in use.
      - In maria_chk set --update-state to on by default so that open_count is cleared if table was ok during check.
      
      storage/maria/ma_bitmap.c:
        Fixed a bug where we didn't signal a thread waiting for bitmap flush that it's now time to continue.
        This fix adds counters for the different conditions that may be waited upon and signals if there is a waiter when the condition changes.
      storage/maria/ma_blockrec.c:
        Check if directory if full when calculating what should be in the bitmap.
        Fixes lp:700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == _ma_bitmap_get_page_bits(info, &info->s->bitmap, page)' failed"
      storage/maria/ma_pagecache.c:
        Added more comments
        Removed some duplicated DBUG_PRINT and DBUG_ASSERT()
        find_block() now waits for block to be usable if we are not copying it directly. This fixes a bug where a block changed information while we where using it. Fixed by adding an extra parameter to find_block()
        Simplified code in make_lock_and_pin() as block can never be == 0 here.
      storage/maria/ma_recovery.c:
        Reset open_count for tables that are closed in middle of recovery.
      storage/maria/maria_chk.c:
        Set --update-state to on by default so that open_count is cleared if table was ok during check.
        Update time when table was recovered/checked if --update-state was used.
        Updated --help message with missing information.
      storage/maria/maria_def.h:
        Added wait counters
      98584c4a
    • Michael Widenius's avatar
      Flush DBUG log in case of DBUG_ASSERT() · 286e9e1d
      Michael Widenius authored
      Added strings_def.h into strings library to be able to have a DBUG_ASSERT() version without _db_flush() call (as strings.a should not depend on dbug.a)
      Remove include of m_string.h in all string files (as it's included by string_def.h).
      Fixed include order.
      Changed "m_ctype.h" -> <m_ctype.h>
      
       
      
      include/my_dbug.h:
        Flush DBUG log in case of DBUG_ASSERT()
      strings/bchange.c:
        Include strings_def.h
      strings/bcmp.c:
        Include strings_def.h
      strings/bfill.c:
        Include strings_def.h
      strings/bmove.c:
        Include strings_def.h
      strings/bmove512.c:
        Include strings_def.h
      strings/bmove_upp.c:
        Include strings_def.h
      strings/conf_to_src.c:
        Include strings_def.h
        Fixed copyright
      strings/ctype-big5.c:
        Include strings_def.h
      strings/ctype-bin.c:
        Include strings_def.h
      strings/ctype-cp932.c:
        Include strings_def.h
      strings/ctype-czech.c:
        Include strings_def.h
      strings/ctype-euc_kr.c:
        Include strings_def.h
      strings/ctype-eucjpms.c:
        Include strings_def.h
      strings/ctype-extra.c:
        Include strings_def.h
      strings/ctype-gbk.c:
        Include strings_def.h
      strings/ctype-latin1.c:
        Include strings_def.h
      strings/ctype-mb.c:
        Include strings_def.h
      strings/ctype-simple.c:
        Include strings_def.h
      strings/ctype-sjis.c:
        Include strings_def.h
      strings/ctype-tis620.c:
        Include strings_def.h
      strings/ctype-uca.c:
        Include strings_def.h
      strings/ctype-ucs2.c:
        Include strings_def.h
      strings/ctype-ujis.c:
        Include strings_def.h
      strings/ctype-utf8.c:
        Include strings_def.h
      strings/ctype-win1250ch.c:
        Include strings_def.h
      strings/ctype.c:
        Include strings_def.h
      strings/decimal.c:
        Include strings_def.h
      strings/do_ctype.c:
        Include strings_def.h
      strings/int2str.c:
        Include strings_def.h
      strings/is_prefix.c:
        Include strings_def.h
      strings/llstr.c:
        Include strings_def.h
      strings/longlong2str.c:
        Include strings_def.h
      strings/longlong2str_asm.c:
        Include strings_def.h
      strings/my_strchr.c:
        Include strings_def.h
      strings/my_strtoll10.c:
        Include strings_def.h
      strings/my_vsnprintf.c:
        Include strings_def.h
      strings/r_strinstr.c:
        Include strings_def.h
      strings/str2int.c:
        Include strings_def.h
      strings/str_alloc.c:
        Include strings_def.h
      strings/str_test.c:
        Include strings_def.h
        Fixed compiler warnings
      strings/strappend.c:
        Include strings_def.h
      strings/strcend.c:
        Include strings_def.h
      strings/strcont.c:
        Include strings_def.h
      strings/strend.c:
        Include strings_def.h
      strings/strfill.c:
        Include strings_def.h
      strings/strinstr.c:
        Include strings_def.h
      strings/strmake.c:
        Include strings_def.h
      strings/strmov.c:
        Include strings_def.h
      strings/strmov_overlapp.c:
        Include strings_def.h
      strings/strnlen.c:
        Include strings_def.h
      strings/strnmov.c:
        Include strings_def.h
      strings/strstr.c:
        Include strings_def.h
      strings/strto.c:
        Include strings_def.h
      strings/strtod.c:
        Include strings_def.h
      strings/strtol.c:
        Include strings_def.h
      strings/strtoll.c:
        Include strings_def.h
      strings/strtoul.c:
        Include strings_def.h
      strings/strtoull.c:
        Include strings_def.h
      strings/strxmov.c:
        Include strings_def.h
      strings/strxnmov.c:
        Include strings_def.h
      strings/uctypedump.c:
        Include strings_def.h
        Fixed compiler warnings
        Removed double include of m_ctype.h
      strings/udiv.c:
        Include strings_def.h
      strings/xml.c:
        Include strings_def.h
      286e9e1d
  5. 26 Jan, 2011 5 commits
    • Michael Widenius's avatar
      Better fix for mysql_test.cc::do_remove_files_wildcard · 2a7b4224
      Michael Widenius authored
      client/mysqltest.cc:
        Better fix for do_remove_files_wildcard
      2a7b4224
    • Sergei Golubchik's avatar
      fixes for solaris 10 · d8974198
      Sergei Golubchik authored
      configure.in:
        * don't use assembler when building with native linker and --with-embedded.
          Embedded uses PIC and our assembler sources aren't PIC
        * workaround for OpenSolaris Bug 6611808
      extra/libevent/devpoll.c:
        compiler warning
      extra/yassl/src/buffer.cpp:
        include config.h first to make sure that _FILE_OFFSET_BITS is defined
        before including system headers
      extra/yassl/taocrypt/benchmark/benchmark.cpp:
        include config.h first to make sure that _FILE_OFFSET_BITS is defined
        before including system headers
      extra/yassl/taocrypt/test/test.cpp:
        include config.h first to make sure that _FILE_OFFSET_BITS is defined
        before including system headers
      include/my_pthread.h:
        workaround for OpenSolaris Bug 6611808
      d8974198
    • Michael Widenius's avatar
      Use _ma_set_fatal_error() in Aria also for HA_ERR_WRONG_IN_RECORD, to be able... · b152b147
      Michael Widenius authored
      Use _ma_set_fatal_error() in Aria also for HA_ERR_WRONG_IN_RECORD, to be able to get an assert as soon as a failure is detected.
      Fixed stack overrun failure when calling maria_chk_data_link().
      
      storage/maria/ma_blockrec.c:
        Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD
      storage/maria/ma_cache.c:
        Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD.
        Added argument to _ma_read_cache() to be able to call _ma_set_fatal_error()
      storage/maria/ma_check.c:
        Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD.
        Don't allocate data to print bitmap on stack.
        (This fixed stack overrun failure when calling maria_chk_data_link() when gcc had inlined a function)
        Added new parameter to _ma_read_cache() and _ma_get_block_info()
      storage/maria/ma_dynrec.c:
        Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD.
        Added argument to _ma_get_block_info() to be able to call _ma_set_fatal_error()
      storage/maria/ma_locking.c:
        Added DBUG_PRINT
      storage/maria/ma_packrec.c:
        Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD
      storage/maria/ma_statrec.c:
        Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD
      storage/maria/maria_def.h:
        Updated prototypes.
      b152b147
    • Michael Widenius's avatar
      Fixed bugs found by buildbot: · c49762ce
      Michael Widenius authored
      - Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
      - Fixed compiler warnings
      - Added a name for each thr_lock to get better error messages (This is needed to find out why 'archive.test' sometimes fails)
      
      
      BUILD/SETUP.sh:
        Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
      BUILD/build_mccge.sh:
        Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
      client/mysqltest.cc:
        Fixed bug in remove_files_wildcards (the orignal code never removed anything)
      extra/libevent/devpoll.c:
        Fixed compiler warning
      include/thr_lock.h:
        Added a name for each thr_lock to get better error messages.
      mysql-test/suite/maria/t/maria3.test:
        Speed up test.
      mysys/thr_lock.c:
        Added a name for each thr_lock to get better error messages.
        Added a second 'check_locks' to find if something goes wrong in 'wake_up_waiters'.
      sql/lock.cc:
        Added a name for each thr_lock to get better error messages.
      storage/xtradb/fil/fil0fil.c:
        Fixed compiler warning
      c49762ce
    • Sergei Golubchik's avatar
      fix "./configure --with-debug" builds · 58b4818a
      Sergei Golubchik authored
      (without CFLAGS=-DSAFEMALLOC).
      58b4818a
  6. 24 Jan, 2011 1 commit
    • Michael Widenius's avatar
      Aria issues: · f1d804d7
      Michael Widenius authored
      - Fix for LP#700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == _ma_bitmap_get_page_bits(info, &info->s->bitmap, page)' failed"
        - Issue was that when deleting a tail page where all index entries where full, the page was marked wrongly in the bitmap.
      - If debug_assert_if_crashed_table is set, we now crash when we find Aria corrupted.
      - Write more information if we find something wrong with the bitmap.
      - Fixed that REPAIR also can fix wrong create_rename_lsn issues (a very unlikely event)
      - Define STATE_CRASHED_FLAGS as set of all CRASHED flags (to simplify code)
      
      
      storage/maria/ha_maria.cc:
        Mark the normal page cache (not the page cache for the logs) so that we can request extra debugging for it.
        Copy the value of debug_assert_if_crashed_table to maria_assert_if_crashed_table so that we can request a crash at exactly the point where we find Aria corrupted.
        Use STATE_CRASHED_FLAGS
      storage/maria/ma_bitmap.c:
        Made bits_to_txt extern so that we can use this in maria_chk
        Added extra information to the log files to be able to easier find bitmap failures in recovery. (When compiling with -DEXTRA_DEBUG_BITMAP)
        Added _ma_get_bitmap_description() to request a clear text description of the bitmap.
        Simplify _ma_check_bitmap_data(), as we know the bitmap pattern in the caller.
      storage/maria/ma_blockrec.c:
        In delete_head_or_tail(), fixed a bug where we sent wrong information to _ma_bitmap_set() if the directory was full for a page that should be freed.
        This fixed LP#700623 (failure in bitmap found during recovery)
      storage/maria/ma_blockrec.h:
        Added definitions for _ma_get_bitmap_description() and bits_to_txt
      storage/maria/ma_check.c:
        Simplify call to _ma_check_bitmap_data().
        Write more information if we find something wrong with the bitmap.
        Moved getting clear text information about the bitmap to ma_bitmap.c::_ma_get_bitmap_description()
      storage/maria/ma_checkpoint.c:
        More asserts
      storage/maria/ma_create.c:
        Fix wrong create_rename_lsn during repair.
        (Create_rename_lsn can be too big if someone restores an old maria_log_file after an Aria file was created)
      storage/maria/ma_delete.c:
        Call _ma_set_fatal_error() in case of crashed file
        Remove not needed test of save_errno == HA_ERR_KEY_NOT_FOUND. (Handled by other code
      storage/maria/ma_extra.c:
        Call _ma_set_fatal_error() in case of crashed file
        Reset share->bitmap.changed_not_flushed to not cause new ASSERTS to trigger.
        Added _ma_file_callback_to_id() for writing share->id to log file in case of DEBUG logging.
      storage/maria/ma_init.c:
        Destroy also translog if it's readonly (as when called by maria_read_log -d)
      storage/maria/ma_key.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/ma_key_recover.c:
        STATE_CRASHED -> STATE_CRASHED_FLAGS
      storage/maria/ma_keycache.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/ma_locking.c:
        Call _ma_set_fatal_error() in case of crashed file.
        Added _ma_set_fatal_error()
      storage/maria/ma_open.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/ma_page.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/ma_pagecache.c:
        Added extra information to log file to simply debugging of bitmap errors.
      storage/maria/ma_pagecache.h:
        Added extra_debug flag to allow marking of row and index cache for extra logging (for debugging).
      storage/maria/ma_panic.c:
        Flush both data and index blocks in case of HA_PANIC_CLOSE
        Fixed wrong position of 'break'. (Not critical for MariaDB as MariaDB never uses this code)
      storage/maria/ma_recovery_util.c:
        Avoid writing extra not needed \n to DBUG log.
      storage/maria/ma_rkey.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/ma_search.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/ma_static.c:
        Define maria_assert_if_crashed_table
      storage/maria/ma_update.c:
        Call _ma_set_fatal_error() in case of crashed file.
        The new code also avoids a problem where we before would print the error twice.
      storage/maria/ma_write.c:
        Call _ma_set_fatal_error() in case of crashed file
      storage/maria/maria_chk.c:
        STATE_CRASHED -> STATE_CRASHED_FLAGS
      storage/maria/maria_def.h:
        Added STATE_CRASHED_PRINTED to avoid giving error message about crash twice.
        Added STATE_CRASHED_FLAGS to be able to easily detect and set all CRASHED related flags.
        Added prototypes for new functions.
      storage/myisam/mi_panic.c:
        Fixed wrong position of 'break'. (Not critical for MariaDB as MariaDB never uses this code)
      f1d804d7
  7. 20 Jan, 2011 2 commits
    • Michael Widenius's avatar
      Fixed bug that another thread used handler->s->id before it was recorded in the log. · c65cc061
      Michael Widenius authored
      This fixed an assert in recovert in mi_recovery.c "cmp_translog_addr(rec->lsn, checkpoint_start) < 0"
      
      storage/maria/ma_loghandler.c:
        Don't assign share->id until it's recorded in the log.
        Had to do an extra test in translog_write_record() to not call translog_assign_id_to_share() for LOGREC_FILE_ID (which sets share->id)
      storage/maria/ma_recovery.c:
        Print comment in log for checkpoints
      c65cc061
    • Michael Widenius's avatar
      Fixed some mysql-test-run failures and compile warnings/errors · 2f427f1a
      Michael Widenius authored
      Added logging of all possible fatal table errors if --log-warnings set to > 1
      
      
      mysql-test/extra/rpl_tests/rpl_EE_err.test:
        Safety fix
      mysql-test/extra/rpl_tests/rpl_row_basic.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/r/archive.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/r/csv.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/maria/r/maria-autozerofill.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/maria/t/maria-autozerofill.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/maria/t/maria-recover.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/parts/t/partition_recover_myisam.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/r/rpl_bug38694.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/r/rpl_idempotency.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/r/rpl_ignore_table.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/r/rpl_row_conflicts.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/r/rpl_temporary_errors.result:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/t/rpl_bug38694.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/t/rpl_idempotency.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/t/rpl_ignore_table.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/t/rpl_row_conflicts.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/suite/rpl/t/rpl_temporary_errors.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/t/archive.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      mysql-test/t/csv.test:
        Added suppression of possible error message (so that one can run test with --log-warnings=2)
      sql/handler.cc:
        If running with --assert-of-crashed-table or --log-warnings > 1 then print engine error to log
      sql/sql_select.cc:
        Disable not initialized warning from gcc
      strings/Makefile.am:
        Fixed compiler error on Solaris 10 (duplicate strmov() function)
      2f427f1a
  8. 18 Jan, 2011 1 commit
  9. 14 Jan, 2011 3 commits
  10. 12 Jan, 2011 3 commits
    • Michael Widenius's avatar
      Merge with 5.1 · 42e0ba2a
      Michael Widenius authored
      42e0ba2a
    • Michael Widenius's avatar
      Fix for LP#697610 ha_index_prev(uchar*): Assertion `inited==INDEX' failed with... · 212b3e63
      Michael Widenius authored
      Fix for LP#697610 ha_index_prev(uchar*): Assertion `inited==INDEX' failed with HANDLER + InnoDB in maria-5.3
      
      
      mysql-test/suite/handler/innodb.result:
        Added test case
      mysql-test/suite/handler/innodb.test:
        Added test case
      sql/handler.h:
        Move setting/resetting of active_index to ha_index_init()/ha_index_end() to simplify handler functions index_init()/index_end()
        Fixed that get_index() returns MAX_KEY if index is not inited (this fixed LP#697610)
      storage/federated/ha_federated.cc:
        Settting of active_index is not needed anymore
      storage/maria/ma_pagecache.c:
        Added error message if we have too little memory for Maria page cache
      212b3e63
    • Sergey Petrunya's avatar
      Merge BUG#675118 into maria-5.1 · 3e10481a
      Sergey Petrunya authored
      3e10481a
  11. 11 Jan, 2011 6 commits
  12. 10 Jan, 2011 1 commit
    • Michael Widenius's avatar
      - Fixed that Aria works with HANDLER commands · 15074383
      Michael Widenius authored
      - Added test case for Aria
      - Tested HANDLER with HEAP (changes to HEAP code will be pushed in 5.3)
      - Moved all HANDLER test to suite/handler.
      
      
      mysql-test/Makefile.am:
        Added suite/handler
      mysql-test/mysql-test-run.pl:
        Added suite/handler
      mysql-test/r/lock_multi.result:
        Remove test that is already in handler test suite
      mysql-test/suite/handler/aria.result:
        Test for HANDLER with Aria storage engine
      mysql-test/suite/handler/aria.test:
        Test for HANDLER with Aria storage engine
      mysql-test/suite/handler/handler.inc:
        Extended the general handler test
        Moved interface testing to 'interface.test'
      mysql-test/suite/handler/init.inc:
        Common init for handler tests.
      mysql-test/suite/handler/innodb.result:
        New results
      mysql-test/suite/handler/innodb.test:
        Update to use new include files
      mysql-test/suite/handler/interface.result:
        Test of HANDLER interface (not storage engine dependent parts)
      mysql-test/suite/handler/interface.test:
        Test of HANDLER interface (not storage engine dependent parts)
      mysql-test/suite/handler/myisam.result:
        New results
      mysql-test/suite/handler/myisam.test:
        Update to use new include files
      mysql-test/t/lock_multi.test:
        Remove test that is already in handler test suite
      mysys/tree.c:
        Added missing handling of read previous (showed up in HEAP testing)
      sql/handler.cc:
        Don't marka 'HA_ERR_RECORD_CHANGED' as fatal (can be used with HANDLER READ, especially with MEMORY ENGINE)
      sql/handler.h:
        Added prototype for can_continue_handler_scan()
      sql/sql_handler.cc:
        Re-initialize search if we switch from key to table search.
        Check if handler can continue searching between calls (via can_continue_handler_scan())
        Don't write common not fatal errors to log
      storage/maria/ma_extra.c:
        Don't set index 0 as default. This forces call to ma_check_index() to set up index variables.
      storage/maria/ma_ft_boolean_search.c:
        Ensure that info->last_key.keyinfo is set
      storage/maria/ma_open.c:
        Don't set index 0 as default. This forces call to ma_check_index() to set up index variables.
      storage/maria/ma_rkey.c:
        Trivial optimization
      storage/maria/ma_rnext.c:
        Added missing code from mi_rnext.c to ensure that handler next/prev works.
      storage/maria/ma_rsame.c:
        Simple optimizations
      storage/maria/ma_search.c:
        Initialize info->last_key once and for all when we change keys.
      storage/maria/ma_unique.c:
        Ensure that info->last_key.keyinfo is up to date.
      15074383
  13. 07 Jan, 2011 1 commit
    • Michael Widenius's avatar
      Don't do DBUG_ASSERT for checksum errors when using REPAIR · 91ecf748
      Michael Widenius authored
      mysql_convert_table_format ignored --engine option.
      Fix that zerofill() doesn't write out wrong data to client if run with auto repair.
      Ensure that pagecache is properly flushed, even in case of errors.
      Handle checksum errors in BLOCK_RECORD format.
      
      
      scripts/mysql_convert_table_format.sh:
        Fixed that --engine option works
      storage/maria/ha_maria.cc:
        Fix that zerofill() doesn't write out wrong data to client if run with auto repair.
      storage/maria/ma_check.c:
        Set in_check_table when scanning table to not get DBUG_ASSERT for checksum error.
        Ensure that pagecache is properly flushed, even in case of errors.
        Handle checksum errors in BLOCK_RECORD format.
      storage/maria/ma_sort.c:
        Set in_check_table when scanning table to not get DBUG_ASSERT for checksum error.
      91ecf748
  14. 06 Jan, 2011 1 commit
    • Michael Widenius's avatar
      Bug fixing in Aria: · 896fb79e
      Michael Widenius authored
      - Fixed some bugs in recovery of blobs
      - Don't ASSERT() on checksum errors when running check table
      - Added to maria_read_log option --tables-to-redo=list-of-tables to only recover some tables (good for debugging)
      
      
      storage/maria/ma_blockrec.c:
        Don't ASSERT() on checksum errors when running check table
        Fixed bug in recovery of blog page that was not in dirty pages list
      storage/maria/ma_check.c:
        Don't ASSERT() on checksum errors when running check table
      storage/maria/ma_recovery.c:
        Handling of --tables-to-redo
      storage/maria/ma_recovery.h:
        Handling of --tables-to-redo
      storage/maria/ma_recovery_util.c:
        Give better warning if table was not in dirty pages list
      storage/maria/maria_def.h:
        Added in_check_table
      storage/maria/maria_read_log.c:
        Added --tables-to-redo=list-of-tables to only recover some tables (good for debugging)
        Cleaned up message when wrong arguments
      896fb79e
  15. 05 Jan, 2011 3 commits
  16. 04 Jan, 2011 2 commits
    • Michael Widenius's avatar
      Fixed recovery problem in Aria where bitmap had wrong information after recovery. · 308e11b8
      Michael Widenius authored
      LP#619731: Aria recovery corruption "Page 1: Row: 1 has an extent with wrong information in bitmap
      
      storage/maria/ma_bitmap.c:
        Don't send broadcast if no one is waiting for it
      storage/maria/ma_blockrec.c:
        Don't update bitmap if the page is not in the dirty_page list (or LSN is after checkpoint start)
        Fixes the case where we have in the log redo_free_block followed by another redo entry for the same page which is ignored.
        Also fixed that _ma_apply_redo_insert_row_blobs() doesn't update the bitmap in similar circumstances.
      storage/maria/ma_blockrec.h:
        Updated prototype
      storage/maria/ma_check.c:
        Added printing of bitmap information if used with maria_chk -vvv (for debugging)
      storage/maria/ma_recovery.c:
        Updated call parameters to _ma_apply_redo_free_blocks().
      308e11b8
    • Michael Widenius's avatar
      Updated README for MTR test suite · 7c521183
      Michael Widenius authored
      7c521183