1. 14 Dec, 2007 7 commits
    • unknown's avatar
      fix for pushbuild test failure · 2da93c6e
      unknown authored
      
      mysql-test/t/ps_maria.test:
        test Maria presence before setting Maria variables
      2da93c6e
    • unknown's avatar
      fix for some gcc -ansi warnings. · 6ee5af16
      unknown authored
      
      storage/maria/ma_checkpoint.c:
        gcc -ansi warnings
      storage/maria/ma_pagecache.c:
        comment
      storage/maria/ma_recovery.c:
        gcc -ansi warnings
      6ee5af16
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-maria · 908f6c79
      unknown authored
      into  gbichot4.local:/home/mysql_src/mysql-maria-monty
      
      908f6c79
    • unknown's avatar
      WL#3072 - Maria recovery. · 68f5d6a0
      unknown authored
      * fix for bitmap vs checkpoint bug which could lead to corrupted
      tables in case of crashes at certain moments: a bitmap could be flushed
      to disk even though it was inconsistent with the log (it could be
      flushed before REDO-UNDO are written to the log). One bug remains, need
      code from others. Tests added. Fix is to pin unflushable bitmap pages,
      and let checkpoint wait for them to be flushable.
      * fix for long_trid!=0 assertion failure at Recovery.
      * less useless wakeups in the background flush|checkpoint thread.
      * store global_trid_generator in checkpoint record.
      
      
      mysql-test/r/maria-recovery.result:
        result update
      mysql-test/t/maria-recovery.test:
        make it easier to locate subtests
      storage/maria/ma_bitmap.c:
        When we send a bitmap to the pagecache, if this bitmap is not in a
        flushable state we keep it pinned and add it to a list, it will be
        unpinned when the bitmap is flushable again.
        A new function _ma_bitmap_flush_all() used by checkpoint.
        A new function _ma_bitmap_flushable() used by block format to signal
        when it starts modifying a bitmap and when it is done with it.
      storage/maria/ma_blockrec.c:
        When starting a row operation (insert/update/delete), mark that
        the bitmap is not flushable (because for example INSERT is going
        to over-allocate in the bitmap to prevent other threads from using
        our data pages). If a checkpoint comes at this moment it will wait
        for the bitmap to be flushable before flushing it.
        When the operation ends, bitmap becomes flushable again; that
        transition is done under the bitmap's mutex (needed for correct
        synchro with a concurrent checkpoint); but for INSERT/UPDATE this
        happens inside _ma_bitmap_release_unused() at a place where it already
        has the mutex, so the only penalty (mutex adding) is in DELETE and UNDO
        of INSERT. In case of errors after setting the bitmap unflushable,
        we must always set it back to flushable or checkpoint would block.
        Debug possibilities to force a sleep while the bitmap is over-allocated.
        In case of error in get_head_or_tail() in allocate_and_write_block_record(),
        we still need to unpin all pages.
        Bugfix: _ma_apply_redo_insert_row_blobs() produced wrong
        data_file_length.
      storage/maria/ma_blockrec.h:
        new bitmap calls.
      storage/maria/ma_checkpoint.c:
        filter_flush_indirect not needed anymore (flushing bitmap
        pages happens in _ma_bitmap_flush_all() now). So
        st_filter_param::is_data_file|pages_covered_by_bitmap not needed.
        Other filter_flush* don't need to flush bitmap anymore.
        Add debug possibility to flush all bitmap pages outside of a checkpoint,
        to simulate pagecache LRU eviction.
        When the background flush/checkpoint thread notices it has nothing
        to flush, it now sleeps directly until the next potential checkpoint
        moment instead of waking up every second.
        When in checkpoint we decide to not store a table in the checkpoint record
        (because it has logged no writes for example), we can also skip flushing
        this table.
      storage/maria/ma_commit.c:
        comment is out-of-date
      storage/maria/ma_key_recover.c:
        comment fix
      storage/maria/ma_loghandler.c:
        comment is out-of-date
      storage/maria/ma_open.c:
        comment is out-of-date
      storage/maria/ma_pagecache.c:
        comment for bug to fix. And we don't take checkpoints at end of REDO
        phase yet so can trust block->type.
      storage/maria/ma_recovery.c:
        Comments. Now-unneeded code for incomplete REDO-UNDO groups removed.
        When we forget about an old transaction we must really forget
        about it with bzero() (fixes the "long_trid!=0 assertion" recovery
        bug). When we delete a row with maria_delete() we turn on
        STATE_NOT_OPTIMIZED_ROWS so we do the same when we see a CLR_END
        for an UNDO_ROW_INSERT or when we execute an UNDO_ROW_INSERT (in both
        cases a row was deleted). Pick up max_long_trid from the checkpoint record.
      storage/maria/maria_chk.c:
        comment
      storage/maria/maria_def.h:
        MARIA_FILE_BITMAP gets new members: 'flushable', 'bitmap_cond' and
        'pinned_pages'.
      storage/maria/trnman.c:
        I used to think that recovery only needs to know the maximum TrID
        of the lists of active and committed transactions. But no, sometimes
        both lists can even be empty and their TrID should not be reused.
        So Checkpoint now saves global_trid_generator in the checkpoint record.
      storage/maria/trnman_public.h:
        macros to read/store a TrID
      mysql-test/r/maria-recovery-bitmap.result:
        result is ok. Without the code fix, we would get a corruption message
        about the bitmap page in CHECK TABLE EXTENDED.
      mysql-test/t/maria-recovery-bitmap-master.opt:
        usual when we crash mysqld in tests
      mysql-test/t/maria-recovery-bitmap.test:
        test of recovery problems specific of the bitmap pages.
      68f5d6a0
    • unknown's avatar
      more cmake fixes · 70e045a7
      unknown authored
      70e045a7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-maria · 2e5aff67
      unknown authored
      into  janus.mylan:/usr/home/serg/Abk/mysql-maria
      
      2e5aff67
    • unknown's avatar
      windows fix: fix the #include directive · 03260248
      unknown authored
      03260248
  2. 13 Dec, 2007 7 commits
    • unknown's avatar
      postreview changes. · 9679689f
      unknown authored
      
      storage/maria/ma_loghandler.c:
        Using pthread_cond instead of WQUEUE.
      9679689f
    • unknown's avatar
      Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria · 6bd13f1f
      unknown authored
      into  desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-testfail
      
      
      mysql-test/t/maria-recovery.test:
        Auto merged
      storage/maria/ma_loghandler.c:
        Auto merged
      6bd13f1f
    • unknown's avatar
      Fixed maximum file size change. Now it flush buffer after · 4bc16ac8
      unknown authored
        switching to new one which prevent deadlock.
      
      
      mysql-test/r/maria-purge.result:
        Fixed test which use setting maria_checkpoint_interval to force
          checkpoint now.
      mysql-test/t/maria-purge.test:
        Fixed test which use setting maria_checkpoint_interval to force
          checkpoint now.
      4bc16ac8
    • unknown's avatar
      fixes for windows builds · 92694708
      unknown authored
      92694708
    • unknown's avatar
      restore plug.in - referenced by Makefile.am · 3a7e9ac1
      unknown authored
      3a7e9ac1
    • unknown's avatar
      fixes for make distclean, solaris, macosx, windows · dd096651
      unknown authored
      
      BitKeeper/deleted/.del-plug.in:
        Delete: storage/myisam/plug.in
      configure.in:
        MyISAM should be the first plugin in the list for now
        check for thr_yield, just in case
      include/my_pthread.h:
        pthread_yield for windows, solaris, macosx
      storage/Makefile.am:
        fix for make distclean (myisam was listed twice in SUBDIRS)
      dd096651
    • unknown's avatar
      Postreview changes. · ae618cf1
      unknown authored
      
      mysql-test/r/maria-big.result:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/r/maria-connect.result:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/r/maria-purge.result:
        Change to make maria-purge more stable.
      mysql-test/r/maria.result:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/r/ps_maria.result:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/t/maria-big.test:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/t/maria-connect.test:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/t/maria-purge.test:
        Change to make maria-purge more stable.
      mysql-test/t/maria-recovery.test:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/t/maria.test:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      mysql-test/t/ps_maria.test:
        Change to make maria-purge more stable: increasing file size
          to let all records fit in one log.
      ae618cf1
  3. 12 Dec, 2007 3 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-maria · 0e907c2c
      unknown authored
      into  mysql.com:/home/my/mysql-maria
      
      
      storage/maria/ma_blockrec.c:
        Auto merged
      storage/maria/ma_check.c:
        Auto merged
      storage/maria/ma_loghandler.c:
        Auto merged
      storage/maria/maria_def.h:
        Auto merged
      0e907c2c
    • unknown's avatar
      Removed MARIA_BASE min_row_length (duplicate of min_block_length) · 535deab7
      unknown authored
      Cleanup of recent code changes in dbug and my_thr_init
      Added name for each safe_mutex (for better DBUG and error reporting)
      Fixed that sort_info.max_records is calculated correctly. This fixed a bug in maria_chk
      Removed duplicate printing of mutex address in dbug log
      
      
      dbug/dbug.c:
        Cleanup of recent code changes
      include/my_pthread.h:
        Added name for each safe_mutex (for better DBUG and error reporting)
      mysys/my_thr_init.c:
        Cleanup of recent code changes
      mysys/thr_mutex.c:
        Added name for each safe_mutex (for better DBUG and error reporting)
      mysys/wqueue.c:
        Removed some mutex printing (as it's done now when we take mutex)
      storage/maria/Makefile.am:
        Fixed that 'make tags' works with xemacs
      storage/maria/ma_blockrec.c:
        base.min_row_length -> base.min_block_length
        (As they where basicly the same variable)
      storage/maria/ma_check.c:
        Moved more common stuff to initialize_variables_for_repair
        Fixed that sort_info.max_records is calculated correctly. This fixed a bug in maria_chk
      storage/maria/ma_create.c:
        More comments
        Fixed that min_pack_length is calculated more correctly
        Removed duplicate variable base.min_row_length
      storage/maria/ma_loghandler.c:
        Removed duplicate printing of mutex address
      storage/maria/ma_open.c:
        Removed base.min_row_length
      storage/maria/ma_packrec.c:
        Removed not anymore needed code
        (One should not change any .base variables as this will affect repair with unpack)
      storage/maria/maria_def.h:
        Removed base.min_row_length
      535deab7
    • unknown's avatar
      WL#3072 - Maria Recovery: recovery of state.auto_increment. · aa9c6e80
      unknown authored
      When we log UNDO_KEY_INSERT for an auto_inc key, we update
      state.auto_increment (not anymore at the end of maria_write() except
      if this is a non-transactional table). When Recovery sees UNDO_KEY_INSERT
      in the REDO phase, it reads the auto_inc value from it and updates
      state.auto_increment.
      
      
      mysql-test/r/maria-recovery.result:
        Without the code fix, there would be in CHECK TABLE:
        "Auto-increment value: 0 is smaller than max used value: 3"
        and no AUTO_INCREMENT= clause in SHOW CREATE TABLE.
      mysql-test/t/maria-recovery.test:
        Test of recovery of state.auto_increment: from an old table,
        does the replaying of the log set state.auto_increment to
        what it should be.
      storage/maria/ma_check.c:
        new way of calling ma_retrieve_auto_increment(): pass key
      storage/maria/ma_key.c:
        ma_retrieve_auto_increment() now operates directly with a pointer
        to the key and not on the record.
      storage/maria/ma_key_recover.c:
        dedicated write_hook_for_undo_key_insert(): sets state.auto_increment
        under log's mutex.
      storage/maria/ma_key_recover.h:
        Dedicated hook for UNDO_KEY_INSERT, to set state.auto_increment.
        Such hook needs a new member st_msg_write_hook_for_undo_key::auto_increment,
        which contains the auto_increment value inserted.
      storage/maria/ma_loghandler.c:
        UNDO_KEY_INSERT gets a dedicated write_hook, to set auto_increment.
      storage/maria/ma_recovery.c:
        When in the REDO phase we see UNDO_KEY_INSERT: if the state is older
        than this record, and the key is the auto_increment one, read
        the key's value from the log record and update state.auto_increment.
      storage/maria/ma_test_all.sh:
        use $maria_path to be able to run from /dev/shm (faster)
      storage/maria/ma_update.c:
        bool is more of C++, using my_bool.
        If table is transactional, state.auto_increment is already updated
        in write_hook_for_undo_key_insert().
      storage/maria/ma_write.c:
        If table is transactional, state.auto_increment is not updated at
        the end of maria_write() but rather in write_hook_for_undo_key_insert()
        (under log's mutex, so that a concurrent checkpoint does not read
        state.auto_increment while it is changing - corrupted).
        _ma_ck_write_btree_with_log() extracts the auto_increment value
        from the key, puts it into msg.auto_increment, and this is passed
        to write_hook_for_undo_key_insert().
      storage/maria/maria_def.h:
        change of prototype of ma_retrieve_auto_increment()
      storage/maria/maria_read_log.c:
        use default log file size. Use separate page caches for table
        and logs (needed if maria_block_size!=TRANSLOG_PAGE_SIZE).
      aa9c6e80
  4. 11 Dec, 2007 8 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-maria · cd35a439
      unknown authored
      into  gbichot4.local:/home/mysql_src/mysql-maria-monty
      
      cd35a439
    • unknown's avatar
      WL#3072 Maria recovery: small fixes to ma_test_recovery · a046ba71
      unknown authored
      (output was not repeatable accross machines).
      
      
      storage/maria/ma_check.c:
        comment
      storage/maria/ma_test_recovery.expected:
        output update
      storage/maria/ma_test_recovery:
        * data_file_length/key_file_length differ between machines because
        ma_test2 uses srand(). Removing them from output.
        * there is no reason to copy/restore logs, test should work without
        * applying log to recreate tables should not change log, testing this.
      a046ba71
    • unknown's avatar
      Logfile size put in allowed boumnds. · eb14b3b0
      unknown authored
      eb14b3b0
    • unknown's avatar
      Postmerge changes. · 92aea18e
      unknown authored
      
      storage/maria/ma_loghandler.c:
        Fixed compiler warning.
        translog_mutex_unlock -> pthread_mutex_unlock: postmerge change.
      storage/maria/unittest/ma_test_loghandler_max_lsn-t.c:
        Fixed forgoten log size out of bounds.
      92aea18e
    • unknown's avatar
      Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria · 54035346
      unknown authored
      into  desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-logpurge
      
      
      storage/maria/ma_checkpoint.c:
        Auto merged
      storage/maria/ma_loghandler.c:
        Auto merged
      storage/maria/ma_loghandler.h:
        Auto merged
      storage/maria/ma_recovery.c:
        Auto merged
      54035346
    • unknown's avatar
      Post review fix (serg). · 7917e8cc
      unknown authored
      Added more checks.
      
      
      storage/maria/ha_maria.cc:
        Let control size to my_get_opts().
      storage/maria/ma_loghandler.c:
        Let control size to my_get_opts().
        Removed unused function.
        Assert to check log file size.
        Additional compilation warnings.
      storage/maria/ma_loghandler.h:
        New log size bounds.
        Removed unused function.
      storage/maria/unittest/ma_test_loghandler-t.c:
        Fixed test to confirm new log size bounds.
      7917e8cc
    • unknown's avatar
      Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria · e5443c3c
      unknown authored
      into  desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-testfail
      
      
      storage/maria/ma_loghandler.c:
        Auto merged
      e5443c3c
    • unknown's avatar
      Page number calculation fixed. · bf4b2220
      unknown authored
      bf4b2220
  5. 10 Dec, 2007 9 commits
    • unknown's avatar
      WL#3072 Maria recovery: · 470842ba
      unknown authored
      fix for bug: if a crash happened right after writing a REDO like this:
      REDO - UNDO - REDO*, then recovery would ignore the last REDO* (ok),
      rollback: REDO - UNDO - REDO* - REDO - CLR, and a next recovery would
      thus execute REDO* instead of skipping it again. Recovery now logs
      LOGREC_INCOMPLETE_GROUP when it meets REDO* for the first time,
      to draw a boundary and ensure it is always skipped. Tested by hand.
      Note: ma_test_all fails "maria_chk: error: Key 1 - Found too many records"
      not due to this patch (failed before).
      
      
      BitKeeper/triggers/post-commit:
        no truncation of the commit mail, or how to review patches?
      mysql-test/include/maria_verify_recovery.inc:
        let caller choose the statement used to crash (sometimes we
        want the crash to happen at special places)
      mysql-test/t/maria-recovery.test:
        user of maria_verify_recovery.inc now specifies statement which the
        script should use for crashing.
      storage/maria/ma_bitmap.c:
        it's easier to search for all places using functions from the bitmap
        module (like in ma_blockrec.c) if those exported functions all start
        with "_ma_bitmap": renaming some of them.
        Assertion that when we read a bitmap page, overwriting bitmap->map,
        we are not losing information (i.e. bitmap->changed is false).
      storage/maria/ma_blockrec.c:
        update to new names. Adding code (disabled, protected by a #ifdef)
        that I use to test certain crash scenarios (more to come).
      storage/maria/ma_blockrec.h:
        update to new names
      storage/maria/ma_checkpoint.c:
        update to new names
      storage/maria/ma_extra.c:
        update to new names
      storage/maria/ma_loghandler.c:
        new LOGREC_INCOMPLETE_GROUP
      storage/maria/ma_loghandler.h:
        new LOGREC_INCOMPLETE_GROUP
      storage/maria/ma_recovery.c:
        When at the end of the REDO phase we have identified some transactions
        with incomplete REDO groups (REDOs without an UNDO or CLR_END),
        for each of them we log LOGREC_INCOMPLETE_GROUP. This way, the
        upcoming UNDO phase can write more records for such transaction,
        a future recovery won't pair the incomplete group with the
        CLR_END (as there is LOGREC_INCOMPLETE_GROUP to draw a boundary).
      470842ba
    • unknown's avatar
      ma_recovery.c: · ef8ef30b
      unknown authored
        SCCS merged
      .del-ma_key_redo.c:
        Auto merged
      
      
      BitKeeper/deleted/.del-ma_key_redo.c:
        Auto merged
      storage/maria/ma_recovery.c:
        SCCS merged
      ef8ef30b
    • unknown's avatar
      Merge abelkin@bk-internal.mysql.com:/home/bk/mysql-maria · 9a82084b
      unknown authored
      into  desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria
      
      9a82084b
    • unknown's avatar
      Fixed bug in first log file detecting function. · a33e8508
      unknown authored
      
      storage/maria/ma_loghandler.c:
        min_file should be for sure unexistant file for right search.
      a33e8508
    • unknown's avatar
      Fixed bug in allocation of dynamic record buffer in Maria · b8f47f1f
      unknown authored
      Unified printing of mutex addresses to make them easier to compare
      
      
      mysys/thr_mutex.c:
        Unified printing of mutex addresses to make them easier to compare
      storage/maria/ma_dynrec.c:
        Fixed indentation
      storage/maria/ma_open.c:
        Fixed bug in allocation of dynamic record buffer
      b8f47f1f
    • unknown's avatar
      Fixed some compiler errors · 2b63a591
      unknown authored
      
      mysys/my_thr_init.c:
        Added missing DBUG_OFF
      storage/maria/ma_loghandler.c:
        Fixed wrong macro
      2b63a591
    • unknown's avatar
      Fixed core dump when running myisamchk (as this doesn't call translog_init) · cfcf7ef1
      unknown authored
      Added option --transaction-log to maria_chk
      
      
      storage/maria/ma_init.c:
        Fixed core dump when running maria_chk (as this doesn't call translog_init)
      storage/maria/ma_test_all.sh:
        Added testing of --transaction-log
      storage/maria/maria_chk.c:
        Enable logging of repair commands if run with --transaction-log
      cfcf7ef1
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-maria · 6cf6ef40
      unknown authored
      into  mysql.com:/home/my/mysql-maria
      
      
      storage/maria/ma_blockrec.c:
        Auto merged
      storage/maria/ma_loghandler.c:
        Auto merged
      storage/maria/ma_loghandler.h:
        Auto merged
      6cf6ef40
    • unknown's avatar
      Added MARIA_SHARE *share to a lot of places to make code simpler · 05b1ea83
      unknown authored
      Changed info->s -> share to get more efficent code
      Updated arguments to page accessor functions to use MARIA_SHARE * instead of MARIA_HA *.
      Tested running tests in quick mode (no balance page on insert and only when critical on delete)
      Fixed bug in underflow handling in quick mode
      Fixed bug in log handler where it accessed not initialized variable
      Fixed bug in log handler where it didn't free mutex in unlikely error condition
      Removed double write of page in case of of some underflow conditions
      Added DBUG_PRINT in safemutex lock/unlock
      
      
      dbug/dbug.c:
        Compile without SAFE_MUTEX (to be able to use DBUG_PRINT in safe_mutex code)
        Use calls to get/set my_thread_var->dbug. (Make dbug independent of compile time options for mysys)
      include/my_pthread.h:
        Added prototypes for my_thread_var_get_dbug() & my_thread_var_set_dbug()
      mysql-test/lib/mtr_report.pl:
        Don't check warnings in log files if we are using --extern
      mysys/my_thr_init.c:
        Added my_thread_var_get_dbug() & my_thread_var_set_dbug()
      mysys/thr_mutex.c:
        Added DBUG printing of addresses to mutex for lock/unlock
      storage/maria/ma_blockrec.c:
        Fixed comment
      storage/maria/ma_check.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_close.c:
        Indentation fixes
      storage/maria/ma_create.c:
        Calculate min_key_length correctly
      storage/maria/ma_dbug.c:
        Indentation fixes
      storage/maria/ma_delete.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
        Removed some writing of key pages that underflow (will be written by caller)
        Fixed crashing bug in underflow handling when using quick mode
      storage/maria/ma_delete_all.c:
        Indentation fixes
      storage/maria/ma_dynrec.c:
        Indentation fixes
      storage/maria/ma_extra.c:
        Fixed indentation
        Removed old useless code
        Reset share->changed if we have written state
      storage/maria/ma_ft_update.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_info.c:
        Indentation fixes
      storage/maria/ma_key_recover.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_locking.c:
        Indentation fixes
      storage/maria/ma_loghandler.c:
        Removed wrapper functions translog_mutex_lock and translog_mutex_unlock (safemutex now does same kind of printing)
        Renamed LOGREC_REDO_INSERT_ROW_BLOB to LOGREC_REDO_INSERT_NOT_USED to mark it free
        Fixed some DBUG_PRINT to ensure that convert-dbug-for-diff works
        Fixed bug in translog_flush() that caused log to stop syncing to disk
        Added missing mutex_unlock in case of error
      storage/maria/ma_loghandler.h:
        Renamed LOGREC_REDO_INSERT_ROW_BLOB to LOGREC_REDO_INSERT_NOT_USED to mark it free
      storage/maria/ma_open.c:
        Indentation fixes
      storage/maria/ma_packrec.c:
        Indentation fixes
      storage/maria/ma_page.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
        Added check that we never write a key page without content (except in recovery where a key page may temporary be without content)
      storage/maria/ma_preload.c:
        Updated arguments to page accessor functions
      storage/maria/ma_range.c:
        Updated arguments to page accessor functions
      storage/maria/ma_rkey.c:
        Indentation fixes
      storage/maria/ma_rprev.c:
        Indentation fixes
      storage/maria/ma_rt_index.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_rt_index.h:
        Updated arguments to page accessor functions
      storage/maria/ma_rt_key.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_rt_mbr.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_rt_split.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_search.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/ma_sort.c:
        Indentation fixes
      storage/maria/ma_statrec.c:
        Indentation fixes
      storage/maria/ma_test1.c:
        Added extra undo test
        Flush also keys in -u1, to ensure that the full log is flushed
      storage/maria/ma_test2.c:
        Added extra undo test
        Flush also keys in -u1, to ensure that the full log is flushed
      storage/maria/ma_test_recovery.expected:
        Updated results
      storage/maria/ma_test_recovery:
        Added extra undo test
      storage/maria/ma_update.c:
        Indentation fixes
      storage/maria/ma_write.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
        Prepare for quick mode for insert (don't balance page)
      storage/maria/maria_chk.c:
        Added MARIA_SHARE *share to a lot of places to make code simpler
        info->s -> share
        Updated arguments to page accessor functions
      storage/maria/maria_def.h:
        Updated arguments to page accessor functions
      05b1ea83
  6. 09 Dec, 2007 2 commits
    • unknown's avatar
      Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria · ce91156c
      unknown authored
      into  desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-logpurge
      
      
      mysql-test/r/maria.result:
        Auto merged
      storage/maria/ma_checkpoint.c:
        Auto merged
      storage/maria/ma_recovery.c:
        Auto merged
      storage/maria/ha_maria.cc:
        Merge
      storage/maria/ma_loghandler.c:
        Merge
      storage/maria/ma_loghandler.h:
        Merge
      ce91156c
    • unknown's avatar
      Manageable transactional log purge and file size · f621c59d
      unknown authored
      support added to maria.
      
      
      mysql-test/r/maria.result:
        New variables added.
      storage/maria/ha_maria.cc:
        Variable for transactional log purge method added.
        Variable for transactional log size added.
        SHOW for engine logs added.
        Log flush purge logs in case of "ondemand" type of
          log processing.
      storage/maria/ma_checkpoint.c:
        log purge call enabled.
      storage/maria/ma_loghandler.c:
        Support for different methods of log purge added.
        Functions for getting information about logs state added.
        Functions for getting/setting log size.
      storage/maria/ma_loghandler.h:
        Fixed defines.
        Functions for for transactional log mannegment added.
      storage/maria/ma_recovery.c:
        Dependence on TRANSLOG_FILE_SIZE removed.
      mysql-test/r/maria-purge.result:
        New BitKeeper file ``mysql-test/r/maria-purge.result''
      mysql-test/t/maria-purge.test:
        New BitKeeper file ``mysql-test/t/maria-purge.test''
      f621c59d
  7. 06 Dec, 2007 3 commits
    • unknown's avatar
      Post-review fixes + some locking cleanup. · 4b75440b
      unknown authored
      
      storage/maria/ma_loghandler.c:
        translog_lock() made safe (non-mutex-protected operation is atomic now).
        Fixed translog_destroy() because it will not work to be
          called several times.
      4b75440b
    • unknown's avatar
      Merge desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria · a2d1a8c0
      unknown authored
      into  desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-controlfile
      
      a2d1a8c0
    • unknown's avatar
      Trivial postreview changes. · 79fab2f1
      unknown authored
      
      storage/maria/ma_blockrec.c:
        Layout fix.
      storage/maria/ma_loghandler.c:
        Renamed struct variable 'class' to avoid problems with c++ compiler.
        Renamed translog_init_scanner to fit othere init functions naming pattern.
        translog_relative_LSN_encode can't return error for now.
        Other trivial postreview changes.
      storage/maria/ma_loghandler_lsn.h:
        trivial postreview changes.
      storage/maria/ma_recovery.c:
        Renamed translog_init_scanner to fit othere init functions naming pattern.
      storage/maria/unittest/ma_loghandler_examples.c:
        Renamed struct variable 'class' to avoid problems with c++ compiler.
      storage/maria/unittest/ma_test_loghandler-t.c:
        Renamed translog_init_scanner to fit othere init functions naming pattern.
      storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
        Renamed translog_init_scanner to fit othere init functions naming pattern.
      storage/maria/unittest/ma_test_loghandler_multithread-t.c:
        Renamed translog_init_scanner to fit othere init functions naming pattern.
      79fab2f1
  8. 05 Dec, 2007 1 commit