CUBRID Engine  latest
recovery.h File Reference
#include "error_manager.h"
#include "log_comm.h"
#include "log_lsa.hpp"
#include "thread_compat.hpp"
#include <stdio.h>
Include dependency graph for recovery.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  log_rcv
 
struct  rvfun
 

Macros

#define RCV_IS_BTREE_LOGICAL_LOG(idx)
 
#define RCV_IS_LOGICAL_COMPENSATE_MANUAL(idx)
 
#define RCV_IS_LOGICAL_RUN_POSTPONE_MANUAL(idx)
 
#define RCV_IS_LOGICAL_LOG(vpid, idx)
 
#define RCV_IS_NEW_PAGE_INIT(idx)
 

Typedefs

typedef struct log_rcv LOG_RCV
 

Enumerations

enum  LOG_RCVINDEX {
  RVDK_NEWVOL = 0, RVDK_FORMAT = 1, RVDK_INITMAP = 2, RVDK_CHANGE_CREATION = 3,
  RVDK_RESET_BOOT_HFID = 4, RVDK_LINK_PERM_VOLEXT = 5, RVDK_EXPAND_VOLUME = 6, RVDK_RESERVE_SECTORS = 7,
  RVDK_UNRESERVE_SECTORS = 8, RVDK_VOLHEAD_EXPAND = 9, RVFL_DESTROY = 10, RVFL_EXPAND = 11,
  RVFL_ALLOC = 12, RVFL_DEALLOC = 13, RVFL_FHEAD_ALLOC = 14, RVFL_FHEAD_DEALLOC = 15,
  RVFL_FHEAD_SET_LAST_USER_PAGE_FTAB = 16, RVFL_FHEAD_MARK_DELETE = 17, RVFL_FHEAD_STICKY_PAGE = 18, RVFL_USER_PAGE_MARK_DELETE = 19,
  RVFL_USER_PAGE_MARK_DELETE_COMPENSATE = 20, RVFL_FILEDESC_UPD = 21, RVFL_PARTSECT_ALLOC = 22, RVFL_PARTSECT_DEALLOC = 23,
  RVFL_EXTDATA_SET_NEXT = 24, RVFL_EXTDATA_ADD = 25, RVFL_EXTDATA_REMOVE = 26, RVFL_EXTDATA_MERGE = 27,
  RVFL_EXTDATA_UPDATE_ITEM = 28, RVFL_TRACKER_HEAP_MARK_DELETED = 29, RVFL_TRACKER_HEAP_REUSE = 30, RVFL_TRACKER_UNREGISTER = 31,
  RVFL_FHEAD_CONVERT_FTAB_TO_USER = 32, RVHF_CREATE_HEADER = 33, RVHF_NEWPAGE = 34, RVHF_STATS = 35,
  RVHF_CHAIN = 36, RVHF_INSERT = 37, RVHF_DELETE = 38, RVHF_UPDATE = 39,
  RVHF_REUSE_PAGE = 40, RVHF_REUSE_PAGE_REUSE_OID = 41, RVHF_MARK_REUSABLE_SLOT = 42, RVHF_MVCC_INSERT = 43,
  RVHF_MVCC_DELETE_REC_HOME = 44, RVHF_MVCC_DELETE_OVERFLOW = 45, RVHF_MVCC_DELETE_REC_NEWHOME = 46, RVHF_MVCC_DELETE_MODIFY_HOME = 47,
  RVHF_MVCC_NO_MODIFY_HOME = 48, RVHF_UPDATE_NOTIFY_VACUUM = 49, RVHF_INSERT_NEWHOME = 50, RVHF_MVCC_REDISTRIBUTE = 51,
  RVHF_MVCC_UPDATE_OVERFLOW = 52, RVHF_MARK_DELETED = 53, RVOVF_NEWPAGE_INSERT = 54, RVOVF_NEWPAGE_LINK = 55,
  RVOVF_PAGE_UPDATE = 56, RVOVF_CHANGE_LINK = 57, RVEH_REPLACE = 58, RVEH_INSERT = 59,
  RVEH_DELETE = 60, RVEH_INIT_BUCKET = 61, RVEH_CONNECT_BUCKET = 62, RVEH_INC_COUNTER = 63,
  RVEH_INIT_DIR = 64, RVEH_INIT_NEW_DIR_PAGE = 65, RVBT_NDHEADER_UPD = 66, RVBT_NDHEADER_INS = 67,
  RVBT_NDRECORD_UPD = 68, RVBT_NDRECORD_INS = 69, RVBT_NDRECORD_DEL = 70, RVBT_DEL_PGRECORDS = 71,
  RVBT_GET_NEWPAGE = 72, RVBT_COPYPAGE = 73, RVBT_ROOTHEADER_UPD = 74, RVBT_UPDATE_OVFID = 75,
  RVBT_INS_PGRECORDS = 76, RVBT_MVCC_DELETE_OBJECT = 77, RVBT_MVCC_INCREMENTS_UPD = 78, RVBT_MVCC_NOTIFY_VACUUM = 79,
  RVBT_LOG_GLOBAL_UNIQUE_STATS_COMMIT = 80, RVBT_DELETE_OBJECT_PHYSICAL = 81, RVBT_NON_MVCC_INSERT_OBJECT = 82, RVBT_MVCC_INSERT_OBJECT = 83,
  RVBT_MVCC_INSERT_OBJECT_UNQ = 84, RVBT_RECORD_MODIFY_UNDOREDO = 85, RVBT_RECORD_MODIFY_NO_UNDO = 86, RVBT_RECORD_MODIFY_COMPENSATE = 87,
  RVBT_REMOVE_UNIQUE_STATS = 88, RVBT_DELETE_OBJECT_POSTPONE = 89, RVBT_MARK_DELETED = 90, RVBT_MARK_DEALLOC_PAGE = 91,
  RVCT_NEWPAGE = 92, RVCT_INSERT = 93, RVCT_DELETE = 94, RVCT_UPDATE = 95,
  RVCT_NEW_OVFPAGE_LOGICAL_UNDO = 96, RVLOG_OUTSIDE_LOGICAL_REDO_NOOP = 97, RVREPL_DATA_INSERT = 98, RVREPL_DATA_UPDATE = 99,
  RVREPL_DATA_DELETE = 100, RVREPL_STATEMENT = 101, RVREPL_DATA_UPDATE_START = 102, RVREPL_DATA_UPDATE_END = 103,
  RVVAC_COMPLETE = 104, RVVAC_START_JOB = 105, RVVAC_DATA_APPEND_BLOCKS = 106, RVVAC_DATA_INIT_NEW_PAGE = 107,
  RVVAC_DATA_SET_LINK = 108, RVVAC_DATA_FINISHED_BLOCKS = 109, RVVAC_NOTIFY_DROPPED_FILE = 110, RVVAC_DROPPED_FILE_CLEANUP = 111,
  RVVAC_DROPPED_FILE_NEXT_PAGE = 112, RVVAC_DROPPED_FILE_ADD = 113, RVVAC_DROPPED_FILE_REPLACE = 114, RVVAC_HEAP_RECORD_VACUUM = 115,
  RVVAC_HEAP_PAGE_VACUUM = 116, RVVAC_REMOVE_OVF_INSID = 117, RVES_NOTIFY_VACUUM = 118, RVLOC_CLASSNAME_DUMMY = 119,
  RVPGBUF_FLUSH_PAGE = 120, RVPGBUF_NEW_PAGE = 121, RVPGBUF_DEALLOC = 122, RVPGBUF_COMPENSATE_DEALLOC = 123,
  RVBT_ONLINE_INDEX_UNDO_TRAN_INSERT = 124, RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE = 125, RVHF_APPEND_PAGES_TO_HEAP = 126, RVPGBUF_SET_TDE_ALGORITHM = 127,
  RVFL_FHEAD_SET_TDE_ALGORITHM = 128, RV_LAST_LOGID = RVFL_FHEAD_SET_TDE_ALGORITHM, RV_NOT_DEFINED = 999
}
 

Functions

const char * rv_rcvindex_string (LOG_RCVINDEX rcvindex)
 
void rv_check_rvfuns (void)
 

Variables

struct rvfun RV_fun []
 

Macro Definition Documentation

#define RCV_IS_LOGICAL_COMPENSATE_MANUAL (   idx)
Value:

Definition at line 240 of file recovery.h.

Referenced by log_rollback_record(), and log_rv_undo_record().

#define RCV_IS_LOGICAL_LOG (   vpid,
  idx 
)
Value:
(((vpid)->volid == NULL_VOLID) \
|| ((vpid)->pageid == NULL_PAGEID) \
|| (idx) == RVPGBUF_FLUSH_PAGE \
|| (idx) == RVFL_DESTROY \
|| (idx) == RVFL_ALLOC \
|| (idx) == RVFL_DEALLOC \
|| (idx) == RVPGBUF_DEALLOC \
|| (idx) == RVES_NOTIFY_VACUUM \
|| (idx) == RVHF_MARK_DELETED \
#define NULL_PAGEID
#define RCV_IS_BTREE_LOGICAL_LOG(idx)
Definition: recovery.h:228
#define NULL_VOLID

Definition at line 252 of file recovery.h.

Referenced by log_execute_run_postpone(), log_rollback_record(), and log_rv_undo_record().

#define RCV_IS_LOGICAL_RUN_POSTPONE_MANUAL (   idx)
Value:

Definition at line 247 of file recovery.h.

Referenced by log_execute_run_postpone().

#define RCV_IS_NEW_PAGE_INIT (   idx)
Value:

Definition at line 268 of file recovery.h.

Referenced by log_rv_redo_fix_page().

Typedef Documentation

typedef struct log_rcv LOG_RCV

Definition at line 195 of file recovery.h.

Enumeration Type Documentation

Enumerator
RVDK_NEWVOL 
RVDK_FORMAT 
RVDK_INITMAP 
RVDK_CHANGE_CREATION 
RVDK_RESET_BOOT_HFID 
RVDK_LINK_PERM_VOLEXT 
RVDK_EXPAND_VOLUME 
RVDK_RESERVE_SECTORS 
RVDK_UNRESERVE_SECTORS 
RVDK_VOLHEAD_EXPAND 
RVFL_DESTROY 
RVFL_EXPAND 
RVFL_ALLOC 
RVFL_DEALLOC 
RVFL_FHEAD_ALLOC 
RVFL_FHEAD_DEALLOC 
RVFL_FHEAD_SET_LAST_USER_PAGE_FTAB 
RVFL_FHEAD_MARK_DELETE 
RVFL_FHEAD_STICKY_PAGE 
RVFL_USER_PAGE_MARK_DELETE 
RVFL_USER_PAGE_MARK_DELETE_COMPENSATE 
RVFL_FILEDESC_UPD 
RVFL_PARTSECT_ALLOC 
RVFL_PARTSECT_DEALLOC 
RVFL_EXTDATA_SET_NEXT 
RVFL_EXTDATA_ADD 
RVFL_EXTDATA_REMOVE 
RVFL_EXTDATA_MERGE 
RVFL_EXTDATA_UPDATE_ITEM 
RVFL_TRACKER_HEAP_MARK_DELETED 
RVFL_TRACKER_HEAP_REUSE 
RVFL_TRACKER_UNREGISTER 
RVFL_FHEAD_CONVERT_FTAB_TO_USER 
RVHF_CREATE_HEADER 
RVHF_NEWPAGE 
RVHF_STATS 
RVHF_CHAIN 
RVHF_INSERT 
RVHF_DELETE 
RVHF_UPDATE 
RVHF_REUSE_PAGE 
RVHF_REUSE_PAGE_REUSE_OID 
RVHF_MARK_REUSABLE_SLOT 
RVHF_MVCC_INSERT 
RVHF_MVCC_DELETE_REC_HOME 
RVHF_MVCC_DELETE_OVERFLOW 
RVHF_MVCC_DELETE_REC_NEWHOME 
RVHF_MVCC_DELETE_MODIFY_HOME 
RVHF_MVCC_NO_MODIFY_HOME 
RVHF_UPDATE_NOTIFY_VACUUM 
RVHF_INSERT_NEWHOME 
RVHF_MVCC_REDISTRIBUTE 
RVHF_MVCC_UPDATE_OVERFLOW 
RVHF_MARK_DELETED 
RVOVF_NEWPAGE_INSERT 
RVOVF_NEWPAGE_LINK 
RVOVF_PAGE_UPDATE 
RVOVF_CHANGE_LINK 
RVEH_REPLACE 
RVEH_INSERT 
RVEH_DELETE 
RVEH_INIT_BUCKET 
RVEH_CONNECT_BUCKET 
RVEH_INC_COUNTER 
RVEH_INIT_DIR 
RVEH_INIT_NEW_DIR_PAGE 
RVBT_NDHEADER_UPD 
RVBT_NDHEADER_INS 
RVBT_NDRECORD_UPD 
RVBT_NDRECORD_INS 
RVBT_NDRECORD_DEL 
RVBT_DEL_PGRECORDS 
RVBT_GET_NEWPAGE 
RVBT_COPYPAGE 
RVBT_ROOTHEADER_UPD 
RVBT_UPDATE_OVFID 
RVBT_INS_PGRECORDS 
RVBT_MVCC_DELETE_OBJECT 
RVBT_MVCC_INCREMENTS_UPD 
RVBT_MVCC_NOTIFY_VACUUM 
RVBT_LOG_GLOBAL_UNIQUE_STATS_COMMIT 
RVBT_DELETE_OBJECT_PHYSICAL 
RVBT_NON_MVCC_INSERT_OBJECT 
RVBT_MVCC_INSERT_OBJECT 
RVBT_MVCC_INSERT_OBJECT_UNQ 
RVBT_RECORD_MODIFY_UNDOREDO 
RVBT_RECORD_MODIFY_NO_UNDO 
RVBT_RECORD_MODIFY_COMPENSATE 
RVBT_REMOVE_UNIQUE_STATS 
RVBT_DELETE_OBJECT_POSTPONE 
RVBT_MARK_DELETED 
RVBT_MARK_DEALLOC_PAGE 
RVCT_NEWPAGE 
RVCT_INSERT 
RVCT_DELETE 
RVCT_UPDATE 
RVCT_NEW_OVFPAGE_LOGICAL_UNDO 
RVLOG_OUTSIDE_LOGICAL_REDO_NOOP 
RVREPL_DATA_INSERT 
RVREPL_DATA_UPDATE 
RVREPL_DATA_DELETE 
RVREPL_STATEMENT 
RVREPL_DATA_UPDATE_START 
RVREPL_DATA_UPDATE_END 
RVVAC_COMPLETE 
RVVAC_START_JOB 
RVVAC_DATA_APPEND_BLOCKS 
RVVAC_DATA_INIT_NEW_PAGE 
RVVAC_DATA_SET_LINK 
RVVAC_DATA_FINISHED_BLOCKS 
RVVAC_NOTIFY_DROPPED_FILE 
RVVAC_DROPPED_FILE_CLEANUP 
RVVAC_DROPPED_FILE_NEXT_PAGE 
RVVAC_DROPPED_FILE_ADD 
RVVAC_DROPPED_FILE_REPLACE 
RVVAC_HEAP_RECORD_VACUUM 
RVVAC_HEAP_PAGE_VACUUM 
RVVAC_REMOVE_OVF_INSID 
RVES_NOTIFY_VACUUM 
RVLOC_CLASSNAME_DUMMY 
RVPGBUF_FLUSH_PAGE 
RVPGBUF_NEW_PAGE 
RVPGBUF_DEALLOC 
RVPGBUF_COMPENSATE_DEALLOC 
RVBT_ONLINE_INDEX_UNDO_TRAN_INSERT 
RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE 
RVHF_APPEND_PAGES_TO_HEAP 
RVPGBUF_SET_TDE_ALGORITHM 
RVFL_FHEAD_SET_TDE_ALGORITHM 
RV_LAST_LOGID 
RV_NOT_DEFINED 

Definition at line 36 of file recovery.h.

Function Documentation

void rv_check_rvfuns ( void  )

Definition at line 861 of file recovery.c.

References ARG_FILE_LINE, assert, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_log_debug, er_set(), i, and rvfun::recv_index.

Referenced by log_initialize_internal().

Here is the caller graph for this function:

Variable Documentation