diff options
author | unknown <guilhem@gbichot4.local> | 2007-10-16 14:56:38 +0200 |
---|---|---|
committer | unknown <guilhem@gbichot4.local> | 2007-10-16 14:56:38 +0200 |
commit | 08b715289369512e1f7d7f4d3abb8f9a8c718d63 (patch) | |
tree | 8b5c138f2af923b87d19833ff38d6b2b8a487f62 /storage/maria/ma_recovery.h | |
parent | 80f8c917dd0904c8cccf0c392e7ba17023dbdbcd (diff) | |
download | mariadb-git-08b715289369512e1f7d7f4d3abb8f9a8c718d63.tar.gz |
WL#3072 Maria recovery
- fixes (in recovery, checkpoint, log handler) of bugs found
during testing.
- new option --check for maria_read_log: with --only-display (which only
reads the header) it reads the full record, for debugging.
storage/maria/ma_loghandler.c:
importing patch from Sanja for bug of translog_next_LSN() found
during recovery
storage/maria/ma_loghandler_lsn.h:
better types (0L is 4 bytes on some platforms, it causes problems
when used into lsn_store(): right shift >= width of type.
storage/maria/ma_pagecache.c:
work around infamous "PAGECACHE_PLAIN_PAGE used for transactional
tables in specialm case"; REDO phase disables logging and this causes
pages to be PAGECACHE_PLAIN_PAGE, thus ignored wrongly by the
checkpoint taken at the end of the REDO phase.
storage/maria/ma_recovery.c:
- a #ifdef which broke maria_read_log in non-debug builds (no output!)
- support for maria_read_log --check
- detect record corruption before opening the table
- updating is_of_horizon requires writing the state
- fix for wrong parsing of checkpoint record by recovery
storage/maria/ma_recovery.h:
support for maria_read_log --check
storage/maria/maria_read_log.c:
Option --check: --only-display only looks at the header;
adding --check tries a translog_read_record() to see if record can
be fully read (this is to find bugs).
Diffstat (limited to 'storage/maria/ma_recovery.h')
-rw-r--r-- | storage/maria/ma_recovery.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/maria/ma_recovery.h b/storage/maria/ma_recovery.h index da4e8895e2f..ea39fa3e98c 100644 --- a/storage/maria/ma_recovery.h +++ b/storage/maria/ma_recovery.h @@ -24,8 +24,11 @@ /* Performs recovery of the engine at start */ C_MODE_START +enum maria_apply_log_way +{ MARIA_LOG_APPLY, MARIA_LOG_DISPLAY_HEADER, MARIA_LOG_CHECK }; int maria_recover(void); -int maria_apply_log(LSN lsn, my_bool apply, FILE *trace_file, +int maria_apply_log(LSN lsn, enum maria_apply_log_way apply, + FILE *trace_file, my_bool execute_undo_phase, my_bool skip_DDLs, my_bool take_checkpoints); C_MODE_END |