CUBRID Engine  latest
log_manager.c File Reference
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <stddef.h>
#include <stdlib.h>
#include <time.h>
#include <sys/stat.h>
#include <assert.h>
#include <sys/types.h>
#include <fcntl.h>
#include <cstdint>
#include "log_manager.h"
#include "btree.h"
#include "elo.h"
#include "recovery.h"
#include "replication.h"
#include "xserver_interface.h"
#include "page_buffer.h"
#include "porting_inline.hpp"
#include "query_manager.h"
#include "message_catalog.h"
#include "msgcat_set_log.hpp"
#include "environment_variable.h"
#include "log_append.hpp"
#include "log_archives.hpp"
#include "log_compress.h"
#include "log_record.hpp"
#include "log_system_tran.hpp"
#include "log_volids.hpp"
#include "log_writer.h"
#include "partition_sr.h"
#include "filter_pred_cache.h"
#include "heap_file.h"
#include "slotted_page.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "tz_support.h"
#include "db_date.h"
#include "fault_injection.h"
#include "db_value_printer.hpp"
#include "mem_block.hpp"
#include "string_buffer.hpp"
#include "boot_sr.h"
#include "thread_daemon.hpp"
#include "thread_entry.hpp"
#include "thread_entry_task.hpp"
#include "thread_manager.hpp"
#include "transaction_transient.hpp"
#include "vacuum.h"
#include "xasl_cache.h"
#include "dbtype.h"

Go to the source code of this file.

Classes

struct  actve_log_header_scan_context
 
struct  archive_log_header_scan_context
 

Macros

#define pthread_mutex_init(a, b)
 
#define pthread_mutex_destroy(a)
 
#define pthread_mutex_lock(a)   0
 
#define pthread_mutex_unlock(a)
 
#define LOG_ISCHECKPOINT_TIME()
 
#define LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED(thread_p)
 
#define LOG_ISUNSAFE_TO_SKIP_RCVINDEX(RCVI)   ((RCVI) == RVDK_LINK_PERM_VOLEXT)
 
#define LOG_NEED_TO_SET_LSA(RCVI, PGPTR)
 
#define LOG_TDES_LAST_SYSOP(tdes)   (&(tdes)->topops.stack[(tdes)->topops.last])
 
#define LOG_TDES_LAST_SYSOP_PARENT_LSA(tdes)   (&LOG_TDES_LAST_SYSOP(tdes)->lastparent_lsa)
 
#define LOG_TDES_LAST_SYSOP_POSP_LSA(tdes)   (&LOG_TDES_LAST_SYSOP(tdes)->posp_lsa)
 

Typedefs

typedef struct actve_log_header_scan_context ACTIVE_LOG_HEADER_SCAN_CTX
 
typedef struct archive_log_header_scan_context ARCHIVE_LOG_HEADER_SCAN_CTX
 

Functions

static bool log_verify_dbcreation (THREAD_ENTRY *thread_p, VOLID volid, const INT64 *log_dbcreation)
 
static int log_create_internal (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname, DKNPAGES npages, INT64 *db_creation)
 
static int log_initialize_internal (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *prefix_logname, bool ismedia_crash, BO_RESTART_ARG *r_args, bool init_emergency)
 
static LOG_LSAlog_get_savepoint_lsa (THREAD_ENTRY *thread_p, const char *savept_name, LOG_TDES *tdes, LOG_LSA *savept_lsa)
 
static bool log_can_skip_undo_logging (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, const LOG_TDES *tdes, LOG_DATA_ADDR *addr)
 
static bool log_can_skip_redo_logging (LOG_RCVINDEX rcvindex, const LOG_TDES *ignore_tdes, LOG_DATA_ADDR *addr)
 
static void log_append_commit_postpone (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *start_postpone_lsa)
 
static void log_append_sysop_start_postpone (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_REC_SYSOP_START_POSTPONE *sysop_start_postpone, int data_size, const char *data)
 
static void log_append_sysop_end (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_REC_SYSOP_END *sysop_end, int data_size, const char *data)
 
static void log_append_repl_info_internal (THREAD_ENTRY *thread_p, LOG_TDES *tdes, bool is_commit, int with_lock)
 
static void log_append_repl_info_with_lock (THREAD_ENTRY *thread_p, LOG_TDES *tdes, bool is_commit)
 
static void log_append_repl_info_and_commit_log (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *commit_lsa)
 
static void log_append_donetime_internal (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *eot_lsa, LOG_RECTYPE iscommitted, enum LOG_PRIOR_LSA_LOCK with_lock)
 
static void log_change_tran_as_completed (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_RECTYPE iscommitted, LOG_LSA *lsa)
 
static void log_append_commit_log (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *commit_lsa)
 
static void log_append_commit_log_with_lock (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *commit_lsa)
 
static void log_append_abort_log (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *abort_lsa)
 
static void log_dump_record_header_to_string (LOG_RECORD_HEADER *log, char *buf, size_t len)
 
static void log_ascii_dump (FILE *out_fp, int length, void *data)
 
static void log_hexa_dump (FILE *out_fp, int length, void *data)
 
static void log_dump_data (THREAD_ENTRY *thread_p, FILE *out_fp, int length, LOG_LSA *log_lsa, LOG_PAGE *log_page_p, void(*dumpfun)(FILE *fp, int, void *), LOG_ZIP *log_dump_ptr)
 
static void log_dump_header (FILE *out_fp, LOG_HEADER *log_header_p)
 
static LOG_PAGElog_dump_record_undoredo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_undo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_redo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_mvcc_undoredo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_mvcc_undo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_mvcc_redo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_postpone (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_dbout_redo (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_compensate (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_commit_postpone (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_transaction_finish (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_replication (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_sysop_start_postpone (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static LOG_PAGElog_dump_record_sysop_end (THREAD_ENTRY *thread_p, LOG_LSA *log_lsa, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p, FILE *out_fp)
 
static LOG_PAGElog_dump_record_sysop_end_internal (THREAD_ENTRY *thread_p, LOG_REC_SYSOP_END *sysop_end, LOG_LSA *log_lsa, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p, FILE *out_fp)
 
static LOG_PAGElog_dump_record_checkpoint (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static void log_dump_checkpoint_topops (FILE *out_fp, int length, void *data)
 
static LOG_PAGElog_dump_record_save_point (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_2pc_prepare_commit (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_2pc_start (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_2pc_acknowledgement (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *lsa_p, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record_ha_server_state (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_LSA *log_lsa, LOG_PAGE *log_page_p)
 
static LOG_PAGElog_dump_record (THREAD_ENTRY *thread_p, FILE *out_fp, LOG_RECTYPE record_type, LOG_LSA *lsa_p, LOG_PAGE *log_page_p, LOG_ZIP *log_zip_p)
 
static void log_rollback_record (THREAD_ENTRY *thread_p, LOG_LSA *log_lsa, LOG_PAGE *log_page_p, LOG_RCVINDEX rcvindex, VPID *rcv_vpid, LOG_RCV *rcv, LOG_TDES *tdes, LOG_ZIP *log_unzip_ptr)
 
static int log_undo_rec_restartable (THREAD_ENTRY *thread_p, LOG_RCVINDEX rcvindex, LOG_RCV *rcv)
 
static void log_rollback (THREAD_ENTRY *thread_p, LOG_TDES *tdes, const LOG_LSA *upto_lsa_ptr)
 
static int log_run_postpone_op (THREAD_ENTRY *thread_p, LOG_LSA *log_lsa, LOG_PAGE *log_pgptr)
 
static void log_find_end_log (THREAD_ENTRY *thread_p, LOG_LSA *end_lsa)
 
static void log_cleanup_modified_class (const tx_transient_class_entry &t, bool &stop)
 
static void log_cleanup_modified_class_list (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *savept_lsa, bool release, bool decache_classrepr)
 
static void log_append_compensate_internal (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)
 
STATIC_INLINE void log_sysop_end_random_exit (THREAD_ENTRY *thread_p) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void log_sysop_end_begin (THREAD_ENTRY *thread_p, int *tran_index_out, LOG_TDES **tdes_out) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void log_sysop_end_unstack (THREAD_ENTRY *thread_p, LOG_TDES *tdes) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE void log_sysop_end_final (THREAD_ENTRY *thread_p, LOG_TDES *tdes) __attribute__((ALWAYS_INLINE))
 
static void log_sysop_commit_internal (THREAD_ENTRY *thread_p, LOG_REC_SYSOP_END *log_record, int data_size, const char *data, bool is_rv_finish_postpone)
 
STATIC_INLINE void log_sysop_get_tran_index_and_tdes (THREAD_ENTRY *thread_p, int *tran_index_out, LOG_TDES **tdes_out) __attribute__((ALWAYS_INLINE))
 
STATIC_INLINE int log_sysop_get_level (THREAD_ENTRY *thread_p) __attribute__((ALWAYS_INLINE))
 
static void log_tran_do_postpone (THREAD_ENTRY *thread_p, LOG_TDES *tdes)
 
static void log_sysop_do_postpone (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_REC_SYSOP_END *sysop_end, int data_size, const char *data)
 
static int logtb_tran_update_stats_online_index_rb (THREAD_ENTRY *thread_p, void *data, void *args)
 
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)
 
int log_set_no_logging (void)
 
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_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)
 
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_empty_record (THREAD_ENTRY *thread_p, LOG_RECTYPE logrec_type, LOG_DATA_ADDR *addr)
 
void log_append_ha_server_state (THREAD_ENTRY *thread_p, int state)
 
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)
 
const char * log_sysop_end_type_string (LOG_SYSOP_END_TYPE end_type)
 
void log_sysop_start (THREAD_ENTRY *thread_p)
 
void log_sysop_start_atomic (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)
 
void log_sysop_abort (THREAD_ENTRY *thread_p)
 
void log_sysop_attach_to_outer (THREAD_ENTRY *thread_p)
 
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)
 
void log_append_repl_info (THREAD_ENTRY *thread_p, LOG_TDES *tdes, bool is_commit)
 
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)
 
int locator_drop_transient_class_name_entries (THREAD_ENTRY *thread_p, LOG_LSA *savep_lsa)
 
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)
 
static void log_repl_data_dump (FILE *out_fp, int length, void *data)
 
static void log_repl_schema_dump (FILE *out_fp, int length, void *data)
 
static void log_dump_data (THREAD_ENTRY *thread_p, FILE *out_fp, int length, LOG_LSA *log_lsa, LOG_PAGE *log_page_p, void(*dumpfun)(FILE *, int, void *), LOG_ZIP *log_dump_ptr)
 
void xlog_dump (THREAD_ENTRY *thread_p, FILE *out_fp, int isforward, LOG_PAGEID start_logpageid, DKNPAGES dump_npages, TRANID desired_tranid)
 
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_do_postpone (THREAD_ENTRY *thread_p, LOG_TDES *tdes, LOG_LSA *start_postpone_lsa)
 
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 *out_fp)
 
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)
 
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)
 
void log_set_ha_promotion_time (THREAD_ENTRY *thread_p, INT64 ha_promotion_time)
 
void log_set_db_restore_time (THREAD_ENTRY *thread_p, INT64 db_restore_time)
 
SCAN_CODE log_get_undo_record (THREAD_ENTRY *thread_p, LOG_PAGE *log_page_p, LOG_LSA process_lsa, RECDES *recdes)
 
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)
 
void log_get_log_group_commit_interval (bool &is_timed_wait, cubthread::delta_time &period)
 
void log_get_checkpoint_interval (bool &is_timed_wait, cubthread::delta_time &period)
 
void log_wakeup_log_flush_daemon ()
 
bool log_is_log_flush_daemon_available ()
 
INT64 log_get_clock_msec (void)
 
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)
 

Variables

static int rv
 
static const int LOG_REC_UNDO_MAX_ATTEMPTS = 3
 
static bool log_No_logging = false
 

Macro Definition Documentation

#define LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED (   thread_p)
Value:
do { \
/* Write in the log header that logging has been skipped */ \
logpb_flush_header((thread_p)); \
} \
} while (0)
LOG_GLOBAL log_Gl
LOG_HEADER hdr
Definition: log_impl.h:653
bool has_logging_been_skipped
void logpb_flush_header(THREAD_ENTRY *thread_p)
if(extra_options)
Definition: dynamic_load.c:958

Definition at line 132 of file log_manager.c.

Referenced by log_append_dboutside_redo(), log_append_postpone(), log_append_redo_crumbs(), log_append_undo_crumbs(), and log_append_undoredo_crumbs().

#define LOG_ISCHECKPOINT_TIME ( )
Value:
LOG_GLOBAL log_Gl
LOG_HEADER hdr
Definition: log_impl.h:653
LOG_LSA append_lsa
#define NULL_PAGEID
LOG_RECVPHASE rcv_phase
Definition: log_impl.h:662
std::int64_t pageid
Definition: log_lsa.hpp:36
LOG_PAGEID run_nxchkpt_atpageid
Definition: log_impl.h:655

Definition at line 113 of file log_manager.c.

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

#define LOG_ISUNSAFE_TO_SKIP_RCVINDEX (   RCVI)    ((RCVI) == RVDK_LINK_PERM_VOLEXT)

Definition at line 148 of file log_manager.c.

Referenced by log_can_skip_redo_logging(), and log_can_skip_undo_logging().

#define LOG_NEED_TO_SET_LSA (   RCVI,
  PGPTR 
)
#define LOG_TDES_LAST_SYSOP (   tdes)    (&(tdes)->topops.stack[(tdes)->topops.last])
#define LOG_TDES_LAST_SYSOP_PARENT_LSA (   tdes)    (&LOG_TDES_LAST_SYSOP(tdes)->lastparent_lsa)

Definition at line 183 of file log_manager.c.

Referenced by log_sysop_abort(), and log_sysop_commit_internal().

#define LOG_TDES_LAST_SYSOP_POSP_LSA (   tdes)    (&LOG_TDES_LAST_SYSOP(tdes)->posp_lsa)

Definition at line 184 of file log_manager.c.

Referenced by log_sysop_do_postpone().

#define pthread_mutex_destroy (   a)

Definition at line 99 of file log_manager.c.

#define pthread_mutex_init (   a,
 
)

Definition at line 98 of file log_manager.c.

#define pthread_mutex_lock (   a)    0
#define pthread_mutex_unlock (   a)

Typedef Documentation

Definition at line 160 of file log_manager.c.

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 
)
static void log_append_abort_log ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA abort_lsa 
)
static

Definition at line 4739 of file log_manager.c.

References LOG_ABORT, log_append_donetime_internal(), and LOG_PRIOR_LSA_WITHOUT_LOCK.

Referenced by log_complete(), and log_complete_for_2pc().

Here is the caller graph for this function:

static void log_append_commit_log ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA commit_lsa 
)
static

Definition at line 4711 of file log_manager.c.

References log_append_donetime_internal(), LOG_COMMIT, and LOG_PRIOR_LSA_WITHOUT_LOCK.

Referenced by log_commit_local(), log_complete(), and log_complete_for_2pc().

Here is the caller graph for this function:

static void log_append_commit_log_with_lock ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA commit_lsa 
)
static

Definition at line 4725 of file log_manager.c.

References log_append_donetime_internal(), LOG_COMMIT, and LOG_PRIOR_LSA_WITH_LOCK.

Referenced by log_append_repl_info_and_commit_log().

Here is the caller graph for this function:

static void log_append_commit_postpone ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA start_postpone_lsa 
)
static
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 
)
static void log_append_donetime_internal ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA eot_lsa,
LOG_RECTYPE  iscommitted,
enum LOG_PRIOR_LSA_LOCK  with_lock 
)
static
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:

static void log_append_repl_info_and_commit_log ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA commit_lsa 
)
static
static void log_append_repl_info_with_lock ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
bool  is_commit 
)
static

Definition at line 4570 of file log_manager.c.

References log_append_repl_info_internal(), and LOG_PRIOR_LSA_WITH_LOCK.

Referenced by log_append_repl_info_and_commit_log().

Here is the caller graph for this function:

static void log_append_sysop_start_postpone ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_REC_SYSOP_START_POSTPONE sysop_start_postpone,
int  data_size,
const char *  data 
)
static

Definition at line 4396 of file log_manager.c.

References log_prior_node::data_header, LOG_SYSOP_START_POSTPONE, NULL, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), and RV_NOT_DEFINED.

Referenced by log_sysop_do_postpone().

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 
)
static void log_ascii_dump ( FILE *  out_fp,
int  length,
void *  data 
)
static

Definition at line 5780 of file log_manager.c.

References i.

Referenced by log_rv_dump_char().

Here is the caller graph for this function:

static bool log_can_skip_redo_logging ( LOG_RCVINDEX  rcvindex,
const LOG_TDES ignore_tdes,
LOG_DATA_ADDR addr 
)
static

Definition at line 4324 of file log_manager.c.

References LOG_ISUNSAFE_TO_SKIP_RCVINDEX, NULL, pgbuf_is_lsa_temporary(), and log_data_addr::pgptr.

Referenced by log_append_empty_record(), log_append_postpone(), and log_append_redo_crumbs().

Here is the caller graph for this function:

static bool log_can_skip_undo_logging ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
const LOG_TDES tdes,
LOG_DATA_ADDR addr 
)
static

Definition at line 4272 of file log_manager.c.

References assert, LOG_ISUNSAFE_TO_SKIP_RCVINDEX, NULL, pgbuf_is_lsa_temporary(), log_data_addr::pgptr, log_data_addr::vfid, and VFID_ISNULL.

Referenced by log_append_undo_crumbs(), and log_append_undoredo_crumbs().

Here is the caller graph for this function:

static void log_cleanup_modified_class ( const tx_transient_class_entry t,
bool stop 
)
static
static void log_cleanup_modified_class_list ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
LOG_LSA savept_lsa,
bool  release,
bool  decache_classrepr 
)
static
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:

static int log_create_internal ( THREAD_ENTRY thread_p,
const char *  db_fullname,
const char *  logpath,
const char *  prefix_logname,
DKNPAGES  npages,
INT64 *  db_creation 
)
static
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_postpone_lsa 
)

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:

static void log_dump_checkpoint_topops ( FILE *  out_fp,
int  length,
void *  data 
)
static

Definition at line 6460 of file log_manager.c.

References i, LSA_AS_ARGS, log_info_chkpt_sysop::sysop_start_postpone_lsa, and log_info_chkpt_sysop::trid.

Referenced by log_dump_record_checkpoint().

Here is the caller graph for this function:

static void log_dump_data ( THREAD_ENTRY thread_p,
FILE *  out_fp,
int  length,
LOG_LSA log_lsa,
LOG_PAGE log_page_p,
void(*)(FILE *, int, void *)  dumpfun,
LOG_ZIP log_dump_ptr 
)
static
static LOG_PAGE * log_dump_record ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_RECTYPE  record_type,
LOG_LSA lsa_p,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p 
)
static

Definition at line 6612 of file log_manager.c.

References 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_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_dump_record_2pc_acknowledgement(), log_dump_record_2pc_prepare_commit(), log_dump_record_2pc_start(), log_dump_record_checkpoint(), log_dump_record_commit_postpone(), log_dump_record_compensate(), log_dump_record_dbout_redo(), log_dump_record_ha_server_state(), log_dump_record_mvcc_redo(), log_dump_record_mvcc_undo(), log_dump_record_mvcc_undoredo(), log_dump_record_postpone(), log_dump_record_redo(), log_dump_record_replication(), log_dump_record_save_point(), log_dump_record_sysop_end(), log_dump_record_sysop_start_postpone(), log_dump_record_transaction_finish(), log_dump_record_undo(), log_dump_record_undoredo(), LOG_END_CHKPT, LOG_END_OF_LOG, LOG_LARGER_LOGREC_TYPE, LOG_MVCC_DIFF_UNDOREDO_DATA, LOG_MVCC_REDO_DATA, LOG_MVCC_UNDO_DATA, LOG_MVCC_UNDOREDO_DATA, LOG_POSTPONE, LOG_REDO_DATA, LOG_REPLICATION_DATA, LOG_REPLICATION_STATEMENT, LOG_RUN_POSTPONE, LOG_SAVEPOINT, LOG_SMALLER_LOGREC_TYPE, LOG_START_CHKPT, LOG_SYSOP_ATOMIC_START, LOG_SYSOP_END, LOG_SYSOP_START_POSTPONE, log_to_string(), LOG_UNDO_DATA, LOG_UNDOREDO_DATA, LOG_WILL_COMMIT, logpb_is_page_in_archive(), LSA_SET_NULL(), and log_lsa::pageid.

Referenced by xlog_dump().

Here is the caller graph for this function:

static LOG_PAGE * log_dump_record_2pc_acknowledgement ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static

Definition at line 6586 of file log_manager.c.

References log_page::area, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, log_lsa::offset, and log_rec_2pc_particp_ack::particp_index.

Referenced by log_dump_record().

Here is the caller graph for this function:

static LOG_PAGE * log_dump_record_2pc_prepare_commit ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_2pc_start ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_checkpoint ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_commit_postpone ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static

Definition at line 6247 of file log_manager.c.

References log_page::area, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, LSA_AS_ARGS, log_lsa::offset, and log_rec_start_postpone::posp_lsa.

Referenced by log_dump_record().

Here is the caller graph for this function:

static LOG_PAGE * log_dump_record_compensate ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_dbout_redo ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_ha_server_state ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA log_lsa,
LOG_PAGE log_page_p 
)
static

Definition at line 6599 of file log_manager.c.

References log_page::area, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, log_lsa::offset, and log_rec_ha_server_state::state.

Referenced by log_dump_record().

Here is the caller graph for this function:

static void log_dump_record_header_to_string ( LOG_RECORD_HEADER log,
char *  buf,
size_t  len 
)
static

Definition at line 7313 of file log_manager.c.

References log_rec_header::back_lsa, log_rec_header::forw_lsa, log_lsa::offset, log_lsa::pageid, log_rec_header::prev_tranlsa, log_rec_header::trid, and log_rec_header::type.

Referenced by log_rollback().

Here is the caller graph for this function:

static LOG_PAGE * log_dump_record_mvcc_redo ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p 
)
static
static LOG_PAGE * log_dump_record_postpone ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_redo ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p 
)
static
static LOG_PAGE * log_dump_record_save_point ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static
static LOG_PAGE * log_dump_record_sysop_end ( THREAD_ENTRY thread_p,
LOG_LSA log_lsa,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p,
FILE *  out_fp 
)
static

Definition at line 6436 of file log_manager.c.

References log_page::area, log_dump_record_sysop_end_internal(), LOG_READ_ADVANCE_WHEN_DOESNT_FIT, and log_lsa::offset.

Referenced by log_dump_record().

Here is the caller graph for this function:

static LOG_PAGE * log_dump_record_sysop_start_postpone ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p 
)
static
static LOG_PAGE * log_dump_record_transaction_finish ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p 
)
static

Definition at line 6261 of file log_manager.c.

References log_page::area, log_rec_donetime::at_time, CTIME_MAX, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, and log_lsa::offset.

Referenced by log_dump_record().

Here is the caller graph for this function:

static LOG_PAGE * log_dump_record_undo ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p 
)
static
static LOG_PAGE * log_dump_record_undoredo ( THREAD_ENTRY thread_p,
FILE *  out_fp,
LOG_LSA lsa_p,
LOG_PAGE log_page_p,
LOG_ZIP log_zip_p 
)
static
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 
)
void log_get_checkpoint_interval ( bool is_timed_wait,
cubthread::delta_time period 
)
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:

void log_get_log_group_commit_interval ( bool is_timed_wait,
cubthread::delta_time period 
)

Definition at line 9633 of file log_manager.c.

References assert, prm_get_integer_value(), and PRM_ID_LOG_GROUP_COMMIT_INTERVAL_MSECS.

Referenced by log_is_log_flush_daemon_available().

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_hexa_dump ( FILE *  out_fp,
int  length,
void *  data 
)
static

Definition at line 5800 of file log_manager.c.

References i.

Referenced by log_dump_data(), log_dump_record_save_point(), and log_rv_dump_hexa().

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 
)
static int log_initialize_internal ( THREAD_ENTRY thread_p,
const char *  db_fullname,
const char *  logpath,
const char *  prefix_logname,
bool  ismedia_crash,
BO_RESTART_ARG r_args,
bool  init_emergency 
)
static

Definition at line 1046 of file log_manager.c.

References log_global::append, log_header::append_lsa, trantable::area, ARG_FILE_LINE, assert, log_header::avg_ntrans, log_rec_header::back_lsa, log_global::bg_archive_info, log_global::chkpt_every_npages, log_header::chkpt_lsa, log_global::chkpt_redo_lsa, background_archiving_info::current_page_id, log_header::db_compatibility, bo_restart_arg::db_creation, log_header::db_creation, DB_INT32_MAX, log_header::db_iopagesize, log_header::db_logpagesize, log_header::db_release, db_set_page_size(), envvar_get(), log_header::eof_lsa, ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_IO_MOUNT_FAIL, ER_LOG_COMPILATION_RELEASE, er_log_debug, ER_LOG_DOESNT_CORRESPOND_TO_DATABASE, ER_LOG_INCOMPATIBLE_DATABASE, ER_LOG_INCOMPATIBLE_PREFIX_NAME, ER_LOG_RECOVER_ON_OLD_RELEASE, ER_NOTIFICATION_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), fileio_dismount(), fileio_format(), fileio_map_mounted(), fileio_mount(), log_header::fpageid, free_and_init, log_global::hdr, i, IO_PAGESIZE, log_header::is_shutdown, log_header::last_arv_num_for_syscrashes, background_archiving_info::last_sync_pageid, log_abort(), LOG_APPEND_PTR(), LOG_CS_ENTER(), LOG_CS_EXIT(), log_Db_fullname, LOG_DBLOG_ACTIVE_VOLID, LOG_DBLOG_BG_ARCHIVE_VOLID, log_final(), log_get_db_compatibility(), log_get_num_pages_for_creation(), log_Gl, log_Name_active, log_Name_bg_archive, LOG_PAGESIZE, log_recovery(), LOG_RECOVERY_ANALYSIS_PHASE, LOG_RESET_APPEND_LSA(), LOG_RESET_PREV_LSA(), LOG_RESTARTED, LOG_SET_CURRENT_TRAN_INDEX, LOG_SYSTEM_TRAN_INDEX, log_verify_dbcreation(), log_global::loghdr_pgptr, LOGPAGEID_MAX, logpb_background_archiving(), logpb_decache_archive_info(), logpb_fatal_error(), logpb_fetch_header(), logpb_fetch_start_append_page(), logpb_finalize_pool(), logpb_flush_header(), logpb_initialize_arv_page_info_table(), logpb_initialize_header(), logpb_initialize_log_names(), logpb_initialize_logging_statistics(), logpb_initialize_pool(), logtb_define_trantable_log_latch(), logtb_undefine_trantable(), LSA_COPY(), LSA_EQ(), LSA_GT(), LSA_ISNULL(), LSA_SET_NULL(), log_global::mvcc_table, NO_ERROR, log_header::npages, NULL, NULL_PAGEID, NULL_VOLDES, trantable::num_total_indices, log_header::nxarv_num, log_header::nxarv_pageid, log_lsa::offset, log_lsa::pageid, log_header::prefix_name, log_append_info::prev_lsa, log_prior_lsa_info::prev_lsa, log_global::prior_info, log_prior_lsa_info::prior_lsa, prm_get_bool_value(), prm_get_integer_value(), PRM_ID_FORCE_RESTART_TO_SKIP_RECOVERY, PRM_ID_LOG_BACKGROUND_ARCHIVING, PRM_ID_LOG_CHECKPOINT_NPAGES, PRM_ID_LOG_NBUFFERS, pthread_mutex_unlock, log_global::rcv_phase, log_global::rcv_phase_lsa, REL_FULLY_COMPATIBLE, rel_get_disk_compatible(), rel_is_log_compatible(), REL_MAX_RELEASE_LENGTH, rel_name(), rel_release_string(), mvcctable::reset_start_mvccid(), bo_restart_arg::restart_repl_lsa, bo_restart_arg::restore_slave, log_global::run_nxchkpt_atpageid, rv_check_rvfuns(), log_header::smallest_lsa_at_last_chkpt, background_archiving_info::start_page_id, bo_restart_arg::stopat, strlen, strncpy_bufsize, thread_get_thread_entry_info(), log_tdes::tran_index, log_global::trantable, background_archiving_info::vdes, and log_append_info::vdes.

Referenced by log_initialize(), log_recreate(), and log_restart_emergency().

Here is the caller graph for this function:

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:

static void log_repl_data_dump ( FILE *  out_fp,
int  length,
void *  data 
)
static

Definition at line 5818 of file log_manager.c.

References db_value_printer::describe_value(), string_buffer::get_buffer(), or_unpack_mem_value(), or_unpack_string_nocopy(), and pr_clear_value().

Referenced by log_dump_record_replication().

Here is the caller graph for this function:

static void log_repl_schema_dump ( FILE *  out_fp,
int  length,
void *  data 
)
static

Definition at line 5836 of file log_manager.c.

References or_unpack_int(), and or_unpack_string_nocopy().

Referenced by log_dump_record_replication().

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:

static void log_rollback ( THREAD_ENTRY thread_p,
LOG_TDES tdes,
const LOG_LSA upto_lsa_ptr 
)
static

Definition at line 7336 of file log_manager.c.

References log_page::area, ARG_FILE_LINE, assert, log_rec_sysop_end::compensate_lsa, log_rec_undoredo::data, log_rec_undo::data, ER_FATAL_ERROR_SEVERITY, ER_LOG_PAGE_CORRUPTED, er_set(), IO_MAX_PAGE_SIZE, IO_PAGESIZE, log_rec_sysop_end::lastparent_lsa, log_rec_undo::length, log_rcv::length, 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_dump_record_header_to_string(), LOG_END_CHKPT, LOG_END_OF_LOG, LOG_GET_LOG_RECORD_HEADER, LOG_ISRESTARTED, 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_READ_ADD_ALIGN, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, LOG_REDO_DATA, LOG_REPLICATION_DATA, LOG_REPLICATION_STATEMENT, log_rollback_record(), LOG_RUN_POSTPONE, LOG_SAVEPOINT, LOG_SMALLER_LOGREC_TYPE, LOG_START_CHKPT, LOG_SYSOP_ATOMIC_START, LOG_SYSOP_END, LOG_SYSOP_END_LOGICAL_COMPENSATE, LOG_SYSOP_END_LOGICAL_MVCC_UNDO, LOG_SYSOP_END_LOGICAL_RUN_POSTPONE, LOG_SYSOP_END_LOGICAL_UNDO, LOG_SYSOP_START_POSTPONE, LOG_UNDO_DATA, LOG_UNDOREDO_DATA, LOG_WILL_COMMIT, log_zip_alloc(), log_zip_free(), logpb_fatal_error(), logpb_fetch_page(), LSA_COPY(), LSA_ISNULL(), LSA_LE(), LSA_SET_NULL(), log_tdes::m_log_postpone_cache, MAX_ALIGNMENT, log_rcv::mvcc_id, log_rec_sysop_end::mvcc_undo, log_rec_mvcc_undoredo::mvccid, log_rec_mvcc_undo::mvccid, MVCCID_NULL, NO_ERROR, NULL, log_lsa::offset, log_data::offset, log_rcv::offset, log_lsa::pageid, log_data::pageid, vpid::pageid, log_rec_header::prev_tranlsa, PTR_ALIGN, log_data::rcvindex, log_postpone_cache::reset(), log_tdes::tail_lsa, TRAN_LOCK_INFINITE_WAIT, log_rec_header::type, log_rec_sysop_end::type, log_rec_undoredo::ulength, log_rec_mvcc_undo::undo, log_rec_sysop_end::undo, log_rec_compensate::undo_nxlsa, log_tdes::undo_nxlsa, log_rec_mvcc_undoredo::undoredo, log_data::volid, vpid::volid, and xlogtb_reset_wait_msecs().

Referenced by log_abort_local(), and log_sysop_abort().

Here is the caller graph for this function:

static int log_run_postpone_op ( THREAD_ENTRY thread_p,
LOG_LSA log_lsa,
LOG_PAGE log_pgptr 
)
static
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_set_db_restore_time ( THREAD_ENTRY thread_p,
INT64  db_restore_time 
)

Definition at line 9351 of file log_manager.c.

References log_header::db_restore_time, log_global::hdr, LOG_CS_ENTER(), LOG_CS_EXIT(), and log_Gl.

Referenced by boot_restart_server().

Here is the caller graph for this function:

void log_set_ha_promotion_time ( THREAD_ENTRY thread_p,
INT64  ha_promotion_time 
)

Definition at line 9334 of file log_manager.c.

References log_header::ha_promotion_time, log_global::hdr, LOG_CS_ENTER(), LOG_CS_EXIT(), and log_Gl.

Referenced by boot_restart_server(), css_change_ha_server_state(), and css_transit_ha_server_state().

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().

STATIC_INLINE void log_sysop_end_begin ( THREAD_ENTRY thread_p,
int *  tran_index_out,
LOG_TDES **  tdes_out 
)
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 
)
STATIC_INLINE void log_sysop_end_random_exit ( THREAD_ENTRY thread_p)

Definition at line 3686 of file log_manager.c.

References FI_TEST_ARG, FI_TEST_LOG_MANAGER_RANDOM_EXIT_AT_END_SYSTEMOP, and STATIC_INLINE.

Referenced by log_sysop_end_begin(), and log_sysop_end_final().

Here is the caller graph for this function:

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)
STATIC_INLINE void log_sysop_end_unstack ( THREAD_ENTRY thread_p,
LOG_TDES tdes 
)

Definition at line 3725 of file log_manager.c.

References log_topops_stack::last, LOG_TDES_LAST_SYSOP, LSA_COPY(), LSA_SET_NULL(), STATIC_INLINE, log_tdes::topop_lsa, and log_tdes::topops.

Referenced by log_sysop_end_final().

Here is the caller graph for this function:

STATIC_INLINE int log_sysop_get_level ( THREAD_ENTRY thread_p)
STATIC_INLINE void log_sysop_get_tran_index_and_tdes ( THREAD_ENTRY thread_p,
int *  tran_index_out,
LOG_TDES **  tdes_out 
)

Definition at line 4148 of file log_manager.c.

References assert_release, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, and NULL.

Referenced by log_sysop_end_begin(), log_sysop_get_level(), and log_sysop_start_atomic().

Here is the caller graph for this function:

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().

static int log_undo_rec_restartable ( THREAD_ENTRY thread_p,
LOG_RCVINDEX  rcvindex,
LOG_RCV rcv 
)
static
void log_update_global_btid_online_index_stats ( THREAD_ENTRY thread_p)
static bool log_verify_dbcreation ( THREAD_ENTRY thread_p,
VOLID  volid,
const INT64 *  log_dbcreation 
)
static

Definition at line 631 of file log_manager.c.

References disk_get_creation_time(), and NO_ERROR.

Referenced by log_initialize_internal().

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:

Variable Documentation

const int LOG_REC_UNDO_MAX_ATTEMPTS = 3
static

Definition at line 177 of file log_manager.c.

Referenced by log_undo_rec_restartable().

int rv
static

Definition at line 102 of file log_manager.c.

Referenced by log_get_db_start_parameters(), and log_skip_logging().