diff options
author | unknown <monty@mysql.com/narttu.mysql.fi> | 2007-09-04 10:53:52 +0300 |
---|---|---|
committer | unknown <monty@mysql.com/narttu.mysql.fi> | 2007-09-04 10:53:52 +0300 |
commit | 03437ea043f4f57d8910bea98b3a0c0412b91385 (patch) | |
tree | 6695e16744d065f15612576450bb51c88179dae7 /storage/maria/ma_blockrec.h | |
parent | 572ce24f0aad8e26f46a9c320ce4940f939e57f0 (diff) | |
download | mariadb-git-03437ea043f4f57d8910bea98b3a0c0412b91385.tar.gz |
Added UNDO handling of insert during recovery
storage/maria/ma_blockrec.c:
Added UNDO handling of insert during recovery
To do this, I also had to add write locking of tail pages during undo phase (As we need to access the same page twice if extents are split over two pages)
Another way to handle the undo of insert would be to store the extent information as part of the UNDO_INSERT block.
storage/maria/ma_blockrec.h:
Added new prototype
storage/maria/ma_loghandler.c:
Changed type of CLR_END (to avoid crash in log handler)
Removed not used variable
storage/maria/ma_loghandler.h:
Added TRN argument to record_execute_in_undo_phase()
storage/maria/ma_pagecache.c:
Hack for undo phase of recovery. During REDO we work with PLAIN pages, but UNDO works with LSN pages, which caused an abort when trying to access a cached page.
storage/maria/ma_recovery.c:
Added execution of UNDO_ROW_INSERT
storage/maria/ma_test1.c:
Added option --test-undo for testing recovery with undo
storage/maria/maria_read_log.c:
Added processing of undos
Diffstat (limited to 'storage/maria/ma_blockrec.h')
-rw-r--r-- | storage/maria/ma_blockrec.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/storage/maria/ma_blockrec.h b/storage/maria/ma_blockrec.h index 71feb33cabb..eff99355d62 100644 --- a/storage/maria/ma_blockrec.h +++ b/storage/maria/ma_blockrec.h @@ -187,3 +187,5 @@ uint _ma_apply_redo_purge_row_head_or_tail(MARIA_HA *info, LSN lsn, const uchar *header); uint _ma_apply_redo_purge_blocks(MARIA_HA *info, LSN lsn, const uchar *header); +my_bool _ma_apply_undo_row_insert(MARIA_HA *info, LSN undo_lsn, + const uchar *header); |