CUBRID Engine  latest
log_manager.h File Reference
#include "config.h"
#include "disk_manager.h"
#include "error_manager.h"
#include "file_io.h"
#include "log_comm.h"
#include "log_impl.h"
#include "log_lsa.hpp"
#include "recovery.h"
#include "storage_common.h"
#include "thread_compat.hpp"
#include <time.h>
Include dependency graph for log_manager.h:

Go to the source code of this file.

Classes

struct  log_topop_range
 

Macros

#define LOG_TOPOP_STACK_INIT_SIZE   1024
 
#define LOG_IS_SYSTEM_OP_STARTED(tdes)   ((tdes)->topops.last >= 0)
 

Typedefs

typedef struct log_topop_range LOG_TOPOP_RANGE
 

Functions

const char * log_to_string (LOG_RECTYPE type)
 
bool log_is_in_crash_recovery (void)
 
bool log_is_in_crash_recovery_and_not_yet_completes_redo (void)
 
LOG_LSAlog_get_restart_lsa (void)
 
LOG_LSAlog_get_crash_point_lsa (void)
 
LOG_LSAlog_get_append_lsa (void)
 
LOG_LSAlog_get_eof_lsa (void)
 
bool log_is_logged_since_restart (const LOG_LSA *lsa_ptr)
 
int log_get_db_start_parameters (INT64 *db_creation, LOG_LSA *chkpt_lsa)
 
int log_get_num_pages_for_creation (int db_npages)
 
int log_create (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname, DKNPAGES npages)
 
void log_initialize (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname, int ismedia_crash, bo_restart_arg *r_args)
 
void log_abort_all_active_transaction (THREAD_ENTRY *thread_p)
 
void log_final (THREAD_ENTRY *thread_p)
 
void log_stop_ha_delay_registration ()
 
void log_restart_emergency (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname)
 
void log_append_undoredo_data (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int undo_length, int redo_length, const void *undo_data, const void *redo_data)
 
void log_append_undoredo_data2 (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, PAGE_PTR pgptr, PGLENGTH offset, int undo_length, int redo_length, const void *undo_data, const void *redo_data)
 
void log_append_undo_data (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int length, const void *data)
 
void log_append_undo_data2 (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, PAGE_PTR pgptr, PGLENGTH offset, int length, const void *data)
 
void log_append_redo_data (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int length, const void *data)
 
void log_append_redo_data2 (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, PAGE_PTR pgptr, PGLENGTH offset, int length, const void *data)
 
void log_append_undoredo_crumbs (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int num_undo_crumbs, int num_redo_crumbs, const LOG_CRUMB *undo_crumbs, const LOG_CRUMB *redo_crumbs)
 
void log_append_undo_crumbs (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int num_crumbs, const LOG_CRUMB *crumbs)
 
void log_append_redo_crumbs (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int num_crumbs, const LOG_CRUMB *crumbs)
 
void log_append_undoredo_recdes (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, const RECDES *undo_recdes, const RECDES *redo_recdes)
 
void log_append_undoredo_recdes2 (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, PAGE_PTR pgptr, PGLENGTH offset, const RECDES *undo_recdes, const RECDES *redo_recdes)
 
void log_append_undo_recdes (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, const RECDES *recdes)
 
void log_append_undo_recdes2 (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, PAGE_PTR pgptr, PGLENGTH offset, const RECDES *recdes)
 
void log_append_redo_recdes (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, const RECDES *recdes)
 
void log_append_redo_recdes2 (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, PAGE_PTR pgptr, PGLENGTH offset, const RECDES *recdes)
 
void log_append_dboutside_redo (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, int length, const void *data)
 
void log_append_postpone (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, int length, const void *data)
 
void log_append_compensate (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VPID *vpid, PGLENGTH offset, PAGE_PTR pgptr, int length, const void *data, LOG_TDES *tdes)
 
void log_append_compensate_with_undo_nxlsa (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VPID *vpid, PGLENGTH offset, PAGE_PTR pgptr, int length, const void *data, LOG_TDES *tdes, const LOG_LSA *undo_nxlsa)
 
void log_append_ha_server_state (THREAD_ENTRY *thread_p, int state)
 
void log_append_empty_record (THREAD_ENTRY *thread_p, LOG_RECTYPE logrec_type, LOG_DATA_ADDR *addr)
 
void log_skip_logging_set_lsa (THREAD_ENTRY *thread_p, LOG_DATA_ADDR *addr)
 
void log_skip_logging (THREAD_ENTRY *thread_p, LOG_DATA_ADDR *addr)
 
LOG_LSAlog_append_savepoint (THREAD_ENTRY *thread_p, const char *savept_name)
 
bool log_check_system_op_is_started (THREAD_ENTRY *thread_p)
 
LOG_LSAlog_get_parent_lsa_system_op (THREAD_ENTRY *thread_p, LOG_LSA *parent_lsa)
 
bool log_is_tran_in_system_op (THREAD_ENTRY *thread_p)
 
int log_add_to_modified_class_list (THREAD_ENTRY *thread_p, const char *classname, const OID *class_oid)
 
bool log_is_class_being_modified (THREAD_ENTRY *thread_p, const OID *class_oid)
 
TRAN_STATE log_commit_local (THREAD_ENTRY *thread_p, LOG_TDES *tdes, bool retain_lock, bool is_local_tran)
 
TRAN_STATE log_abort_local (THREAD_ENTRY *thread_p, LOG_TDES *tdes, bool is_local_tran)
 
TRAN_STATE log_commit (THREAD_ENTRY *thread_p, int tran_index, bool retain_lock)
 
TRAN_STATE log_abort (THREAD_ENTRY *thread_p, int tran_index)
 
TRAN_STATE log_abort_partial (THREAD_ENTRY *thread_p, const char *savepoint_name, LOG_LSA *savept_lsa)
 
TRAN_STATE log_complete (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_RECTYPE iscommitted, LOG_GETNEWTRID get_newtrid, LOG_WRITE_EOT_LOG wrote_eot_log)
 
TRAN_STATE log_complete_for_2pc (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_RECTYPE iscommitted, LOG_GETNEWTRID get_newtrid)
 
void log_do_postpone (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *start_posplsa)
 
int log_execute_run_postpone (THREAD_ENTRY *thread_p, LOG_LSA *log_lsa, LOG_REC_REDO *redo, char *redo_rcv_data)
 
int log_recreate (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname, DKNPAGES log_npages, FILE *outfp)
 
PGLENGTH log_get_io_page_size (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname)
 
int log_get_charset_from_header_page (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname)
 
int log_rv_copy_char (THREAD_ENTRY *thread_p, LOG_RCV *rcv)
 
void log_rv_dump_char (FILE *fp, int length, void *data)
 
void log_rv_dump_hexa (FILE *fp, int length, void *data)
 
int log_rv_outside_noop_redo (THREAD_ENTRY *thread_p, LOG_RCV *rcv)
 
void log_append_run_postpone (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_DATA_ADDR *addr, const VPID *rcv_vpid, int length, const void *data, const LOG_LSA *ref_lsa)
 
int log_get_next_nested_top (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *start_postpone_lsa, LOG_TOPOP_RANGE **out_nxtop_range_stack)
 
void log_append_repl_info (THREAD_ENTRY *thread_p, LOG_TDES *tdes, bool is_commit)
 
void xlog_dump (THREAD_ENTRY *thread_p, FILE *out_fp, int isforward, LOG_PAGEID start_logpageid, DKNPAGES dump_npages, TRANID desired_tranid)
 
int log_active_log_header_start_scan (THREAD_ENTRY *thread_p, int show_type, DB_VALUE **arg_values, int arg_cnt, void **ptr)
 
SCAN_CODE log_active_log_header_next_scan (THREAD_ENTRY *thread_p, int cursor, DB_VALUE **out_values, int out_cnt, void *ptr)
 
int log_active_log_header_end_scan (THREAD_ENTRY *thread_p, void **ptr)
 
int log_archive_log_header_start_scan (THREAD_ENTRY *thread_p, int show_type, DB_VALUE **arg_values, int arg_cnt, void **ptr)
 
SCAN_CODE log_archive_log_header_next_scan (THREAD_ENTRY *thread_p, int cursor, DB_VALUE **out_values, int out_cnt, void *ptr)
 
int log_archive_log_header_end_scan (THREAD_ENTRY *thread_p, void **ptr)
 
SCAN_CODE log_get_undo_record (THREAD_ENTRY *thread_p, LOG_PAGE *log_page_p, LOG_LSA process_lsa, RECDES *recdes)
 
void log_sysop_start (THREAD_ENTRY *thread_p)
 
void log_sysop_start_atomic (THREAD_ENTRY *thread_p)
 
void log_sysop_abort (THREAD_ENTRY *thread_p)
 
void log_sysop_attach_to_outer (THREAD_ENTRY *thread_p)
 
void log_sysop_commit (THREAD_ENTRY *thread_p)
 
void log_sysop_end_logical_undo (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const VFID *vfid, int undo_size, const char *undo_data)
 
void log_sysop_end_logical_compensate (THREAD_ENTRY *thread_p, LOG_LSA *undo_nxlsa)
 
void log_sysop_end_logical_run_postpone (THREAD_ENTRY *thread_p, LOG_LSA *posp_lsa)
 
void log_sysop_end_recovery_postpone (THREAD_ENTRY *thread_p, LOG_REC_SYSOP_END *log_record, int data_size, const char *data)
 
int log_read_sysop_start_postpone (THREAD_ENTRY *thread_p, LOG_LSA *log_lsa, LOG_PAGE *log_page, bool with_undo_data, LOG_REC_SYSOP_START_POSTPONE *sysop_start_postpone, int *undo_buffer_size, char **undo_buffer, int *undo_size, char **undo_data)
 
const char * log_sysop_end_type_string (LOG_SYSOP_END_TYPE end_type)
 
INT64 log_get_clock_msec (void)
 
void log_wakeup_remove_log_archive_daemon ()
 
void log_wakeup_checkpoint_daemon ()
 
void log_wakeup_log_flush_daemon ()
 
bool log_is_log_flush_daemon_available ()
 
void log_update_global_btid_online_index_stats (THREAD_ENTRY *thread_p)
 
void LOG_CS_ENTER (THREAD_ENTRY *thread_p)
 
void LOG_CS_ENTER_READ_MODE (THREAD_ENTRY *thread_p)
 
void LOG_CS_EXIT (THREAD_ENTRY *thread_p)
 
void LOG_CS_DEMOTE (THREAD_ENTRY *thread_p)
 
void LOG_CS_PROMOTE (THREAD_ENTRY *thread_p)
 
bool LOG_CS_OWN (THREAD_ENTRY *thread_p)
 
bool LOG_CS_OWN_WRITE_MODE (THREAD_ENTRY *thread_p)
 

Macro Definition Documentation

#define LOG_IS_SYSTEM_OP_STARTED (   tdes)    ((tdes)->topops.last >= 0)

Definition at line 59 of file log_manager.h.

Referenced by log_check_system_op_is_started().

#define LOG_TOPOP_STACK_INIT_SIZE   1024

Typedef Documentation

Definition at line 52 of file log_manager.h.

Function Documentation

int log_active_log_header_end_scan ( THREAD_ENTRY thread_p,
void **  ptr 
)

Definition at line 9154 of file log_manager.c.

References db_private_free_and_init, NO_ERROR, and NULL.

Referenced by showstmt_scan_init().

Here is the caller graph for this function:

SCAN_CODE log_active_log_header_next_scan ( THREAD_ENTRY thread_p,
int  cursor,
DB_VALUE **  out_values,
int  out_cnt,
void *  ptr 
)

Definition at line 8913 of file log_manager.c.

References log_header::append_lsa, assert, log_header::avg_nlocks, log_header::avg_ntrans, log_header::bkinfo, log_header::bkup_level0_lsa, log_header::bkup_level1_lsa, log_header::bkup_level2_lsa, log_header::chkpt_lsa, css_ha_server_state_string(), log_header::db_charset, log_header::db_compatibility, log_header::db_creation, log_header::db_iopagesize, db_localdatetime(), log_header::db_logpagesize, db_make_bigint(), db_make_datetime(), db_make_int(), db_make_null(), db_make_string(), db_make_string_copy(), log_header::db_release, log_header::eof_lsa, error(), FILEIO_BACKUP_BIG_INCREMENT_LEVEL, FILEIO_BACKUP_FULL_LEVEL, FILEIO_BACKUP_SMALL_INCREMENT_LEVEL, log_header::fpageid, log_header::ha_file_status, log_header::ha_server_state, log_header::has_logging_been_skipped, actve_log_header_scan_context::header, log_header::is_shutdown, log_header::last_arv_num_for_syscrashes, log_header::last_deleted_arv_num, LOG_DBLOG_ACTIVE_VOLID, logpb_backup_level_info_to_string(), logwr_log_ha_filestat_to_string(), lsa_to_string(), log_header::magic, log_header::mvcc_next_id, log_header::mvcc_op_log_lsa, MVCCID_NULL, log_header::newest_block_mvccid, log_header::next_trid, NO_ERROR, log_header::npages, log_header::nxarv_num, log_header::nxarv_pageid, log_header::nxarv_phy_pageid, log_header::oldest_visible_mvccid, log_header::prefix_name, S_END, S_ERROR, S_SUCCESS, and log_header::smallest_lsa_at_last_chkpt.

Referenced by showstmt_scan_init().

Here is the caller graph for this function:

int log_add_to_modified_class_list ( THREAD_ENTRY thread_p,
const char *  classname,
const OID class_oid 
)
void log_append_compensate ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
const VPID vpid,
PGLENGTH  offset,
PAGE_PTR  pgptr,
int  length,
const void *  data,
LOG_TDES tdes 
)

Definition at line 2964 of file log_manager.c.

References log_append_compensate_internal(), and NULL.

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

Here is the caller graph for this function:

void log_append_compensate_with_undo_nxlsa ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
const VPID vpid,
PGLENGTH  offset,
PAGE_PTR  pgptr,
int  length,
const void *  data,
LOG_TDES tdes,
const LOG_LSA undo_nxlsa 
)
void log_append_empty_record ( THREAD_ENTRY thread_p,
LOG_RECTYPE  logrec_type,
LOG_DATA_ADDR addr 
)
void log_append_postpone ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_DATA_ADDR addr,
int  length,
const void *  data 
)
void log_append_redo_recdes ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_DATA_ADDR addr,
const RECDES recdes 
)

Definition at line 2573 of file log_manager.c.

References log_append_redo_recdes2(), log_data_addr::offset, log_data_addr::pgptr, and log_data_addr::vfid.

Referenced by serial_update_serial_object().

Here is the caller graph for this function:

void log_append_repl_info ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
bool  is_commit 
)

Definition at line 4564 of file log_manager.c.

References log_append_repl_info_internal(), and LOG_PRIOR_LSA_WITHOUT_LOCK.

Referenced by log_sysop_commit_internal(), and xchksum_insert_repl_log_and_demote_table_lock().

Here is the caller graph for this function:

void log_append_undo_data ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_DATA_ADDR addr,
int  length,
const void *  data 
)
void log_append_undo_recdes ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_DATA_ADDR addr,
const RECDES recdes 
)

Definition at line 2532 of file log_manager.c.

References log_append_undo_recdes2(), log_data_addr::offset, log_data_addr::pgptr, and log_data_addr::vfid.

Referenced by heap_log_update_physical(), and heap_mvcc_log_home_change_on_delete().

Here is the caller graph for this function:

void log_append_undoredo_crumbs ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_DATA_ADDR addr,
int  num_undo_crumbs,
int  num_redo_crumbs,
const LOG_CRUMB undo_crumbs,
const LOG_CRUMB redo_crumbs 
)
void log_append_undoredo_recdes ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_DATA_ADDR addr,
const RECDES undo_recdes,
const RECDES redo_recdes 
)
int log_archive_log_header_end_scan ( THREAD_ENTRY thread_p,
void **  ptr 
)

Definition at line 9316 of file log_manager.c.

References db_private_free_and_init, NO_ERROR, and NULL.

Referenced by showstmt_scan_init().

Here is the caller graph for this function:

int log_archive_log_header_start_scan ( THREAD_ENTRY thread_p,
int  show_type,
DB_VALUE **  arg_values,
int  arg_cnt,
void **  ptr 
)
TRAN_STATE log_complete_for_2pc ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_RECTYPE  iscommitted,
LOG_GETNEWTRID  get_newtrid 
)

Definition at line 5474 of file log_manager.c.

References log_2pc_coordinator::ack_received, log_header::append_lsa, ARG_FILE_LINE, assert, log_tdes::coord, CTIME_MAX, log_global::hdr, i, log_tdes::isloose_end, log_topops_stack::last, lock_unlock_all(), LOG_2PC_ABORT_INFORM_PARTICPS, LOG_2PC_COMMIT_INFORM_PARTICPS, LOG_ABORT, log_append_abort_log(), log_append_commit_log(), log_append_repl_info_and_commit_log(), log_change_tran_as_completed(), LOG_CHECK_LOG_APPLIER, LOG_COMMIT, log_does_allow_replication(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_Gl, LOG_ISCHECKPOINT_TIME, LOG_ISRESTARTED, LOG_NEED_NEWTRID, LOG_SET_CURRENT_TRAN_INDEX, log_wakeup_checkpoint_daemon(), logpb_checkpoint(), logpb_fatal_error(), logpb_flush_pages(), logtb_assign_tran_index(), logtb_clear_tdes(), logtb_free_tran_index(), logtb_get_new_tran_id(), LSA_ISNULL(), log_topops_stack::max, MSGCAT_CATALOG_CUBRID, MSGCAT_LOG_FINISH_ABORT, MSGCAT_LOG_FINISH_COMMIT, msgcat_message(), MSGCAT_SET_LOG, log_global::mvcc_table, NULL, NULL_TRAN_INDEX, NULL_TRANID, trantable::num_coord_loose_end_indices, log_2pc_coordinator::num_particps, log_lsa::offset, log_lsa::pageid, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), prm_get_bool_value(), prm_get_integer_value(), PRM_ID_LK_TIMEOUT_SECS, PRM_ID_LOG_TRACE_DEBUG, mvcctable::reset_transaction_lowest_active(), RV_NOT_DEFINED, log_topops_stack::stack, log_tdes::state, log_tdes::tail_lsa, log_tdes::topops, TR_TABLE_CS_ENTER, TR_TABLE_CS_EXIT, log_tdes::tran_index, TRAN_RECOVERY, TRAN_SERIALIZABLE, TRAN_UNACTIVE_ABORTED, TRAN_UNACTIVE_ABORTED_INFORMING_PARTICIPANTS, TRAN_UNACTIVE_COMMITTED, TRAN_UNACTIVE_COMMITTED_INFORMING_PARTICIPANTS, log_global::trantable, and log_tdes::trid.

Referenced by log_2pc_commit_second_phase(), log_2pc_recovery_abort_decision(), log_2pc_recovery_aborted_informing_participants(), log_2pc_recovery_commit_decision(), and log_2pc_recovery_committed_informing_participants().

Here is the caller graph for this function:

int log_create ( THREAD_ENTRY thread_p,
const char *  db_fullname,
const char *  logpath,
const char *  prefix_logname,
DKNPAGES  npages 
)

Definition at line 749 of file log_manager.c.

References ER_FAILED, log_create_internal(), NO_ERROR, and NULL.

Referenced by boot_create_all_volumes().

Here is the caller graph for this function:

void LOG_CS_DEMOTE ( THREAD_ENTRY thread_p)

Definition at line 10255 of file log_manager.c.

References assert, csect_demote(), CSECT_LOG, INF_WAIT, and NO_ERROR.

Referenced by logpb_flush_all_append_pages().

Here is the caller graph for this function:

void LOG_CS_ENTER_READ_MODE ( THREAD_ENTRY thread_p)
void LOG_CS_PROMOTE ( THREAD_ENTRY thread_p)

Definition at line 10266 of file log_manager.c.

References assert, CSECT_LOG, csect_promote(), INF_WAIT, and NO_ERROR.

Referenced by logpb_flush_all_append_pages().

Here is the caller graph for this function:

void log_do_postpone ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA start_posplsa 
)

Definition at line 7908 of file log_manager.c.

References ARG_FILE_LINE, assert, log_topop_range::end_lsa, er_log_debug, FI_TEST_ARG, FI_TEST_LOG_MANAGER_RANDOM_EXIT_AT_RUN_POSTPONE, log_rec_header::forw_lsa, free_and_init, log_page::hdr, IO_MAX_PAGE_SIZE, LOG_2PC_ABORT_DECISION, LOG_2PC_ABORT_INFORM_PARTICPS, LOG_2PC_COMMIT_DECISION, LOG_2PC_COMMIT_INFORM_PARTICPS, LOG_2PC_PREPARE, LOG_2PC_RECV_ACK, LOG_2PC_START, LOG_ABORT, LOG_COMMIT, LOG_COMMIT_WITH_POSTPONE, LOG_COMPENSATE, LOG_CS_FORCE_USE, LOG_DBEXTERN_REDO_DATA, LOG_DIFF_UNDOREDO_DATA, LOG_DUMMY_CRASH_RECOVERY, LOG_DUMMY_GENERIC, LOG_DUMMY_HA_SERVER_STATE, LOG_DUMMY_HEAD_POSTPONE, LOG_DUMMY_OVF_RECORD, LOG_END_CHKPT, LOG_END_OF_LOG, LOG_GET_LOG_RECORD_HEADER, log_get_next_nested_top(), LOG_LARGER_LOGREC_TYPE, LOG_MVCC_DIFF_UNDOREDO_DATA, LOG_MVCC_REDO_DATA, LOG_MVCC_UNDO_DATA, LOG_MVCC_UNDOREDO_DATA, LOG_PAGESIZE, LOG_POSTPONE, LOG_REDO_DATA, LOG_REPLICATION_DATA, LOG_REPLICATION_STATEMENT, LOG_RUN_POSTPONE, log_run_postpone_op(), LOG_SAVEPOINT, LOG_SMALLER_LOGREC_TYPE, LOG_START_CHKPT, LOG_SYSOP_ATOMIC_START, LOG_SYSOP_END, LOG_SYSOP_START_POSTPONE, log_to_string(), LOG_TOPOP_STACK_INIT_SIZE, LOG_UNDO_DATA, LOG_UNDOREDO_DATA, LOG_WILL_COMMIT, logpb_fatal_error(), logpb_fetch_page(), logpb_is_page_in_archive(), LSA_COPY(), LSA_EQ(), LSA_GT(), LSA_ISNULL(), LSA_LT(), LSA_SET_NULL(), MAX_ALIGNMENT, NO_ERROR, NULL, NULL_OFFSET, NULL_PAGEID, log_lsa::offset, log_hdrpage::offset, log_lsa::pageid, PTR_ALIGN, log_topop_range::start_lsa, log_tdes::state, log_tdes::tail_lsa, TRAN_UNACTIVE_COMMITTED_WITH_POSTPONE, TRAN_UNACTIVE_TOPOPE_COMMITTED_WITH_POSTPONE, TRAN_UNACTIVE_WILL_COMMIT, log_rec_header::trid, log_tdes::trid, and log_rec_header::type.

Referenced by log_recovery_finish_postpone(), log_recovery_finish_sysop_postpone(), log_sysop_do_postpone(), and log_tran_do_postpone().

Here is the caller graph for this function:

LOG_LSA* log_get_append_lsa ( void  )

Definition at line 559 of file log_manager.c.

References log_header::append_lsa, log_global::hdr, and log_Gl.

Referenced by heap_get_visible_version_from_log(), log_get_undo_record(), and xrepl_log_get_append_lsa().

Here is the caller graph for this function:

int log_get_charset_from_header_page ( THREAD_ENTRY thread_p,
const char *  db_fullname,
const char *  logpath,
const char *  prefix_logname 
)
INT64 log_get_clock_msec ( void  )

Definition at line 10119 of file log_manager.c.

References NULL.

Referenced by logpb_flush_all_append_pages(), logtb_is_interrupted_tdes(), logwr_log_ha_filestat_to_string(), qmgr_get_temp_file_membuf_pages(), and xlogtb_get_pack_tran_table().

Here is the caller graph for this function:

LOG_LSA* log_get_crash_point_lsa ( void  )

Definition at line 537 of file log_manager.c.

References ARG_FILE_LINE, er_log_debug, log_Gl, LOG_RECOVERY_ANALYSIS_PHASE, log_global::rcv_phase, and log_global::rcv_phase_lsa.

Referenced by log_append_postpone().

Here is the caller graph for this function:

int log_get_db_start_parameters ( INT64 *  db_creation,
LOG_LSA chkpt_lsa 
)

Definition at line 668 of file log_manager.c.

References log_header::chkpt_lsa, log_header::db_creation, log_global::hdr, log_Gl, NO_ERROR, pthread_mutex_lock, pthread_mutex_unlock, and rv.

Referenced by disk_format().

Here is the caller graph for this function:

LOG_LSA* log_get_eof_lsa ( void  )

Definition at line 572 of file log_manager.c.

References log_header::eof_lsa, log_global::hdr, and log_Gl.

Referenced by css_process_get_eof_request().

Here is the caller graph for this function:

int log_get_num_pages_for_creation ( int  db_npages)

Definition at line 696 of file log_manager.c.

References fileio_get_number_of_volume_pages(), fileio_get_volume_descriptor(), IO_PAGESIZE, LOG_DBFIRST_VOLID, and NULL_VOLDES.

Referenced by log_initialize_internal(), and log_recovery_resetlog().

Here is the caller graph for this function:

LOG_LSA* log_get_restart_lsa ( void  )

Definition at line 515 of file log_manager.c.

References log_header::chkpt_lsa, log_global::hdr, log_Gl, LOG_ISRESTARTED, and log_global::rcv_phase_lsa.

Referenced by pgbuf_unfix_debug().

Here is the caller graph for this function:

void log_initialize ( THREAD_ENTRY thread_p,
const char *  db_fullname,
const char *  logpath,
const char *  prefix_logname,
int  ismedia_crash,
bo_restart_arg r_args 
)
bool log_is_class_being_modified ( THREAD_ENTRY thread_p,
const OID class_oid 
)
bool log_is_in_crash_recovery_and_not_yet_completes_redo ( void  )

Definition at line 495 of file log_manager.c.

References log_Gl, LOG_RECOVERY_ANALYSIS_PHASE, LOG_RECOVERY_REDO_PHASE, and log_global::rcv_phase.

Referenced by pgbuf_check_bcb_page_vpid(), pgbuf_fix_debug(), and pgbuf_fix_if_not_deallocated_with_caller().

Here is the caller graph for this function:

bool log_is_log_flush_daemon_available ( )
bool log_is_logged_since_restart ( const LOG_LSA lsa_ptr)

Definition at line 593 of file log_manager.c.

References log_global::final_restored_lsa, log_get_final_restored_lsa(), log_Gl, LOG_ISRESTARTED, LSA_LE(), and log_global::rcv_phase_lsa.

Referenced by pgbuf_unfix_debug().

Here is the caller graph for this function:

void log_restart_emergency ( THREAD_ENTRY thread_p,
const char *  db_fullname,
const char *  logpath,
const char *  prefix_logname 
)

Definition at line 1811 of file log_manager.c.

References log_initialize_internal(), and NULL.

Referenced by boot_remove_all_volumes(), and xboot_emergency_patch().

Here is the caller graph for this function:

int log_rv_copy_char ( THREAD_ENTRY thread_p,
LOG_RCV rcv 
)
void log_rv_dump_char ( FILE *  fp,
int  length,
void *  data 
)

Definition at line 8719 of file log_manager.c.

References log_ascii_dump().

Referenced by overflow_rv_page_dump().

Here is the caller graph for this function:

void log_rv_dump_hexa ( FILE *  fp,
int  length,
void *  data 
)

Definition at line 8734 of file log_manager.c.

References log_hexa_dump().

Referenced by btree_rv_keyval_dump(), and file_rv_dump_extdata_add().

Here is the caller graph for this function:

void log_stop_ha_delay_registration ( )

Definition at line 1790 of file log_manager.c.

References cubthread::manager::destroy_daemon(), and cubthread::get_manager().

Referenced by xboot_shutdown_server().

Here is the caller graph for this function:

void log_sysop_abort ( THREAD_ENTRY thread_p)

Definition at line 4017 of file log_manager.c.

References assert_release, tx_transient_class_registry::decache_heap_repr(), log_rec_sysop_end::lastparent_lsa, log_append_sysop_end(), LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), log_rollback(), LOG_SYSOP_END_ABORT, log_sysop_end_begin(), log_sysop_end_final(), LOG_TDES_LAST_SYSOP, LOG_TDES_LAST_SYSOP_PARENT_LSA, LSA_COPY(), LSA_ISNULL(), LSA_LE(), log_tdes::m_modified_classes, NULL, log_rec_sysop_end::prv_topresult_lsa, log_tdes::state, log_tdes::tail_lsa, log_tdes::tail_topresult_lsa, TRAN_UNACTIVE_ABORTED, and log_rec_sysop_end::type.

Referenced by btree_create_file(), btree_delete_key_from_leaf(), btree_delete_sysop_end(), btree_fix_root_for_insert(), btree_insert_sysop_end(), btree_key_append_object_as_new_overflow(), btree_key_insert_new_key(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_unique(), btree_load_new_page(), btree_merge_node_and_advance(), btree_repair_prev_link_by_btid(), btree_replace_first_oid_with_ovfl_oid(), btree_split_node_and_advance(), btree_split_test(), catalog_create(), catalog_end_access_with_dir_oid(), catalog_get_new_page(), catalog_start_access_with_dir_oid(), disk_add_volume(), disk_extend(), disk_reserve_sectors(), ehash_extend_bucket(), ehash_insert_to_bucket_after_create(), ehash_merge(), file_alloc(), file_alloc_multiple(), file_create(), file_perm_expand(), file_rv_dealloc_internal(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_unregister_undo(), file_tracker_create(), file_tracker_unregister(), cubload::server_object_loader::flush_records(), heap_create_internal(), heap_ovf_find_vfid(), heap_remove_page_on_vacuum(), heap_rv_postpone_append_pages_to_heap(), heap_vpid_alloc(), locator_repair_btree_by_delete(), locator_repair_btree_by_insert(), log_abort_partial(), log_recovery_abort_atomic_sysop(), log_recovery_abort_interrupted_sysop(), overflow_insert(), overflow_update(), qexec_execute_selupd_list(), serial_update_serial_object(), vacuum_consume_buffer_log_blocks(), vacuum_data_empty_page(), vacuum_heap_record(), xbtree_add_index(), xbtree_load_index(), xchksum_insert_repl_log_and_demote_table_lock(), xlocator_assign_oid_batch(), and xtran_server_end_topop().

void log_sysop_end_logical_compensate ( THREAD_ENTRY thread_p,
LOG_LSA undo_nxlsa 
)
void log_sysop_end_logical_run_postpone ( THREAD_ENTRY thread_p,
LOG_LSA posp_lsa 
)
void log_sysop_end_recovery_postpone ( THREAD_ENTRY thread_p,
LOG_REC_SYSOP_END log_record,
int  data_size,
const char *  data 
)

Definition at line 4003 of file log_manager.c.

References log_sysop_commit_internal().

Referenced by log_recovery_finish_sysop_postpone().

Here is the caller graph for this function:

const char* log_sysop_end_type_string ( LOG_SYSOP_END_TYPE  end_type)
void log_sysop_start ( THREAD_ENTRY thread_p)

Definition at line 3578 of file log_manager.c.

References ARG_FILE_LINE, assert, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_topops_stack::last, log_topops_addresses::lastparent_lsa, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, logtb_realloc_topops_stack(), LSA_COPY(), LSA_SET_NULL(), log_topops_stack::max, NULL, log_lsa::offset, log_lsa::pageid, perfmon_inc_stat(), log_topops_addresses::posp_lsa, PSTAT_TRAN_NUM_START_TOPOPS, log_topops_stack::stack, log_tdes::tail_lsa, thread_get_thread_entry_info(), log_tdes::topop_lsa, log_tdes::topops, log_tdes::trid, vacuum_er_log, VACUUM_ER_LOG_TOPOPS, VACUUM_ER_LOG_WORKER, vacuum_get_worker_state(), VACUUM_IS_THREAD_VACUUM, and vacuum_worker_state_is_execute().

Referenced by btree_create_file(), btree_delete_key_from_leaf(), btree_fix_root_for_insert(), btree_key_append_object_as_new_overflow(), btree_key_insert_new_key(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), btree_load_new_page(), btree_merge_node_and_advance(), btree_overflow_remove_object(), btree_repair_prev_link_by_btid(), btree_replace_first_oid_with_ovfl_oid(), btree_split_node_and_advance(), btree_split_test(), catalog_create(), catalog_get_new_page(), catalog_start_access_with_dir_oid(), disk_add_volume(), disk_extend(), disk_reserve_sectors(), disk_volume_expand(), ehash_extend_bucket(), ehash_insert_to_bucket_after_create(), ehash_merge(), file_alloc_multiple(), file_create(), file_perm_expand(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_rv_tracker_unregister_undo(), file_tracker_create(), file_tracker_unregister(), cubload::server_object_loader::flush_records(), heap_create_internal(), heap_ovf_find_vfid(), heap_remove_page_on_vacuum(), heap_vpid_alloc(), locator_repair_btree_by_delete(), locator_repair_btree_by_insert(), log_abort_partial(), log_execute_run_postpone(), log_recovery_abort_atomic_sysop(), log_recovery_abort_interrupted_sysop(), log_rollback_record(), log_rv_undo_record(), log_sysop_start_atomic(), overflow_insert(), overflow_update(), qexec_execute_selupd_list(), serial_update_serial_object(), vacuum_consume_buffer_log_blocks(), vacuum_data_empty_page(), vacuum_heap_record(), xbtree_add_index(), xbtree_load_index(), xchksum_insert_repl_log_and_demote_table_lock(), xehash_destroy(), xlocator_assign_oid_batch(), and xtran_server_start_topop().

void log_update_global_btid_online_index_stats ( THREAD_ENTRY thread_p)
void log_wakeup_checkpoint_daemon ( )

Referenced by log_complete(), log_complete_for_2pc(), log_get_checkpoint_interval(), log_sysop_end_final(), and slog_checkpoint().

Here is the caller graph for this function:

void log_wakeup_log_flush_daemon ( )

Definition at line 9715 of file log_manager.c.

References log_is_log_flush_daemon_available(), and cubthread::daemon::wakeup().

Referenced by logpb_flush_pages(), pgbuf_flush_victim_candidates(), and prior_lsa_next_record_internal().

Here is the caller graph for this function:

void log_wakeup_remove_log_archive_daemon ( )

Referenced by log_get_checkpoint_interval(), and logpb_archive_active_log().

Here is the caller graph for this function: