CUBRID Engine
latest
|
#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>
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 |
#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 |
Definition at line 50 of file log_manager.h.
Referenced by log_do_postpone(), log_get_next_nested_top(), and log_recovery_find_first_postpone().
typedef struct log_topop_range LOG_TOPOP_RANGE |
Definition at line 52 of file log_manager.h.
TRAN_STATE log_abort | ( | THREAD_ENTRY * | thread_p, |
int | tran_index | ||
) |
Definition at line 5185 of file log_manager.c.
References ARG_FILE_LINE, assert, multi_index_unique_stats::clear(), ER_FATAL_ERROR_SEVERITY, ER_LOG_CORRUPTED_DB_DUE_NOLOGGING, ER_LOG_HAS_TOPOPS_DURING_COMMIT_ABORT, ER_LOG_UNKNOWN_TRANINDEX, er_set(), ER_WARNING_SEVERITY, log_topops_stack::last, log_2pc_clear_and_is_tran_distributed(), log_2pc_commit(), LOG_2PC_EXECUTE_ABORT_DECISION, LOG_ABORT, log_abort_local(), log_complete(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_HAS_LOGGING_BEEN_IGNORED, LOG_ISTRAN_2PC_PREPARE, LOG_ISTRAN_ACTIVE, LOG_NEED_NEWTRID, LOG_NEED_TO_WRITE_EOT_LOG, log_sysop_attach_to_outer(), log_tdes::m_multiupd_stats, NO_ERROR, NULL, NULL_TRAN_INDEX, perfmon_inc_stat(), PSTAT_TRAN_NUM_ROLLBACKS, log_tdes::state, log_tdes::topops, log_tdes::tran_index, TRAN_UNACTIVE_UNKNOWN, and log_tdes::trid.
Referenced by log_2pc_attach_client(), log_abort_all_active_transaction(), log_final(), log_initialize_internal(), and xtran_server_abort().
void log_abort_all_active_transaction | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1552 of file log_manager.c.
References _exit(), trantable::area, ARG_FILE_LINE, log_tdes::client_id, css_count_transaction_worker_threads(), css_find_conn_by_tran_index(), css_is_shutdown_timeout_expired(), css_push_external_task(), ER_ERROR_SEVERITY, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, i, log_abort(), LOG_FIND_TDES(), log_Gl, LOG_ISTRAN_ACTIVE, LOG_SYSTEM_TRAN_INDEX, log_Tran_index, NULL, NULL_TRANID, trantable::num_total_indices, thread_sleep(), log_global::trantable, and log_tdes::trid.
Referenced by xboot_shutdown_server().
TRAN_STATE log_abort_local | ( | THREAD_ENTRY * | thread_p, |
LOG_TDES * | tdes, | ||
bool | is_local_tran | ||
) |
Definition at line 5001 of file log_manager.c.
References file_tempcache_drop_tran_temp_files(), log_tdes::first_save_entry, lock_unlock_all(), log_cleanup_modified_class_list(), log_rollback(), log_update_global_btid_online_index_stats(), logtb_complete_mvcc(), LSA_ISNULL(), NULL, qmgr_clear_trans_wakeup(), spage_free_saved_spaces(), log_tdes::state, log_tdes::tail_lsa, log_tdes::tran_index, TRAN_UNACTIVE_ABORTED, and tx_lob_locator_clear().
Referenced by log_2pc_commit_second_phase(), log_2pc_recovery_abort_decision(), and log_abort().
TRAN_STATE log_abort_partial | ( | THREAD_ENTRY * | thread_p, |
const char * | savepoint_name, | ||
LOG_LSA * | savept_lsa | ||
) |
Definition at line 5282 of file log_manager.c.
References ARG_FILE_LINE, assert, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LOG_CORRUPTED_DB_DUE_NOLOGGING, ER_LOG_HAS_TOPOPS_DURING_COMMIT_ABORT, ER_LOG_UNKNOWN_SAVEPOINT, ER_LOG_UNKNOWN_TRANINDEX, er_set(), ER_WARNING_SEVERITY, log_topops_stack::last, log_topops_addresses::lastparent_lsa, log_cleanup_modified_class_list(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_HAS_LOGGING_BEEN_IGNORED, LOG_ISTRAN_ACTIVE, log_sysop_abort(), log_sysop_attach_to_outer(), log_sysop_start(), LSA_COPY(), LSA_ISNULL(), LSA_LT(), LSA_SET_NULL(), NULL, log_topops_addresses::posp_lsa, log_tdes::posp_nxlsa, log_tdes::savept_lsa, log_topops_stack::stack, log_tdes::state, log_tdes::topops, log_tdes::tran_index, TRAN_UNACTIVE_ABORTED, TRAN_UNACTIVE_UNKNOWN, log_tdes::trid, and tx_lob_locator_clear().
Referenced by xtran_server_partial_abort().
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().
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().
int log_active_log_header_start_scan | ( | THREAD_ENTRY * | thread_p, |
int | show_type, | ||
DB_VALUE ** | arg_values, | ||
int | arg_cnt, | ||
void ** | ptr | ||
) |
Definition at line 8817 of file log_manager.c.
References log_page::area, ARG_FILE_LINE, assert, CUBRID_MAGIC_LOG_ACTIVE, db_get_string(), db_private_alloc, db_private_free_and_init, log_header::db_release, DB_TYPE_CHAR, DB_TYPE_NULL, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, ER_IO_MOUNT_FAIL, er_set(), er_set_with_oserror(), error(), fileio_open(), log_global::hdr, actve_log_header_scan_context::header, IO_MAX_PAGE_SIZE, LOG_CS_ENTER_READ_MODE(), LOG_CS_EXIT(), log_Gl, LOG_PAGESIZE, log_header::magic, MAX_ALIGNMENT, NO_ERROR, NULL, log_header::prefix_name, PTR_ALIGN, and strlen.
Referenced by showstmt_scan_init().
int log_add_to_modified_class_list | ( | THREAD_ENTRY * | thread_p, |
const char * | classname, | ||
const OID * | class_oid | ||
) |
Definition at line 4757 of file log_manager.c.
References tx_transient_class_registry::add(), assert, ER_FAILED, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_tdes::m_modified_classes, NO_ERROR, NULL, OID_ISNULL, log_tdes::tail_lsa, and db_identifier::volid.
Referenced by heap_mark_class_as_modified(), locator_update_force(), and xlocator_rename_class_name().
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().
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 | ||
) |
Definition at line 2990 of file log_manager.c.
References assert, log_append_compensate_internal(), and NULL.
Referenced by btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), btree_rv_log_delete_object(), btree_rv_log_insert_object(), file_tracker_item_mark_heap_deleted(), and pgbuf_rv_dealloc_undo().
void log_append_dboutside_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
int | length, | ||
const void * | data | ||
) |
Definition at line 2627 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_DBEXTERN_REDO_DATA, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED, LOG_ISTRAN_ABORTED, LOG_ISTRAN_ACTIVE, log_No_logging, NO_ERROR, NULL, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), RV_fun, and log_tdes::topops.
Referenced by disk_format(), disk_rv_undo_format(), and disk_volume_expand().
void log_append_empty_record | ( | THREAD_ENTRY * | thread_p, |
LOG_RECTYPE | logrec_type, | ||
LOG_DATA_ADDR * | addr | ||
) |
Definition at line 3117 of file log_manager.c.
References assert, log_can_skip_redo_logging(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, NULL, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), and RV_NOT_DEFINED.
Referenced by log_append_postpone(), log_recovery(), overflow_insert(), overflow_update(), and pgbuf_rv_flush_page().
void log_append_ha_server_state | ( | THREAD_ENTRY * | thread_p, |
int | state | ||
) |
Definition at line 3156 of file log_manager.c.
References assert, log_rec_ha_server_state::at_time, LOG_DUMMY_HA_SERVER_STATE, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, logpb_flush_pages(), NULL, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), RV_NOT_DEFINED, and log_rec_ha_server_state::state.
Referenced by css_change_ha_server_state(), css_transit_ha_server_state(), and log_is_log_flush_daemon_available().
void log_append_postpone | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
LOG_DATA_ADDR * | addr, | ||
int | length, | ||
const void * | data | ||
) |
Definition at line 2698 of file log_manager.c.
References log_postpone_cache::add_lsa(), log_postpone_cache::add_redo_data(), ARG_FILE_LINE, assert, log_rcv::data, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LOG_POSTPONE_INTERFACE, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_topops_stack::last, log_rcv::length, log_append_empty_record(), log_append_redo_data(), log_can_skip_redo_logging(), LOG_DUMMY_HEAD_POSTPONE, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED, log_get_crash_point_lsa(), log_is_in_crash_recovery(), LOG_ISTRAN_ABORTED, LOG_ISTRAN_ACTIVE, LOG_MAY_CONTAIN_USER_DATA, log_No_logging, LOG_POSTPONE, log_skip_logging(), LSA_COPY(), LSA_ISNULL(), LSA_LE(), log_tdes::m_log_postpone_cache, NO_ERROR, NULL, log_data_addr::offset, log_rcv::offset, pgbuf_get_tde_algorithm(), log_data_addr::pgptr, log_rcv::pgptr, log_topops_addresses::posp_lsa, log_tdes::posp_nxlsa, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), prior_set_tde_encrypted(), RV_fun, log_topops_stack::stack, log_tdes::tail_lsa, TDE_ALGORITHM_NONE, and log_tdes::topops.
Referenced by btree_insert_mvcc_delid_into_page(), disk_stab_unit_unreserve(), file_dealloc(), file_postpone_destroy(), heap_delete_relocation(), heap_log_delete_physical(), heap_log_postpone_heap_append_pages(), vacuum_log_add_dropped_file(), xbtree_delete_index(), and xheap_destroy_newly_created().
void log_append_redo_crumbs | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
LOG_DATA_ADDR * | addr, | ||
int | num_crumbs, | ||
const LOG_CRUMB * | crumbs | ||
) |
Definition at line 2307 of file log_manager.c.
References ARG_FILE_LINE, assert, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LOG_REDO_INTERFACE, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_topops_stack::last, log_can_skip_redo_logging(), LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED, LOG_IS_MVCC_OPERATION, LOG_ISTRAN_ABORTED, LOG_ISTRAN_ACTIVE, LOG_MAY_CONTAIN_USER_DATA, LOG_MVCC_REDO_DATA, LOG_NEED_TO_SET_LSA, log_No_logging, LOG_REDO_DATA, log_skip_logging(), LSA_COPY(), NO_ERROR, NULL, pgbuf_get_tde_algorithm(), pgbuf_set_lsa(), log_data_addr::pgptr, prior_lsa_alloc_and_copy_crumbs(), prior_lsa_next_record(), prior_set_tde_encrypted(), log_tdes::repl_insert_lsa, log_tdes::repl_update_lsa, RV_fun, RVHF_INSERT, RVHF_MVCC_INSERT, RVHF_UPDATE, RVHF_UPDATE_NOTIFY_VACUUM, RVOVF_CHANGE_LINK, log_tdes::tail_lsa, TDE_ALGORITHM_NONE, and log_tdes::topops.
Referenced by log_append_redo_data(), log_append_redo_data2(), log_append_redo_recdes2(), log_append_undoredo_crumbs(), and vacuum_log_cleanup_dropped_files().
void log_append_redo_data | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
LOG_DATA_ADDR * | addr, | ||
int | length, | ||
const void * | data | ||
) |
Definition at line 1979 of file log_manager.c.
References assert, log_crumb::data, log_crumb::length, log_append_redo_crumbs(), and NULL.
Referenced by btree_key_online_index_IB_insert(), btree_key_remove_insert_mvccid(), btree_log_page(), btree_rv_log_delete_object(), btree_rv_log_insert_object(), btree_rv_remove_unique_stats(), btree_start_overflow_page(), disk_format(), file_extdata_merge_pages(), heap_create_internal(), heap_ovf_find_vfid(), heap_reuse(), log_append_postpone(), overflow_insert(), overflow_update(), vacuum_job_cursor::start_job_on_current_entry(), and vacuum_log_vacuum_heap_page().
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 | ||
) |
Definition at line 1995 of file log_manager.c.
References assert, log_crumb::data, log_crumb::length, log_append_redo_crumbs(), NULL, log_data_addr::offset, log_data_addr::pgptr, and log_data_addr::vfid.
Referenced by btree_init_node_header(), btree_init_root_header(), btree_merge_node(), btree_node_header_redo_log(), btree_split_node(), btree_split_root(), disk_stab_init(), ehash_create_helper(), ehash_delete(), ehash_expand_directory(), ehash_insert_to_bucket(), ehash_merge_permanent(), ehash_rv_delete(), ehash_shrink_directory(), ehash_split_bucket(), pgbuf_log_redo_new_page(), vacuum_add_dropped_file(), vacuum_consume_buffer_log_blocks(), vacuum_data_mark_finished(), vacuum_init_data_page_with_last_blockid(), vacuum_log_remove_ovf_insid(), xlocator_rename_class_name(), xlocator_reserve_class_name(), and xvacuum().
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().
void log_append_redo_recdes2 | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
const VFID * | vfid, | ||
PAGE_PTR | pgptr, | ||
PGLENGTH | offset, | ||
const RECDES * | recdes | ||
) |
Definition at line 2579 of file log_manager.c.
References log_crumb::data, recdes::data, log_crumb::length, recdes::length, log_append_redo_crumbs(), NULL, log_data_addr::offset, log_data_addr::pgptr, recdes::type, and log_data_addr::vfid.
Referenced by catalog_adjust_directory_count(), catalog_drop_old_representations(), catalog_drop_representation_helper(), catalog_drop_representation_item(), catalog_put_record_into_page(), catalog_put_representation_item(), catalog_update_class_info(), and log_append_redo_recdes().
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().
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 | ||
) |
Definition at line 2860 of file log_manager.c.
References ARG_FILE_LINE, assert, log_rec_run_postpone::data, log_prior_node::data_header, ER_FATAL_ERROR_SEVERITY, er_log_debug, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_rec_run_postpone::length, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_MAY_CONTAIN_USER_DATA, LOG_NEED_TO_SET_LSA, LOG_RUN_POSTPONE, LSA_COPY(), NO_ERROR, NULL, log_data_addr::offset, log_data::offset, log_data::pageid, vpid::pageid, pgbuf_get_tde_algorithm(), pgbuf_set_lsa(), log_data_addr::pgptr, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), prior_set_tde_encrypted(), log_data::rcvindex, log_rec_run_postpone::ref_lsa, RV_NOT_DEFINED, log_tdes::state, TDE_ALGORITHM_NONE, TRAN_UNACTIVE_COMMITTED_WITH_POSTPONE, TRAN_UNACTIVE_TOPOPE_COMMITTED_WITH_POSTPONE, TRAN_UNACTIVE_WILL_COMMIT, log_data::volid, and vpid::volid.
Referenced by btree_rv_log_delete_object(), file_tracker_item_mark_heap_deleted(), and log_execute_run_postpone().
LOG_LSA* log_append_savepoint | ( | THREAD_ENTRY * | thread_p, |
const char * | savept_name | ||
) |
Definition at line 3344 of file log_manager.c.
References ARG_FILE_LINE, assert, log_prior_node::data_header, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LOG_CANNOT_ADD_SAVEPOINT, ER_LOG_NONAME_SAVEPOINT, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_rec_savept::length, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_ISTRAN_ACTIVE, LOG_SAVEPOINT, LSA_COPY(), NULL, perfmon_inc_stat(), prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), log_rec_savept::prv_savept, PSTAT_TRAN_NUM_SAVEPOINTS, RV_NOT_DEFINED, log_tdes::savept_lsa, strlen, and log_tdes::tail_lsa.
Referenced by xtran_server_savepoint().
void log_append_undo_crumbs | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
LOG_DATA_ADDR * | addr, | ||
int | num_crumbs, | ||
const LOG_CRUMB * | crumbs | ||
) |
Definition at line 2170 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_can_skip_undo_logging(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED, LOG_IS_MVCC_OPERATION, LOG_ISTRAN_ABORTED, LOG_ISTRAN_ACTIVE, LOG_MAY_CONTAIN_USER_DATA, LOG_MVCC_UNDO_DATA, LOG_NEED_TO_SET_LSA, log_No_logging, log_skip_logging(), LOG_UNDO_DATA, NO_ERROR, NULL, pgbuf_get_tde_algorithm(), pgbuf_notify_vacuum_follows(), pgbuf_set_lsa(), log_data_addr::pgptr, prior_lsa_alloc_and_copy_crumbs(), prior_lsa_next_record(), prior_set_tde_encrypted(), RV_fun, TDE_ALGORITHM_NONE, and log_tdes::topops.
Referenced by heap_mvcc_log_insert(), log_append_undo_data(), log_append_undo_data2(), and log_append_undo_recdes2().
void log_append_undo_data | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
LOG_DATA_ADDR * | addr, | ||
int | length, | ||
const void * | data | ||
) |
Definition at line 1917 of file log_manager.c.
References assert, log_crumb::data, log_crumb::length, log_append_undo_crumbs(), and NULL.
Referenced by btree_merge_node(), btree_merge_root(), disk_format(), file_extdata_merge_pages(), heap_mvcc_log_delete(), heap_ovf_find_vfid(), overflow_update(), vacuum_log_add_dropped_file(), and vacuum_rv_es_nop().
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 | ||
) |
Definition at line 1933 of file log_manager.c.
References assert, log_crumb::data, log_crumb::length, log_append_undo_crumbs(), NULL, log_data_addr::offset, log_data_addr::pgptr, and log_data_addr::vfid.
Referenced by boot_dbparm_save_volume(), btree_construct_leafs(), btree_fix_ovfl_oid_page(), btree_merge_node(), btree_merge_root(), btree_node_header_undo_log(), btree_split_node(), btree_split_root(), catalog_put_record_into_page(), disk_set_link(), ehash_delete(), ehash_expand_directory(), ehash_insert_to_bucket(), ehash_merge_permanent(), ehash_shrink_directory(), ehash_split_bucket(), logtb_tran_update_unique_stats(), xbtree_add_index(), and xbtree_load_index().
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().
void log_append_undo_recdes2 | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
const VFID * | vfid, | ||
PAGE_PTR | pgptr, | ||
PGLENGTH | offset, | ||
const RECDES * | recdes | ||
) |
Definition at line 2538 of file log_manager.c.
References log_crumb::data, recdes::data, log_crumb::length, recdes::length, log_append_undo_crumbs(), NULL, log_data_addr::offset, log_data_addr::pgptr, recdes::type, and log_data_addr::vfid.
Referenced by catalog_adjust_directory_count(), catalog_drop_old_representations(), catalog_drop_representation_helper(), catalog_drop_representation_item(), catalog_put_record_into_page(), catalog_put_representation_item(), catalog_update_class_info(), heap_update_bigone(), and log_append_undo_recdes().
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 | ||
) |
Definition at line 2030 of file log_manager.c.
References ARG_FILE_LINE, assert, assert_release, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LOG_REDO_INTERFACE, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_topops_stack::last, log_append_redo_crumbs(), log_can_skip_undo_logging(), LOG_CHECK_LOG_APPLIER, log_does_allow_replication(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_FLUSH_LOGGING_HAS_BEEN_SKIPPED, LOG_IS_MVCC_OPERATION, LOG_ISTRAN_ABORTED, LOG_ISTRAN_ACTIVE, LOG_MAY_CONTAIN_USER_DATA, LOG_MVCC_UNDOREDO_DATA, LOG_NEED_TO_SET_LSA, log_No_logging, log_skip_logging(), LOG_UNDOREDO_DATA, LSA_COPY(), NO_ERROR, NULL, pgbuf_get_tde_algorithm(), pgbuf_notify_vacuum_follows(), pgbuf_set_lsa(), log_data_addr::pgptr, prior_lsa_alloc_and_copy_crumbs(), prior_lsa_next_record(), prior_set_tde_encrypted(), log_tdes::repl_insert_lsa, log_tdes::repl_update_lsa, RV_fun, RVHF_INSERT, RVHF_INSERT_NEWHOME, RVHF_MVCC_INSERT, RVHF_UPDATE, RVHF_UPDATE_NOTIFY_VACUUM, RVOVF_CHANGE_LINK, log_tdes::tail_lsa, TDE_ALGORITHM_NONE, and log_tdes::topops.
Referenced by file_log_extdata_add(), file_log_extdata_remove(), heap_mvcc_log_insert(), heap_mvcc_log_redistribute(), log_append_undoredo_data(), log_append_undoredo_data2(), log_append_undoredo_recdes2(), and vacuum_log_redoundo_vacuum_record().
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 | ||
) |
Definition at line 1837 of file log_manager.c.
References assert, log_crumb::data, log_crumb::length, log_append_undoredo_crumbs(), and NULL.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_unique(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_log_delete_object(), btree_rv_log_insert_object(), disk_set_boot_hfid(), disk_set_creation(), disk_set_link(), file_dealloc(), file_log_extdata_set_next(), file_log_fhead_alloc(), file_log_fhead_dealloc(), file_perm_dealloc(), heap_add_chain_links(), heap_mvcc_log_delete(), heap_mvcc_log_home_no_change(), heap_update_and_log_header(), heap_vpid_alloc(), heap_vpid_init_new(), heap_vpid_remove(), overflow_update(), vacuum_add_dropped_file(), vacuum_dropped_files_set_next_page(), and xheap_reclaim_addresses().
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 | ||
) |
Definition at line 1861 of file log_manager.c.
References assert, log_crumb::data, log_crumb::length, log_append_undoredo_crumbs(), NULL, log_data_addr::offset, log_data_addr::pgptr, and log_data_addr::vfid.
Referenced by btree_change_root_header_delta(), btree_delete_meta_record(), btree_fix_root_for_insert(), btree_initialize_new_page(), btree_merge_node(), btree_merge_root(), btree_split_node(), catalog_initialize_new_page(), disk_stab_unit_reserve(), disk_volume_expand(), ehash_adjust_local_depth(), ehash_connect_bucket(), ehash_initialize_bucket_new_page(), ehash_initialize_dir_new_page(), file_alloc_sticky_first_page(), file_descriptor_update(), file_extdata_update_item(), file_header_update_mark_deleted(), file_init_page_type_internal(), file_numerable_add_page(), file_perm_alloc(), file_perm_expand(), file_set_tde_algorithm(), file_table_move_partial_sectors_to_header(), file_tracker_init_page(), file_tracker_item_reuse_heap(), heap_remove_page_on_vacuum(), logtb_update_global_unique_stats_by_delta(), pgbuf_dealloc_page(), pgbuf_log_new_page(), pgbuf_set_tde_algorithm(), vacuum_consume_buffer_log_blocks(), and vacuum_data_empty_page().
void log_append_undoredo_recdes | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
LOG_DATA_ADDR * | addr, | ||
const RECDES * | undo_recdes, | ||
const RECDES * | redo_recdes | ||
) |
Definition at line 2434 of file log_manager.c.
References log_append_undoredo_recdes2(), log_data_addr::offset, log_data_addr::pgptr, and log_data_addr::vfid.
Referenced by heap_delete_relocation(), heap_log_delete_physical(), heap_log_insert_physical(), heap_log_update_physical(), and heap_mvcc_log_home_change_on_delete().
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 | ||
) |
Definition at line 2441 of file log_manager.c.
References log_crumb::data, recdes::data, free_and_init, log_crumb::length, recdes::length, log_append_undoredo_crumbs(), LOG_FIND_CURRENT_TDES(), NULL, log_data_addr::offset, log_data_addr::pgptr, RVHF_UPDATE, recdes::type, and log_data_addr::vfid.
Referenced by catalog_add_class_info(), catalog_drop_directory(), catalog_drop_representation_helper(), catalog_insert_representation_item(), catalog_put_record_into_page(), catalog_put_representation_item(), and log_append_undoredo_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().
SCAN_CODE log_archive_log_header_next_scan | ( | THREAD_ENTRY * | thread_p, |
int | cursor, | ||
DB_VALUE ** | out_values, | ||
int | out_cnt, | ||
void * | ptr | ||
) |
Definition at line 9252 of file log_manager.c.
References log_arv_header::arv_num, assert, log_arv_header::db_creation, db_localdatetime(), db_make_bigint(), db_make_datetime(), db_make_int(), db_make_string_copy(), error(), log_arv_header::fpageid, actve_log_header_scan_context::header, archive_log_header_scan_context::header, LOG_DBLOG_ARCHIVE_VOLID, log_arv_header::magic, log_arv_header::next_trid, NO_ERROR, log_arv_header::npages, S_END, S_ERROR, and S_SUCCESS.
Referenced by showstmt_scan_init().
int log_archive_log_header_start_scan | ( | THREAD_ENTRY * | thread_p, |
int | show_type, | ||
DB_VALUE ** | arg_values, | ||
int | arg_cnt, | ||
void ** | ptr | ||
) |
Definition at line 9175 of file log_manager.c.
References log_page::area, ARG_FILE_LINE, assert, CUBRID_MAGIC_LOG_ARCHIVE, db_get_string(), db_private_alloc, db_private_free_and_init, DB_TYPE_CHAR, DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, ER_IO_MOUNT_FAIL, er_set(), er_set_with_oserror(), error(), fileio_open(), archive_log_header_scan_context::header, IO_MAX_PAGE_SIZE, LOG_PAGESIZE, log_arv_header::magic, MAX_ALIGNMENT, NO_ERROR, NULL, PTR_ALIGN, and strlen.
Referenced by showstmt_scan_init().
bool log_check_system_op_is_started | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4166 of file log_manager.c.
References assert_release, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LOG_IS_SYSTEM_OP_STARTED, and NULL.
Referenced by boot_dbparm_save_volume(), btree_key_append_object_as_new_overflow(), btree_load_new_page(), btree_rv_remove_unique_stats(), disk_reserve_sectors(), file_alloc_multiple(), file_destroy(), file_extdata_find_and_remove_item(), file_extdata_merge_pages(), file_perm_alloc(), file_perm_dealloc(), file_perm_expand(), file_rv_destroy(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_table_add_full_sector(), file_tracker_item_reuse_heap(), file_tracker_register(), file_tracker_register_internal(), and file_tracker_unregister().
TRAN_STATE log_commit | ( | THREAD_ENTRY * | thread_p, |
int | tran_index, | ||
bool | retain_lock | ||
) |
Definition at line 5076 of file log_manager.c.
References ARG_FILE_LINE, assert, multi_index_unique_stats::clear(), ER_FATAL_ERROR_SEVERITY, er_log_debug, ER_LOG_HAS_TOPOPS_DURING_COMMIT_ABORT, ER_LOG_UNKNOWN_TRANINDEX, er_set(), ER_WARNING_SEVERITY, log_header::has_logging_been_skipped, log_global::hdr, log_topops_stack::last, log_2pc_clear_and_is_tran_distributed(), log_2pc_commit(), LOG_2PC_EXECUTE_COMMIT_DECISION, LOG_2PC_EXECUTE_FULL, LOG_ALREADY_WROTE_EOT_LOG, LOG_COMMIT, log_commit_local(), log_complete(), LOG_CS_ENTER(), LOG_CS_EXIT(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_Gl, LOG_HAS_LOGGING_BEEN_IGNORED, LOG_ISRESTARTED, LOG_ISTRAN_2PC_PREPARE, LOG_ISTRAN_ACTIVE, LOG_NEED_NEWTRID, log_No_logging, log_state_string(), log_sysop_attach_to_outer(), logpb_flush_header(), logpb_flush_pages_direct(), log_tdes::m_multiupd_stats, NO_ERROR, NULL, NULL_TRAN_INDEX, NULL_VOLID, perfmon_inc_stat(), pgbuf_flush_all_unfixed(), PSTAT_TRAN_NUM_COMMITS, log_tdes::state, log_tdes::topops, log_tdes::tran_index, TRAN_UNACTIVE_UNKNOWN, and log_tdes::trid.
Referenced by log_recreate(), and xtran_server_commit().
TRAN_STATE log_commit_local | ( | THREAD_ENTRY * | thread_p, |
LOG_TDES * | tdes, | ||
bool | retain_lock, | ||
bool | is_local_tran | ||
) |
Definition at line 4883 of file log_manager.c.
References file_tempcache_drop_tran_temp_files(), log_tdes::first_save_entry, lock_unlock_all(), log_append_commit_log(), log_append_repl_info_and_commit_log(), log_change_tran_as_completed(), LOG_CHECK_LOG_APPLIER, log_cleanup_modified_class_list(), LOG_COMMIT, log_does_allow_replication(), log_tran_do_postpone(), logtb_complete_mvcc(), LSA_ISNULL(), LSA_SET_NULL(), NULL, qmgr_clear_trans_wakeup(), spage_free_saved_spaces(), log_tdes::state, log_tdes::tail_lsa, log_tdes::tran_index, TRAN_UNACTIVE_COMMITTED, TRAN_UNACTIVE_WILL_COMMIT, tx_lob_locator_clear(), and log_tdes::undo_nxlsa.
Referenced by log_2pc_commit_second_phase(), log_2pc_recovery_commit_decision(), and log_commit().
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 | ||
) |
Definition at line 5377 of file log_manager.c.
References assert, LOG_ABORT, log_append_abort_log(), log_append_commit_log(), log_change_tran_as_completed(), LOG_COMMIT, LOG_FIND_THREAD_TRAN_INDEX, log_Gl, LOG_ISCHECKPOINT_TIME, LOG_NEED_NEWTRID, LOG_NEED_TO_WRITE_EOT_LOG, log_wakeup_checkpoint_daemon(), logpb_checkpoint(), logtb_clear_tdes(), logtb_get_new_tran_id(), LSA_ISNULL(), log_global::mvcc_table, mvcctable::reset_transaction_lowest_active(), log_tdes::state, log_tdes::tail_lsa, TRAN_UNACTIVE_ABORTED, and TRAN_UNACTIVE_COMMITTED.
Referenced by log_abort(), log_commit(), log_recovery_finish_postpone(), and log_recovery_undo().
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().
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().
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().
void LOG_CS_ENTER | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10222 of file log_manager.c.
References assert, csect_enter, CSECT_LOG, INF_WAIT, and NO_ERROR.
Referenced by fi_handler_random_exit(), heap_get_visible_version_from_log(), log_commit(), log_create_internal(), log_final(), log_get_charset_from_header_page(), log_get_io_page_size(), log_initialize_internal(), log_is_log_flush_daemon_available(), log_prior_has_worker_log_records(), log_recovery(), log_recreate(), log_rv_outside_noop_redo(), log_set_db_restore_time(), log_set_ha_promotion_time(), logpb_backup(), logpb_backup_for_volume(), logpb_checkpoint(), logpb_fetch_page(), logpb_flush_log_for_wal(), logpb_flush_pages(), logpb_force_flush_header_and_pages(), logpb_force_flush_pages(), logpb_remove_archive_logs_exceed_limit(), logpb_restore(), logtb_define_trantable(), logwr_log_ha_filestat_to_string(), prior_lsa_next_record_internal(), and xlog_dump().
void LOG_CS_ENTER_READ_MODE | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10233 of file log_manager.c.
References assert, csect_enter_as_reader, CSECT_LOG, INF_WAIT, and NO_ERROR.
Referenced by css_process_get_eof_request(), log_active_log_header_start_scan(), logpb_copy_page(), logpb_copy_page_from_file(), logpb_read_page_from_file(), and xvacuum_dump().
void LOG_CS_EXIT | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10244 of file log_manager.c.
References assert, csect_exit, CSECT_LOG, and NO_ERROR.
Referenced by css_process_get_eof_request(), fi_handler_random_exit(), heap_get_visible_version_from_log(), log_active_log_header_start_scan(), log_commit(), log_create_internal(), log_final(), log_get_charset_from_header_page(), log_get_io_page_size(), log_initialize_internal(), log_is_log_flush_daemon_available(), log_prior_has_worker_log_records(), log_recovery(), log_recreate(), log_rv_outside_noop_redo(), log_set_db_restore_time(), log_set_ha_promotion_time(), logpb_backup(), logpb_backup_for_volume(), logpb_checkpoint(), logpb_copy_page(), logpb_copy_page_from_file(), logpb_fetch_page(), logpb_flush_log_for_wal(), logpb_flush_pages(), logpb_force_flush_header_and_pages(), logpb_force_flush_pages(), logpb_read_page_from_file(), logpb_remove_archive_logs_exceed_limit(), logpb_restore(), logtb_define_trantable(), logwr_log_ha_filestat_to_string(), prior_lsa_next_record_internal(), xlog_dump(), and xvacuum_dump().
bool LOG_CS_OWN | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10277 of file log_manager.c.
References csect_check_own, CSECT_LOG, and vacuum_is_process_log_for_vacuum().
Referenced by fileio_flush_control_get_token(), logpb_add_archive_page_info(), logpb_fetch_from_archive(), logpb_find_oldest_available_arv_num(), logpb_find_oldest_available_page_id(), logpb_get_archive_num_from_info_table(), logpb_get_guess_archive_num(), logpb_is_archive_available(), and logpb_read_page_from_file().
bool LOG_CS_OWN_WRITE_MODE | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10292 of file log_manager.c.
References csect_check_own, and CSECT_LOG.
Referenced by fileio_read_backup(), log_recovery(), log_recovery_resetlog(), logpb_append_crumbs(), logpb_append_data(), logpb_append_prior_lsa_list(), logpb_archive_active_log(), logpb_checkpoint(), logpb_copy_log_header(), logpb_create_header_page(), logpb_dump(), logpb_end_append(), logpb_fetch_header(), logpb_fetch_header_from_active_log(), logpb_fetch_header_with_buffer(), logpb_fetch_start_append_page(), logpb_fetch_start_append_page_new(), logpb_finalize_pool(), logpb_find_header_parameters(), logpb_flush_all_append_pages(), logpb_flush_header(), logpb_flush_page(), logpb_flush_pages(), logpb_flush_pages_direct(), logpb_initialize_header(), logpb_initialize_pool(), logpb_invalid_all_append_pages(), logpb_invalidate_pool(), logpb_is_any_dirty(), logpb_is_dirty(), logpb_is_pool_initialized(), logpb_locate_page(), logpb_next_append_page(), logpb_prior_lsa_append_all_list(), logpb_remove_archive_logs(), logpb_start_append(), logtb_define_trantable_log_latch(), and prior_lsa_remove_prior_list().
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().
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().
int log_execute_run_postpone | ( | THREAD_ENTRY * | thread_p, |
LOG_LSA * | log_lsa, | ||
LOG_REC_REDO * | redo, | ||
char * | redo_rcv_data | ||
) |
Definition at line 8213 of file log_manager.c.
References ARG_FILE_LINE, assert, log_rec_redo::data, log_rcv::data, ER_ERROR_SEVERITY, ER_LOG_MAYNEED_MEDIA_RECOVERY, er_set(), fileio_get_volume_label(), log_rec_redo::length, log_rcv::length, log_append_run_postpone(), log_sysop_end_logical_run_postpone(), log_sysop_start(), LSA_COPY(), NO_ERROR, NULL, log_data_addr::offset, log_data::offset, log_rcv::offset, log_data::pageid, vpid::pageid, PEEK, pgbuf_fix_if_not_deallocated, PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, log_data_addr::pgptr, log_rcv::pgptr, RCV_IS_LOGICAL_LOG, RCV_IS_LOGICAL_RUN_POSTPONE_MANUAL, log_data::rcvindex, rvfun::redofun, log_rcv::reference_lsa, RV_fun, log_data::volid, vpid::volid, and VPID_ISNULL.
Referenced by log_postpone_cache::do_postpone(), and log_run_postpone_op().
void log_final | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 1664 of file log_manager.c.
References log_global::append, log_header::append_lsa, trantable::area, log_global::bg_archive_info, log_header::chkpt_lsa, log_system_tdes::destroy_system_transactions(), fileio_dismount(), fileio_synchronize_all(), free_and_init, log_header::has_logging_been_skipped, log_global::hdr, i, log_header::is_shutdown, log_abort(), LOG_CS_ENTER(), LOG_CS_EXIT(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_Gl, LOG_ISTRAN_ACTIVE, LOG_RECOVERY_ANALYSIS_PHASE, LOG_SET_CURRENT_TRAN_INDEX, LOG_SYSTEM_TRAN_INDEX, log_global::loghdr_pgptr, logpb_checkpoint(), logpb_decache_archive_info(), logpb_finalize_pool(), logpb_flush_header(), logpb_flush_pages_direct(), logpb_is_pool_initialized(), logtb_undefine_trantable(), LSA_COPY(), NO_ERROR, NULL, NULL_TRANID, NULL_VOLDES, NULL_VOLID, trantable::num_total_indices, pgbuf_flush_all(), prm_get_bool_value(), PRM_ID_LOG_BACKGROUND_ARCHIVING, log_global::rcv_phase, log_header::smallest_lsa_at_last_chkpt, log_global::trantable, log_tdes::trid, background_archiving_info::vdes, and log_append_info::vdes.
Referenced by boot_create_all_volumes(), boot_remove_all_volumes(), boot_restart_server(), log_create_internal(), log_initialize_internal(), xboot_initialize_server(), and xboot_shutdown_server().
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().
int log_get_charset_from_header_page | ( | THREAD_ENTRY * | thread_p, |
const char * | db_fullname, | ||
const char * | logpath, | ||
const char * | prefix_logname | ||
) |
Definition at line 8645 of file log_manager.c.
References ARG_FILE_LINE, er_errid(), ER_ERROR_SEVERITY, ER_LOG_MOUNT_FAIL, er_set(), INTL_CODESET_ERROR, INTL_CODESET_NONE, LOG_CS_ENTER(), LOG_CS_EXIT(), log_Name_active, logpb_find_header_parameters(), and NO_ERROR.
Referenced by boot_get_db_charset_from_header().
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().
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().
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().
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().
PGLENGTH log_get_io_page_size | ( | THREAD_ENTRY * | thread_p, |
const char * | db_fullname, | ||
const char * | logpath, | ||
const char * | prefix_logname | ||
) |
Definition at line 8572 of file log_manager.c.
References trantable::area, ARG_FILE_LINE, db_set_page_size(), er_errid(), ER_ERROR_SEVERITY, ER_LOG_MOUNT_FAIL, er_set(), IO_PAGESIZE, LOG_CS_ENTER(), LOG_CS_EXIT(), log_Gl, log_Name_active, LOG_PAGESIZE, logpb_find_header_parameters(), logtb_define_trantable_log_latch(), NO_ERROR, NULL, trantable::num_total_indices, sysprm_reload_and_init(), and log_global::trantable.
Referenced by boot_remove_all_volumes(), boot_restart_server(), and xboot_emergency_patch().
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 | ||
) |
Definition at line 7694 of file log_manager.c.
References log_page::area, ARG_FILE_LINE, log_rec_header::back_lsa, free_and_init, IO_MAX_PAGE_SIZE, log_rec_sysop_end::lastparent_lsa, LOG_CS_FORCE_USE, LOG_GET_LOG_RECORD_HEADER, LOG_READ_ADD_ALIGN, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, LOG_SYSOP_END, LOG_SYSOP_END_LOGICAL_RUN_POSTPONE, LOG_TOPOP_STACK_INIT_SIZE, logpb_fatal_error(), logpb_fetch_page(), LSA_COPY(), LSA_GT(), LSA_ISNULL(), LSA_LE(), LSA_SET_NULL(), MAX_ALIGNMENT, NO_ERROR, NULL, NULL_PAGEID, log_lsa::offset, log_lsa::pageid, log_rec_sysop_end::prv_topresult_lsa, PTR_ALIGN, log_tdes::tail_topresult_lsa, log_rec_header::type, and log_rec_sysop_end::type.
Referenced by log_do_postpone(), and log_recovery_find_first_postpone().
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().
LOG_LSA* log_get_parent_lsa_system_op | ( | THREAD_ENTRY * | thread_p, |
LOG_LSA * | parent_lsa | ||
) |
Definition at line 4198 of file log_manager.c.
References ARG_FILE_LINE, 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, LSA_COPY(), LSA_SET_NULL(), NO_ERROR, NULL, log_topops_stack::stack, and log_tdes::topops.
Referenced by xtran_server_end_topop(), and xtran_server_start_topop().
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().
SCAN_CODE log_get_undo_record | ( | THREAD_ENTRY * | thread_p, |
LOG_PAGE * | log_page_p, | ||
LOG_LSA | process_lsa, | ||
RECDES * | recdes | ||
) |
Definition at line 9370 of file log_manager.c.
References log_page::area, recdes::area_size, ARG_FILE_LINE, assert, assert_release, recdes::data, log_zip::data_length, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_LOG_FATAL_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), GET_ZIP_LEN, IO_MAX_PAGE_SIZE, IO_PAGESIZE, log_rec_undo::length, recdes::length, log_zip::log_data, LOG_DIFF_UNDOREDO_DATA, log_get_append_lsa(), LOG_GET_LOG_RECORD_HEADER, LOG_MVCC_DIFF_UNDOREDO_DATA, LOG_MVCC_UNDO_DATA, LOG_MVCC_UNDOREDO_DATA, LOG_READ_ADD_ALIGN, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, LOG_UNDO_DATA, LOG_UNDOREDO_DATA, log_unzip(), log_zip_alloc(), log_zip_free(), LOGAREA_SIZE, logpb_copy_from_log(), logpb_fatal_error(), LSA_LT(), MAX_ALIGNMENT, NULL, log_lsa::offset, PTR_ALIGN, S_DOESNT_FIT, S_ERROR, S_SUCCESS, log_rec_header::type, recdes::type, log_rec_undoredo::ulength, log_rec_mvcc_undo::undo, log_rec_mvcc_undoredo::undoredo, and ZIP_CHECK.
Referenced by heap_get_visible_version_from_log().
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 | ||
) |
Definition at line 1005 of file log_manager.c.
References ARG_FILE_LINE, er_log_debug, log_initialize_internal(), log_No_logging, NULL, prm_get_bool_value(), PRM_ID_LOG_NO_LOGGING, and PRM_ID_LOG_TRACE_DEBUG.
Referenced by boot_create_all_volumes(), and boot_restart_server().
bool log_is_class_being_modified | ( | THREAD_ENTRY * | thread_p, |
const OID * | class_oid | ||
) |
Definition at line 4786 of file log_manager.c.
References assert, tx_transient_class_registry::has_class(), LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_tdes::m_modified_classes, NULL, OID_ISNULL, and db_identifier::volid.
Referenced by partition_cache_pruning_context(), and partition_load_context_from_cache().
bool log_is_in_crash_recovery | ( | void | ) |
Definition at line 476 of file log_manager.c.
References LOG_ISRESTARTED.
Referenced by btree_check_valid_record(), btree_key_delete_remove_object(), btree_key_insert_new_key(), btree_key_lock_and_append_object_unique(), btree_set_unknown_key_error(), heap_classrepr_restart_cache(), log_append_postpone(), log_recovery_find_first_postpone(), logpb_fetch_from_archive(), pgbuf_check_page_ptype_internal(), pgbuf_claim_bcb_for_fix(), prior_lsa_next_record_internal(), spage_find_empty_slot_at(), spage_get_saved_spaces(), spage_save_space(), and vacuum_rv_check_at_undo().
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().
bool log_is_log_flush_daemon_available | ( | ) |
Definition at line 9730 of file log_manager.c.
References ARG_FILE_LINE, assert, BO_IS_SERVER_RESTARTED, catcls_get_apply_info_log_record_time(), cubthread::manager::create_daemon(), csect_enter, csect_exit, CSECT_HA_SERVER_STATE, css_ha_server_state(), css_is_ha_repl_delayed(), css_set_ha_repl_delayed(), css_unset_ha_repl_delayed(), cubthread::manager::destroy_daemon(), ER_HA_REPL_DELAY_DETECTED, ER_HA_REPL_DELAY_RESOLVED, ER_NOTIFICATION_SEVERITY, er_set(), cubthread::entry::event_stats, log_group_commit_info::gc_cond, log_logging_stat::gc_flush_count, log_group_commit_info::gc_mutex, cubthread::get_manager(), cubthread::daemon::get_stats(), log_global::group_commit_info, HA_DELAY_ERR_CORRECTION, HA_SERVER_STATE_ACTIVE, HA_SERVER_STATE_TO_BE_STANDBY, INF_WAIT, log_append_ha_server_state(), LOG_CS_ENTER(), LOG_CS_EXIT(), log_get_checkpoint_interval(), log_get_log_group_commit_interval(), log_Gl, log_Stat, logpb_checkpoint(), logpb_flush_pages_direct(), logpb_remove_archive_logs_exceed_limit(), NO_ERROR, NULL, perfmon_set_stat(), prm_get_integer_value(), PRM_ID_HA_DELAY_LIMIT_DELTA_IN_SECS, PRM_ID_HA_DELAY_LIMIT_IN_SECS, PRM_ID_LOG_TRACE_FLUSH_TIME_MSECS, PRM_ID_REMOVE_LOG_ARCHIVES_INTERVAL, PSTAT_HA_REPL_DELAY, pthread_mutex_lock, pthread_mutex_unlock, and event_stat::trace_log_flush_time.
Referenced by log_wakeup_log_flush_daemon(), logpb_flush_pages(), and pgbuf_flush_victim_candidates().
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().
bool log_is_tran_in_system_op | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4234 of file log_manager.c.
References ARG_FILE_LINE, ER_FATAL_ERROR_SEVERITY, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_topops_stack::last, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, LSA_ISNULL(), NO_ERROR, NULL, log_tdes::savept_lsa, and log_tdes::topops.
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 | ||
) |
Definition at line 9553 of file log_manager.c.
References log_page::area, ARG_FILE_LINE, assert, ASSERT_ERROR, db_private_alloc, db_private_realloc, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), log_page::hdr, log_rec_undo::length, LOG_CS_FORCE_USE, LOG_READ_ADD_ALIGN, LOG_READ_ADVANCE_WHEN_DOESNT_FIT, LOG_SYSOP_END_LOGICAL_MVCC_UNDO, LOG_SYSOP_END_LOGICAL_UNDO, LOG_SYSOP_START_POSTPONE, LOGAREA_SIZE, log_hdrpage::logical_pageid, logpb_copy_from_log(), logpb_fetch_page(), log_rec_sysop_end::mvcc_undo, NO_ERROR, NULL, log_lsa::offset, log_lsa::pageid, log_rec_sysop_start_postpone::sysop_end, log_rec_sysop_end::type, log_rec_mvcc_undo::undo, and log_rec_sysop_end::undo.
Referenced by log_recovery_finish_sysop_postpone(), and log_rv_analysis_end_checkpoint().
int log_recreate | ( | THREAD_ENTRY * | thread_p, |
const char * | db_fullname, | ||
const char * | logpath, | ||
const char * | prefix_logname, | ||
DKNPAGES | log_npages, | ||
FILE * | outfp | ||
) |
Definition at line 8449 of file log_manager.c.
References log_header::chkpt_lsa, log_header::db_creation, DB_TEMPORARY_DATA_PURPOSE, DISK_DONT_FLUSH, disk_get_creation_time(), DISK_SECTS_NPAGES, disk_set_creation(), DISK_VOLPURPOSE, fileio_find_next_perm_volume(), fileio_get_volume_descriptor(), fileio_get_volume_label(), fileio_reset_volume(), fileio_synchronize_all(), log_global::hdr, log_commit(), log_create_internal(), LOG_CS_ENTER(), LOG_CS_EXIT(), LOG_DBFIRST_VOLID, log_Gl, log_initialize_internal(), logpb_add_volume(), logpb_check_and_reset_temp_lsa(), logpb_flush_pages_direct(), LSA_SET_NULL(), disk_volume_space_info::n_total_sects, NO_ERROR, NULL, NULL_TRAN_INDEX, NULL_VOLID, PEEK, pgbuf_flush_all(), pgbuf_flush_all_unfixed_and_set_lsa_as_null(), pgbuf_invalidate_all, xdisk_get_fullname(), and xdisk_get_purpose_and_space_info().
Referenced by xboot_emergency_patch().
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().
int log_rv_copy_char | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 8696 of file log_manager.c.
References assert, log_rcv::data, DB_PAGESIZE, DONT_FREE, log_rcv::length, NO_ERROR, log_rcv::offset, pgbuf_set_dirty(), and log_rcv::pgptr.
Referenced by disk_rv_redo_format(), ehash_rv_init_dir_redo(), overflow_rv_newpage_insert_redo(), and overflow_rv_page_update_redo().
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().
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().
int log_rv_outside_noop_redo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 8753 of file log_manager.c.
References trantable::area, fileio_synchronize_all(), LOG_CS_ENTER(), LOG_CS_EXIT(), log_Gl, LOG_SET_CURRENT_TRAN_INDEX, logpb_finalize_pool(), logpb_flush_pages_direct(), logpb_is_pool_initialized(), logtb_undefine_trantable(), NO_ERROR, NULL, NULL_TRAN_INDEX, NULL_VOLID, pgbuf_flush_all(), and log_global::trantable.
void log_skip_logging | ( | THREAD_ENTRY * | thread_p, |
LOG_DATA_ADDR * | addr | ||
) |
Definition at line 3244 of file log_manager.c.
References ARG_FILE_LINE, log_header::chkpt_lsa, ER_FATAL_ERROR_SEVERITY, er_log_debug, ER_LOG_UNKNOWN_TRANINDEX, er_set(), log_global::hdr, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_Gl, LSA_COPY(), LSA_GE(), LSA_GT(), LSA_ISNULL(), NO_ERROR, NULL, pgbuf_get_lsa(), pgbuf_is_lsa_temporary(), pgbuf_set_lsa(), log_data_addr::pgptr, pthread_mutex_lock, pthread_mutex_unlock, log_global::rcv_phase_lsa, rv, and log_tdes::tail_lsa.
Referenced by catalog_update_class_info(), disk_set_checkpoint(), disk_set_creation(), disk_set_link(), heap_compact_pages(), heap_get_num_objects(), heap_stats_find_best_page(), heap_stats_update_internal(), log_append_postpone(), log_append_redo_crumbs(), log_append_undo_crumbs(), log_append_undoredo_crumbs(), pgbuf_copy_from_area(), qfile_set_dirty_page_and_skip_logging(), qmgr_set_dirty_page(), and xheap_reclaim_addresses().
void log_skip_logging_set_lsa | ( | THREAD_ENTRY * | thread_p, |
LOG_DATA_ADDR * | addr | ||
) |
Definition at line 3204 of file log_manager.c.
References ARG_FILE_LINE, assert, er_log_debug, log_Gl, NULL, pgbuf_set_lsa(), log_data_addr::pgptr, log_global::prior_info, log_prior_lsa_info::prior_lsa, and log_prior_lsa_info::prior_lsa_mutex.
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().
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_attach_to_outer | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4076 of file log_manager.c.
References assert_release, log_topops_stack::last, LOG_ISTRAN_ACTIVE, log_sysop_commit(), log_sysop_end_begin(), log_sysop_end_final(), LSA_COPY(), LSA_ISNULL(), NULL, log_topops_addresses::posp_lsa, log_tdes::posp_nxlsa, log_topops_stack::stack, STATIC_INLINE, and log_tdes::topops.
Referenced by catalog_create(), catalog_end_access_with_dir_oid(), disk_reserve_sectors(), file_alloc_multiple(), cubload::server_object_loader::flush_records(), heap_create_internal(), log_2pc_prepare_global_tran(), log_abort(), log_abort_partial(), log_commit(), overflow_insert(), overflow_update(), qexec_execute_selupd_list(), xbtree_add_index(), xbtree_load_index(), xlocator_assign_oid_batch(), and xtran_server_end_topop().
void log_sysop_commit | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 3895 of file log_manager.c.
References log_sysop_commit_internal(), LOG_SYSOP_END_COMMIT, NULL, and log_rec_sysop_end::type.
Referenced by btree_create_file(), btree_delete_sysop_end(), btree_fix_root_for_insert(), btree_insert_sysop_end(), btree_key_relocate_last_into_ovf(), 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(), catalog_end_access_with_dir_oid(), catalog_get_new_page(), disk_add_volume(), disk_extend(), disk_volume_expand(), ehash_extend_bucket(), ehash_insert_to_bucket_after_create(), ehash_merge(), file_perm_expand(), file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(), file_tracker_create(), heap_ovf_find_vfid(), heap_remove_page_on_vacuum(), heap_vpid_alloc(), locator_repair_btree_by_delete(), locator_repair_btree_by_insert(), log_sysop_attach_to_outer(), qexec_execute_selupd_list(), serial_update_serial_object(), vacuum_consume_buffer_log_blocks(), vacuum_data_empty_page(), vacuum_heap_record(), xchksum_insert_repl_log_and_demote_table_lock(), xehash_destroy(), and xtran_server_end_topop().
void log_sysop_end_logical_compensate | ( | THREAD_ENTRY * | thread_p, |
LOG_LSA * | undo_nxlsa | ||
) |
Definition at line 3963 of file log_manager.c.
References log_rec_sysop_end::compensate_lsa, log_sysop_commit_internal(), LOG_SYSOP_END_LOGICAL_COMPENSATE, NULL, and log_rec_sysop_end::type.
Referenced by btree_delete_sysop_end(), btree_insert_sysop_end(), file_rv_dealloc_internal(), file_rv_tracker_unregister_undo(), log_rollback_record(), and log_rv_undo_record().
void log_sysop_end_logical_run_postpone | ( | THREAD_ENTRY * | thread_p, |
LOG_LSA * | posp_lsa | ||
) |
Definition at line 3982 of file log_manager.c.
References log_sysop_commit_internal(), LOG_SYSOP_END_LOGICAL_RUN_POSTPONE, NULL, log_rec_sysop_end::run_postpone, and log_rec_sysop_end::type.
Referenced by btree_delete_sysop_end(), file_rv_dealloc_internal(), heap_rv_postpone_append_pages_to_heap(), and log_execute_run_postpone().
void log_sysop_end_logical_undo | ( | THREAD_ENTRY * | thread_p, |
LOG_RCVINDEX | rcvindex, | ||
const VFID * | vfid, | ||
int | undo_size, | ||
const char * | undo_data | ||
) |
Definition at line 3920 of file log_manager.c.
References assert, log_rec_undo::data, log_rec_undo::length, LOG_IS_MVCC_OPERATION, LOG_MAY_CONTAIN_USER_DATA, log_sysop_commit_internal(), LOG_SYSOP_END_LOGICAL_MVCC_UNDO, LOG_SYSOP_END_LOGICAL_UNDO, logtb_get_current_mvccid(), LSA_SET_NULL(), log_rec_sysop_end::mvcc_undo, log_rec_mvcc_undo::mvccid, NULL, NULL_OFFSET, NULL_PAGEID, NULL_VOLID, log_data::offset, log_data::pageid, log_vacuum_info::prev_mvcc_op_log_lsa, log_data::rcvindex, RV_NOT_DEFINED, log_rec_sysop_end::type, log_rec_mvcc_undo::undo, log_rec_sysop_end::undo, log_rec_mvcc_undo::vacuum_info, log_vacuum_info::vfid, log_rec_sysop_end::vfid, and log_data::volid.
Referenced by btree_delete_sysop_end(), btree_insert_sysop_end(), file_alloc(), file_create(), and file_tracker_unregister().
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().
const char* log_sysop_end_type_string | ( | LOG_SYSOP_END_TYPE | end_type | ) |
Definition at line 3549 of file log_manager.c.
References assert, LOG_SYSOP_END_ABORT, LOG_SYSOP_END_COMMIT, LOG_SYSOP_END_LOGICAL_COMPENSATE, LOG_SYSOP_END_LOGICAL_MVCC_UNDO, LOG_SYSOP_END_LOGICAL_RUN_POSTPONE, and LOG_SYSOP_END_LOGICAL_UNDO.
Referenced by log_dump_record_sysop_end_internal().
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_sysop_start_atomic | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 3644 of file log_manager.c.
References assert, assert_release, log_rcv_tdes::atomic_sysop_start_lsa, log_topops_stack::last, LOG_SYSOP_ATOMIC_START, log_sysop_get_tran_index_and_tdes(), log_sysop_start(), LSA_ISNULL(), NULL, prior_lsa_alloc_and_copy_data(), prior_lsa_next_record(), log_tdes::rcv, RV_NOT_DEFINED, STATIC_INLINE, log_rcv_tdes::sysop_start_postpone_lsa, and log_tdes::topops.
Referenced by file_alloc(), file_rv_dealloc_internal(), and heap_rv_postpone_append_pages_to_heap().
const char* log_to_string | ( | LOG_RECTYPE | type | ) |
Definition at line 343 of file log_manager.c.
References assert, 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_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_UNDO_DATA, LOG_UNDOREDO_DATA, and LOG_WILL_COMMIT.
Referenced by log_do_postpone(), log_dump_record(), log_find_end_log(), log_recovery_redo(), log_recovery_undo(), log_rv_analysis_record(), and xlog_dump().
void log_update_global_btid_online_index_stats | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 10145 of file log_manager.c.
References assert, LOG_FIND_TDES(), LOG_FIND_THREAD_TRAN_INDEX, log_tdes::log_upd_stats, logtb_tran_update_stats_online_index_rb(), mht_map_no_key(), NO_ERROR, NULL, and log_tran_update_stats::unique_stats_hash.
Referenced by log_abort_local().
void log_wakeup_checkpoint_daemon | ( | ) |
Referenced by log_complete(), log_complete_for_2pc(), log_get_checkpoint_interval(), log_sysop_end_final(), and slog_checkpoint().
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().
void log_wakeup_remove_log_archive_daemon | ( | ) |
Referenced by log_get_checkpoint_interval(), and logpb_archive_active_log().
void xlog_dump | ( | THREAD_ENTRY * | thread_p, |
FILE * | out_fp, | ||
int | isforward, | ||
LOG_PAGEID | start_logpageid, | ||
DKNPAGES | dump_npages, | ||
TRANID | desired_tranid | ||
) |
Definition at line 6759 of file log_manager.c.
References log_header::append_lsa, log_rec_header::back_lsa, log_rec_header::forw_lsa, log_page::hdr, log_global::hdr, IO_MAX_PAGE_SIZE, IO_PAGESIZE, LOG_CS_ENTER(), LOG_CS_EXIT(), LOG_CS_SAFE_READER, log_dump_header(), log_dump_record(), LOG_END_OF_LOG, log_find_end_log(), LOG_GET_LOG_RECORD_HEADER, log_Gl, LOG_ISRESTARTED, LOG_READ_ADD_ALIGN, log_startof_nxrec(), log_to_string(), log_zip_alloc(), log_zip_free(), logpb_fetch_page(), logpb_flush_header(), logpb_flush_pages_direct(), logpb_is_page_in_archive(), LSA_AS_ARGS, LSA_COPY(), LSA_EQ(), LSA_ISNULL(), LSA_SET_NULL(), MAX_ALIGNMENT, NO_ERROR, log_header::npages, NULL, NULL_OFFSET, NULL_PAGEID, NULL_TRANID, log_lsa::offset, log_hdrpage::offset, log_lsa::pageid, log_rec_header::prev_tranlsa, PTR_ALIGN, log_rec_header::trid, log_rec_header::type, and xlogtb_dump_trantable().
Referenced by diagdb().