File log_recovery.c¶
FileList > cubrid > src > transaction > log_recovery.c
Go to the source code of this file
#include "log_recovery.h"#include "boot_sr.h"#include "locator_sr.h"#include "log_impl.h"#include "log_lsa.hpp"#include "log_manager.h"#include "log_reader.hpp"#include "log_recovery_redo_perf.hpp"#include "log_recovery_redo_parallel.hpp"#include "log_system_tran.hpp"#include "log_volids.hpp"#include "message_catalog.h"#include "msgcat_set_log.hpp"#include "object_representation.h"#include "page_buffer.h"#include "porting_inline.hpp"#include "recovery.h"#include "slotted_page.h"#include "system_parameter.h"#include "thread_manager.hpp"#include "memory_wrapper.hpp"
Public Functions¶
Public Static Functions¶
Macros¶
| Type | Name |
|---|---|
| define | BUILD_RECORD_INFO (TEMPLATE_TYPE) /* multi line expression */ |
| define | INVOKE_REDO_RECORD (TEMPLATE_TYPE, record_info) /* multi line expression */ |
Public Functions Documentation¶
function REGISTER_WORKERPOOL¶
REGISTER_WORKERPOOL (
parallel_recovery_redo,
() { return log_recovery_get_redo_parallel_count ();}
)
function log_recovery¶
function log_rv_fix_page_and_check_redo_is_needed¶
bool log_rv_fix_page_and_check_redo_is_needed (
THREAD_ENTRY * thread_p,
const VPID & page_vpid,
log_rcv & rcv,
LOG_RCVINDEX rcvindex,
const log_lsa & rcv_lsa,
const LOG_LSA & end_redo_lsa
)
function log_rv_get_unzip_and_diff_redo_log_data¶
int log_rv_get_unzip_and_diff_redo_log_data (
THREAD_ENTRY * thread_p,
log_reader & log_pgptr_reader,
LOG_RCV * rcv,
int undo_length,
const char * undo_data,
LOG_ZIP & redo_unzip
)
function log_rv_get_unzip_log_data¶
int log_rv_get_unzip_log_data (
THREAD_ENTRY * thread_p,
int length,
log_reader & log_pgptr_reader,
LOG_ZIP * unzip_ptr,
bool & is_zip
)
function log_rv_need_sync_redo¶
function log_rv_pack_redo_record_changes¶
char * log_rv_pack_redo_record_changes (
char * ptr,
int offset_to_data,
int old_data_size,
int new_data_size,
char * new_data
)
function log_rv_pack_undo_record_changes¶
char * log_rv_pack_undo_record_changes (
char * ptr,
int offset_to_data,
int old_data_size,
int new_data_size,
char * old_data
)
function log_rv_redo_record¶
void log_rv_redo_record (
THREAD_ENTRY * thread_p,
log_reader & log_pgptr_reader,
int (*)( THREAD_ENTRY *thread_p, LOG_RCV *) redofun,
LOG_RCV * rcv,
const LOG_LSA * rcv_lsa_ptr,
int undo_length,
const char * undo_data,
LOG_ZIP & redo_unzip
)
function log_rv_redo_record_modify¶
function log_rv_undo_record_modify¶
function log_rv_undoredo_record_partial_changes¶
int log_rv_undoredo_record_partial_changes (
THREAD_ENTRY * thread_p,
char * rcv_data,
int rcv_data_length,
RECDES * record,
bool is_undo
)
function log_startof_nxrec¶
Public Static Functions Documentation¶
function log_cnt_pages_containing_lsa¶
function log_find_unilaterally_largest_undo_lsa¶
static void log_find_unilaterally_largest_undo_lsa (
THREAD_ENTRY * thread_p,
LOG_LSA & max_undo_lsa
)
function log_is_page_of_record_broken¶
static bool log_is_page_of_record_broken (
THREAD_ENTRY * thread_p,
const LOG_LSA * log_lsa,
const LOG_RECORD_HEADER * log_rec_header
)
function log_recovery_abort_all_atomic_sysops¶
function log_recovery_abort_atomic_sysop¶
function log_recovery_abort_interrupted_sysop¶
static void log_recovery_abort_interrupted_sysop (
THREAD_ENTRY * thread_p,
LOG_TDES * tdes,
const LOG_LSA * postpone_start_lsa
)
function log_recovery_analysis¶
static void log_recovery_analysis (
THREAD_ENTRY * thread_p,
LOG_LSA * start_lsa,
LOG_LSA * start_redolsa,
LOG_LSA * end_redo_lsa,
bool ismedia_crash,
time_t * stopat,
bool * did_incom_recovery,
INT64 * num_redo_log_records
)
function log_recovery_find_first_postpone¶
static int log_recovery_find_first_postpone (
THREAD_ENTRY * thread_p,
LOG_LSA * ret_lsa,
LOG_LSA * start_postpone_lsa,
LOG_TDES * tdes
)
function log_recovery_finish_all_postpone¶
function log_recovery_finish_postpone¶
function log_recovery_finish_sysop_postpone¶
function log_recovery_get_redo_parallel_count¶
function log_recovery_needs_skip_logical_redo¶
static bool log_recovery_needs_skip_logical_redo (
THREAD_ENTRY * thread_p,
TRANID tran_id,
LOG_RECTYPE log_rtype,
LOG_RCVINDEX rcv_index,
const LOG_LSA * lsa
)
function log_recovery_notpartof_archives¶
static void log_recovery_notpartof_archives (
THREAD_ENTRY * thread_p,
int start_arv_num,
const char * info_reason
)
function log_recovery_notpartof_volumes¶
function log_recovery_redo¶
static void log_recovery_redo (
THREAD_ENTRY * thread_p,
const LOG_LSA * start_redolsa,
const LOG_LSA * end_redo_lsa
)
function log_recovery_resetlog¶
static void log_recovery_resetlog (
THREAD_ENTRY * thread_p,
const LOG_LSA * new_append_lsa,
const LOG_LSA * new_prev_lsa
)
function log_recovery_undo¶
function log_rv_analysis_2pc_abort_decision¶
static int log_rv_analysis_2pc_abort_decision (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa
)
function log_rv_analysis_2pc_abort_inform_particps¶
static int log_rv_analysis_2pc_abort_inform_particps (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa
)
function log_rv_analysis_2pc_commit_decision¶
static int log_rv_analysis_2pc_commit_decision (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa
)
function log_rv_analysis_2pc_commit_inform_particps¶
static int log_rv_analysis_2pc_commit_inform_particps (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa
)
function log_rv_analysis_2pc_prepare¶
function log_rv_analysis_2pc_recv_ack¶
function log_rv_analysis_2pc_start¶
function log_rv_analysis_atomic_sysop_start¶
static int log_rv_analysis_atomic_sysop_start (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa
)
function log_rv_analysis_commit_with_postpone¶
static int log_rv_analysis_commit_with_postpone (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p,
LOG_LSA * prev_lsa,
bool is_media_crash,
time_t * stop_at,
bool * did_incom_recovery
)
function log_rv_analysis_commit_with_postpone_obsolete¶
static int log_rv_analysis_commit_with_postpone_obsolete (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p
)
function log_rv_analysis_compensate¶
static int log_rv_analysis_compensate (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p
)
function log_rv_analysis_complete¶
static int log_rv_analysis_complete (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p,
LOG_LSA * prev_lsa,
bool is_media_crash,
time_t * stop_at,
bool * did_incom_recovery
)
function log_rv_analysis_dummy_head_postpone¶
static int log_rv_analysis_dummy_head_postpone (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa
)
function log_rv_analysis_end_checkpoint¶
static int log_rv_analysis_end_checkpoint (
THREAD_ENTRY * thread_p,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p,
LOG_LSA * check_point,
LOG_LSA * start_redo_lsa,
bool * may_use_checkpoint,
bool * may_need_synch_checkpoint_2pc
)
function log_rv_analysis_log_end¶
function log_rv_analysis_postpone¶
function log_rv_analysis_record¶
static void log_rv_analysis_record (
THREAD_ENTRY * thread_p,
LOG_RECTYPE log_type,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p,
LOG_LSA * check_point,
LOG_LSA * prev_lsa,
LOG_LSA * start_lsa,
LOG_LSA * start_redo_lsa,
bool is_media_crash,
time_t * stop_at,
bool * did_incom_recovery,
bool * may_use_checkpoint,
bool * may_need_synch_checkpoint_2pc
)
function log_rv_analysis_run_postpone¶
static int log_rv_analysis_run_postpone (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p,
LOG_LSA * check_point
)
function log_rv_analysis_save_point¶
function log_rv_analysis_start_checkpoint¶
static int log_rv_analysis_start_checkpoint (
LOG_LSA * log_lsa,
LOG_LSA * start_lsa,
bool * may_use_checkpoint
)
function log_rv_analysis_sysop_end¶
static int log_rv_analysis_sysop_end (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p
)
function log_rv_analysis_sysop_start_postpone¶
static int log_rv_analysis_sysop_start_postpone (
THREAD_ENTRY * thread_p,
int tran_id,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p
)
function log_rv_analysis_undo_redo¶
function log_rv_end_simulation¶
function log_rv_find_checkpoint¶
function log_rv_record_modify_internal¶
function log_rv_redo_fix_page¶
function log_rv_simulate_runtime_worker¶
function log_rv_undo_record¶
static void log_rv_undo_record (
THREAD_ENTRY * thread_p,
LOG_LSA * log_lsa,
LOG_PAGE * log_page_p,
LOG_RCVINDEX rcvindex,
const VPID * rcv_vpid,
LOG_RCV * rcv,
const LOG_LSA * rcv_lsa_ptr,
LOG_TDES * tdes,
LOG_ZIP * undo_unzip_ptr
)
function log_rv_undoredo_partial_changes_recursive¶
static int log_rv_undoredo_partial_changes_recursive (
THREAD_ENTRY * thread_p,
OR_BUF * rcv_buf,
RECDES * record,
bool is_undo
)
function log_unformat_ahead_volumes¶
static bool log_unformat_ahead_volumes (
THREAD_ENTRY * thread_p,
VOLID volid,
VOLID * start_volid
)
Macro Definition Documentation¶
define BUILD_RECORD_INFO¶
define INVOKE_REDO_RECORD¶
The documentation for this class was generated from the following file cubrid/src/transaction/log_recovery.c