Skip to content

File log_impl.h

FileList > cubrid > src > transaction > log_impl.h

Go to the source code of this file

  • #include "boot.h"
  • #include "btree_unique.hpp"
  • #include "client_credentials.hpp"
  • #include "config.h"
  • #include "connection_globals.h"
  • #include "critical_section.h"
  • #include "es.h"
  • #include "file_io.h"
  • #include "lock_free.h"
  • #include "lock_manager.h"
  • #include "log_2pc.h"
  • #include "log_append.hpp"
  • #include "log_archives.hpp"
  • #include "log_comm.h"
  • #include "log_common_impl.h"
  • #include "log_lsa.hpp"
  • #include "log_postpone_cache.hpp"
  • #include "log_storage.hpp"
  • #include "mvcc.h"
  • #include "mvcc_table.hpp"
  • #include "porting.h"
  • #include "recovery.h"
  • #include "release_string.h"
  • #include "storage_common.h"
  • #include "tde.h"
  • #include "thread_entry.hpp"
  • #include "thread_manager.hpp"
  • #include "transaction_transient.hpp"
  • #include "lockfree_circular_queue.hpp"
  • #include <unordered_set>
  • #include <unordered_map>
  • #include <queue>
  • #include <assert.h>
  • #include <signal.h>

Classes

Type Name
struct cdc_consumer
struct cdc_global
struct cdc_loginfo_entry
struct cdc_producer
struct cdc_temp_logbuf
struct global_unique_stats
struct global_unique_stats_table
struct log_addr_tdesarea
struct log_flush_info
struct log_global
struct log_group_commit_info
struct log_logging_stat
struct log_rcv_tdes
struct log_tdes
struct log_topops_addresses
struct log_topops_stack
struct log_tran_btid_unique_stats
struct log_tran_btid_unique_stats_chunk
struct log_tran_class_cos
struct log_tran_class_cos_chunk
struct log_tran_update_stats
struct log_unique_stats
struct ovf_page_list
struct trantable

Public Types

Type Name
typedef struct cdc_consumer CDC_CONSUMER
typedef enum cdc_consumer_request CDC_CONSUMER_REQUEST
typedef enum cdc_dataitem_type CDC_DATAITEM_TYPE
typedef enum cdc_dcl_type CDC_DCL_TYPE
typedef enum cdc_dml_type CDC_DML_TYPE
typedef struct cdc_global CDC_GLOBAL
typedef struct cdc_loginfo_entry CDC_LOGINFO_ENTRY
typedef struct cdc_producer CDC_PRODUCER
typedef enum cdc_producer_request CDC_PRODUCER_REQUEST
typedef enum cdc_producer_state CDC_PRODUCER_STATE
typedef struct cdc_temp_logbuf CDC_TEMP_LOGBUF
typedef enum count_optim_state COUNT_OPTIM_STATE
typedef struct global_unique_stats GLOBAL_UNIQUE_STATS
typedef struct global_unique_stats_table GLOBAL_UNIQUE_STATS_TABLE
typedef struct log_addr_tdesarea LOG_ADDR_TDESAREA
typedef enum log_cs_access_mode LOG_CS_ACCESS_MODE
typedef enum log_flush LOG_FLUSH
typedef struct log_flush_info LOG_FLUSH_INFO
typedef enum log_getnewtrid LOG_GETNEWTRID
typedef struct log_global LOG_GLOBAL
typedef struct log_group_commit_info LOG_GROUP_COMMIT_INFO
typedef struct log_logging_stat LOG_LOGGING_STAT
typedef struct log_rcv_tdes LOG_RCV_TDES
typedef enum log_recvphase LOG_RECVPHASE
typedef enum log_setdirty LOG_SETDIRTY
typedef struct log_tdes LOG_TDES
typedef struct log_topops_addresses LOG_TOPOPS_ADDRESSES
typedef struct log_topops_stack LOG_TOPOPS_STACK
typedef struct log_tran_btid_unique_stats LOG_TRAN_BTID_UNIQUE_STATS
typedef struct log_tran_btid_unique_stats_chunk LOG_TRAN_BTID_UNIQUE_STATS_CHUNK
typedef struct log_tran_class_cos LOG_TRAN_CLASS_COS
typedef struct log_tran_class_cos_chunk LOG_TRAN_CLASS_COS_CHUNK
typedef struct log_tran_update_stats LOG_TRAN_UPDATE_STATS
typedef struct log_unique_stats LOG_UNIQUE_STATS
typedef enum log_wrote_eot_log LOG_WRITE_EOT_LOG
typedef struct ovf_page_list OVF_PAGE_LIST
typedef struct trantable TRANTABLE
typedef enum tran_abort_reason TRAN_ABORT_REASON
enum cdc_consumer_request
enum cdc_dataitem_type
enum cdc_dcl_type
enum cdc_dml_type
enum cdc_producer_request
enum cdc_producer_state
enum count_optim_state
enum log_cs_access_mode
enum log_flush
enum log_getnewtrid
enum log_recvphase
enum log_setdirty
enum log_wrote_eot_log
enum tran_abort_reason

Public Attributes

Type Name
const TRANID LOG_SYSTEM_WORKER_FIRST_TRANID = [**NULL\_TRANID**](storage__common_8h.md#define-null_tranid) - 1
const int LOG_SYSTEM_WORKER_INCR_TRANID = -1
CDC_GLOBAL cdc_Gl
bool cdc_Logging
int db_Disable_modifications
cubthread::worker_pool_type * g_backup_read_worker_pool
char log_Archive_path
const char * log_Db_fullname
LOG_GLOBAL log_Gl
char log_Name_active
char log_Name_bg_archive
char log_Name_bkupinfo
char log_Name_info
char log_Name_removed_archive
char log_Name_volinfo
char log_Path
char log_Prefix
LOG_LOGGING_STAT log_Stat

Public Functions

Type Name
LOG_TDES * LOG_FIND_CURRENT_TDES (THREAD_ENTRY * thread_p=NULL)
LOG_TDES * LOG_FIND_TDES (int tran_index)
void log_set_db_restore_time (THREAD_ENTRY * thread_p, INT64 db_restore_time)
void log_set_ha_promotion_time (THREAD_ENTRY * thread_p, INT64 ha_promotion_time)
VOLID logpb_add_volume (const char * db_fullname, VOLID new_volid, const char * new_volfullname, DISK_VOLPURPOSE new_volpurpose)
int logpb_background_archiving (THREAD_ENTRY * thread_p)
int logpb_backup (THREAD_ENTRY * thread_p, int num_perm_vols, const char * allbackup_path, FILEIO_BACKUP_LEVEL backup_level, bool delete_unneeded_logarchives, const char * backup_verbose_file_path, int num_threads, FILEIO_ZIP_METHOD zip_method, FILEIO_ZIP_LEVEL zip_level, int skip_activelog, int sleep_msecs, bool separate_keys)
char * logpb_backup_level_info_to_string (char * buf, int buf_size, const LOG_HDR_BKUP_LEVEL_INFO * info)
int logpb_check_and_reset_temp_lsa (THREAD_ENTRY * thread_p, VOLID volid)
int logpb_check_exist_any_volumes (THREAD_ENTRY * thread_p, const char * db_fullname, const char * logpath, const char * prefix_logname, char * first_vol, bool * is_exist)
LOG_PAGEID logpb_checkpoint (THREAD_ENTRY * thread_p)
int logpb_copy_database (THREAD_ENTRY * thread_p, VOLID num_perm_vols, const char * to_db_fullname, const char * to_logpath, const char * to_prefix_logname, const char * toext_path, const char * fileof_vols_and_copypaths)
void logpb_copy_from_log (THREAD_ENTRY * thread_p, char * area, int length, LOG_LSA * log_lsa, LOG_PAGE * log_pgptr)
int logpb_copy_page_from_file (THREAD_ENTRY * thread_p, LOG_PAGEID pageid, LOG_PAGE * log_pgptr)
int logpb_copy_page_from_log_buffer (THREAD_ENTRY * thread_p, LOG_PAGEID pageid, LOG_PAGE * log_pgptr)
void logpb_create_backup_read_worker_pool (size_t thread_count)
LOG_PAGE * logpb_create_header_page (THREAD_ENTRY * thread_p)
void logpb_create_log_info (const char * logname_info, const char * db_fullname)
LOG_PAGE * logpb_create_page (THREAD_ENTRY * thread_p, LOG_PAGEID pageid)
int logpb_create_volume_info (const char * db_fullname)
void logpb_debug_check_log_page (THREAD_ENTRY * thread_p, void * log_pgptr_ptr)
void logpb_decache_archive_info (THREAD_ENTRY * thread_p)
int logpb_delete (THREAD_ENTRY * thread_p, VOLID num_perm_vols, const char * db_fullname, const char * logpath, const char * prefix_logname, bool force_delete)
void logpb_destroy_backup_read_worker_pool ()
void logpb_dump (THREAD_ENTRY * thread_p, FILE * out_fp)
void logpb_dump_checkpoint_trans (FILE * out_fp, int length, void * data)
void logpb_dump_log_page_area (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr, int offset, int length)
bool logpb_exist_log (THREAD_ENTRY * thread_p, const char * db_fullname, const char * logpath, const char * prefix_logname)
void logpb_fatal_error (THREAD_ENTRY * thread_p, bool logexit, const char * file_name, const int lineno, const char * fmt, ...)
void logpb_fatal_error_exit_immediately_wo_flush (THREAD_ENTRY * thread_p, const char * file_name, const int lineno, const char * fmt, ...)
LOG_PAGE * logpb_fetch_from_archive (THREAD_ENTRY * thread_p, LOG_PAGEID pageid, LOG_PAGE * log_pgptr, int * ret_arv_num, LOG_ARV_HEADER * arv_hdr, bool is_fatal)
void logpb_fetch_header (THREAD_ENTRY * thread_p, LOG_HEADER * hdr)
int logpb_fetch_header_from_active_log (THREAD_ENTRY * thread_p, const char * db_fullname, const char * logpath, const char * prefix_logname, LOG_HEADER * hdr, LOG_PAGE * log_pgptr)
void logpb_fetch_header_with_buffer (THREAD_ENTRY * thread_p, LOG_HEADER * hdr, LOG_PAGE * log_pgptr)
int logpb_fetch_page (THREAD_ENTRY * thread_p, const LOG_LSA * req_lsa, LOG_CS_ACCESS_MODE access_mode, LOG_PAGE * log_pgptr)
int logpb_fetch_start_append_page (THREAD_ENTRY * thread_p)
LOG_PAGE * logpb_fetch_start_append_page_new (THREAD_ENTRY * thread_p)
void logpb_finalize_pool (THREAD_ENTRY * thread_p)
PGLENGTH logpb_find_header_parameters (THREAD_ENTRY * thread_p, const bool force_read_log_header, const char * db_fullname, const char * logpath, const char * prefix_logname, PGLENGTH * io_page_size, PGLENGTH * log_page_size, INT64 * db_creation, float * db_compatibility, int * db_charset)
int logpb_find_oldest_available_arv_num (THREAD_ENTRY * thread_p)
LOG_PAGEID logpb_find_oldest_available_page_id (THREAD_ENTRY * thread_p)
bool logpb_find_volume_info_exist (void)
void logpb_flush_header (THREAD_ENTRY * thread_p)
void logpb_flush_log_for_wal (THREAD_ENTRY * thread_p, const LOG_LSA * lsa_ptr)
int logpb_flush_page (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr)
void logpb_flush_pages (THREAD_ENTRY * thread_p, LOG_LSA * flush_lsa)
void logpb_flush_pages_direct (THREAD_ENTRY * thread_p)
void logpb_force_flush_header_and_pages (THREAD_ENTRY * thread_p)
void logpb_force_flush_pages (THREAD_ENTRY * thread_p)
int logpb_get_archive_number (THREAD_ENTRY * thread_p, LOG_PAGEID pageid)
LOG_PAGEID logpb_get_page_id (LOG_PAGE * log_pgptr)
TDE_ALGORITHM logpb_get_tde_algorithm (const LOG_PAGE * log_pgptr)
void logpb_initialize_arv_page_info_table (void)
int logpb_initialize_header (THREAD_ENTRY * thread_p, LOG_HEADER * loghdr, const char * prefix_logname, DKNPAGES npages, INT64 * db_creation)
int logpb_initialize_log_names (THREAD_ENTRY * thread_p, const char * db_fullname, const char * logpath, const char * prefix_logname)
void logpb_initialize_logging_statistics (void)
int logpb_initialize_pool (THREAD_ENTRY * thread_p)
void logpb_invalid_all_append_pages (THREAD_ENTRY * thread_p)
void logpb_invalidate_pool (THREAD_ENTRY * thread_p)
bool logpb_is_page_in_archive (LOG_PAGEID pageid)
bool logpb_is_pool_initialized (void)
bool logpb_is_smallest_lsa_in_archive (THREAD_ENTRY * thread_p)
VACUUM_LOG_BLOCKID logpb_last_complete_blockid (void)
bool logpb_need_wal (const LOG_LSA * lsa)
int logpb_page_check_corruption (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr, bool * is_page_corrupted)
void logpb_page_get_first_null_block_lsa (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr, LOG_LSA * first_null_block_lsa)
int logpb_prior_lsa_append_all_list (THREAD_ENTRY * thread_p)
void logpb_push_backup_read_task (cubthread::entry_task * task)
int logpb_read_page_from_active_log (THREAD_ENTRY * thread_p, LOG_PAGEID pageid, int num_pages, bool decrypt_needed, LOG_PAGE * log_pgptr)
int logpb_read_page_from_file (THREAD_ENTRY * thread_p, LOG_PAGEID pageid, LOG_CS_ACCESS_MODE access_mode, LOG_PAGE * log_pgptr)
int logpb_recreate_volume_info (THREAD_ENTRY * thread_p)
int logpb_remove_all_in_log_path (THREAD_ENTRY * thread_p, const char * db_fullname, const char * logpath, const char * prefix_logname)
void logpb_remove_append (LOG_TDES * tdes)
void logpb_remove_archive_logs (THREAD_ENTRY * thread_p, const char * info_reason)
int logpb_remove_archive_logs_exceed_limit (THREAD_ENTRY * thread_p, int max_count)
int logpb_rename_all_volumes_files (THREAD_ENTRY * thread_p, VOLID num_perm_vols, const char * to_db_fullname, const char * to_logpath, const char * to_prefix_logname, const char * toext_path, const char * fileof_vols_and_renamepaths, bool extern_rename, bool force_delete)
int logpb_restore (THREAD_ENTRY * thread_p, const char * db_fullname, const char * logpath, const char * prefix_logname, bo_restart_arg * r_args)
int logpb_scan_volume_info (THREAD_ENTRY * thread_p, const char * db_fullname, VOLID ignore_volid, VOLID start_volid, int(*)(THREAD_ENTRY *thread_p, VOLID xvolid, const char *vlabel, void *args) fun, void * args)
void logpb_set_dirty (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr)
int logpb_set_page_checksum (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr)
void logpb_set_tde_algorithm (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr, const TDE_ALGORITHM tde_algo)
LOG_PHY_PAGEID logpb_to_physical_pageid (LOG_PAGEID logical_pageid)
void logpb_vacuum_reset_log_header_cache (THREAD_ENTRY * thread_p, LOG_HEADER * loghdr)
int logpb_write_page_to_disk (THREAD_ENTRY * thread_p, LOG_PAGE * log_pgptr, LOG_PAGEID logical_pageid)
bool logtb_am_i_dba_client (THREAD_ENTRY * thread_p)
bool logtb_am_i_sole_tran (THREAD_ENTRY * thread_p)
int logtb_assign_tran_index (THREAD_ENTRY * thread_p, TRANID trid, TRAN_STATE state, const BOOT_CLIENT_CREDENTIAL * client_credential, TRAN_STATE * current_state, int wait_msecs, TRAN_ISOLATION isolation)
bool logtb_check_class_for_rr_isolation_err (const OID * class_oid)
void logtb_clear_tdes (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
void logtb_complete_mvcc (THREAD_ENTRY * thread_p, LOG_TDES * tdes, bool committed)
void logtb_complete_sub_mvcc (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int logtb_count_clients (THREAD_ENTRY * thread_p)
int logtb_count_clients_with_type (THREAD_ENTRY * thread_p, int client_type)
int logtb_count_not_allowed_clients_in_maintenance_mode (THREAD_ENTRY * thread_p)
void logtb_define_trantable (THREAD_ENTRY * thread_p, int num_expected_tran_indices, int num_expected_locks)
int logtb_define_trantable_log_latch (THREAD_ENTRY * thread_p, int num_expected_tran_indices)
int logtb_delete_global_unique_stats (THREAD_ENTRY * thread_p, BTID * btid)
int logtb_descriptors_start_scan (THREAD_ENTRY * thread_p, int type, DB_VALUE ** arg_values, int arg_cnt, void ** ctx)
void logtb_disable_update (THREAD_ENTRY * thread_p)
void logtb_enable_update (THREAD_ENTRY * thread_p)
void logtb_finalize_global_unique_stats_table (THREAD_ENTRY * thread_p)
void logtb_finalize_tdes (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
const char * logtb_find_client_hostname (int tran_index)
const char * logtb_find_client_name (int tran_index)
int logtb_find_client_name_host_pid (int tran_index, const char ** client_prog_name, const char ** client_user_name, const char ** client_host_name, int * client_pid)
int logtb_find_client_tran_name_host_pid (int & tran_index, const char ** client_prog_name, const char ** client_user_name, const char ** client_host_name, int * client_pid)
int logtb_find_client_type (int tran_index)
const char * logtb_find_current_client_hostname (THREAD_ENTRY * thread_p)
const char * logtb_find_current_client_name (THREAD_ENTRY * thread_p)
int logtb_find_current_client_type (THREAD_ENTRY * thread_p)
TRAN_ISOLATION logtb_find_current_isolation (THREAD_ENTRY * thread_p)
MVCCID logtb_find_current_mvccid (THREAD_ENTRY * thread_p)
LOG_LSA * logtb_find_current_tran_lsa (THREAD_ENTRY * thread_p)
TRANID logtb_find_current_tranid (THREAD_ENTRY * thread_p)
int logtb_find_interrupt (int tran_index, bool * interrupt)
TRAN_ISOLATION logtb_find_isolation (int tran_index)
LOG_LSA * logtb_find_largest_lsa (THREAD_ENTRY * thread_p)
int logtb_find_log_records_count (int tran_index)
void logtb_find_smallest_and_largest_active_pages (THREAD_ENTRY * thread_p, LOG_PAGEID * smallest, LOG_PAGEID * largest)
void logtb_find_smallest_lsa (THREAD_ENTRY * thread_p, LOG_LSA * lsa)
TRAN_STATE logtb_find_state (int tran_index)
THREAD_ENTRY * logtb_find_thread_by_tran_index (int tran_index)
THREAD_ENTRY * logtb_find_thread_by_tran_index_except_me (int tran_index)
int logtb_find_tran_index (THREAD_ENTRY * thread_p, TRANID trid)
int logtb_find_tran_index_host_pid (THREAD_ENTRY * thread_p, const char * host_name, int process_id)
TRANID logtb_find_tranid (int tran_index)
int logtb_find_wait_msecs (int tran_index)
void logtb_free_tran_index (THREAD_ENTRY * thread_p, int tran_index)
void logtb_free_tran_index_with_undo_lsa (THREAD_ENTRY * thread_p, const LOG_LSA * undo_lsa)
bool logtb_get_check_interrupt (THREAD_ENTRY * thread_p)
int logtb_get_client_ids (int tran_index, CLIENTIDS * client_info)
MVCCID logtb_get_current_mvccid (THREAD_ENTRY * thread_p)
int logtb_get_current_tran_index (void)
int logtb_get_global_unique_stats (THREAD_ENTRY * thread_p, BTID * btid, long long * num_oids, long long * num_nulls, long long * num_keys)
MVCC_SNAPSHOT * logtb_get_mvcc_snapshot (THREAD_ENTRY * thread_p)
void logtb_get_new_subtransaction_mvccid (THREAD_ENTRY * thread_p, MVCC_INFO * curr_mvcc_info)
int logtb_get_new_tran_id (THREAD_ENTRY * thread_p, LOG_TDES * tdes)
int logtb_get_number_assigned_tran_indices (void)
int logtb_get_number_of_total_tran_indices (void)
LOG_TDES * logtb_get_system_tdes (THREAD_ENTRY * thread_p=NULL)
bool logtb_has_deadlock_priority (int tran_index)
void logtb_i_am_not_sole_tran (THREAD_ENTRY * thread_p)
int logtb_initialize_global_unique_stats_table (THREAD_ENTRY * thread_p)
void logtb_initialize_tdes (LOG_TDES * tdes, int tran_index)
int logtb_invalidate_snapshot_data (THREAD_ENTRY * thread_p)
bool logtb_is_active (THREAD_ENTRY * thread_p, TRANID trid)
bool logtb_is_current_active (THREAD_ENTRY * thread_p)
bool logtb_is_current_mvccid (THREAD_ENTRY * thread_p, MVCCID mvccid)
bool logtb_is_interrupted (THREAD_ENTRY * thread_p, bool clear, bool * continue_checking)
bool logtb_is_interrupted_tran (THREAD_ENTRY * thread_p, bool clear, bool * continue_checking, int tran_index)
bool logtb_is_mvccid_committed (THREAD_ENTRY * thread_p, MVCCID mvccid)
bool logtb_is_system_worker_tranid (TRANID trid)
int logtb_is_tran_modification_disabled (THREAD_ENTRY * thread_p)
bool logtb_istran_finished (THREAD_ENTRY * thread_p, TRANID trid)
int logtb_load_global_statistics_to_tran (THREAD_ENTRY * thread_p)
void * logtb_realloc_topops_stack (LOG_TDES * tdes, int num_elms)
int logtb_reflect_global_unique_stats_to_btree (THREAD_ENTRY * thread_p)
void logtb_release_tran_index (THREAD_ENTRY * thread_p, int tran_index)
void logtb_rv_assign_mvccid_for_undo_recovery (THREAD_ENTRY * thread_p, MVCCID mvccid)
LOG_TDES * logtb_rv_find_allocate_tran_index (THREAD_ENTRY * thread_p, TRANID trid, const LOG_LSA * log_lsa)
void logtb_rv_read_only_map_undo_tdes (THREAD_ENTRY * thread_p, const std::function< void(const log_tdes &) > map_func)
int logtb_rv_update_global_unique_stats_by_abs (THREAD_ENTRY * thread_p, BTID * btid, long long num_oids, long long num_nulls, long long num_keys)
bool logtb_set_check_interrupt (THREAD_ENTRY * thread_p, bool flag)
void logtb_set_current_tran_index (THREAD_ENTRY * thread_p, int tran_index)
void logtb_set_current_user_active (THREAD_ENTRY * thread_p, bool is_user_active)
void logtb_set_current_user_name (THREAD_ENTRY * thread_p, const char * client_name)
int logtb_set_num_loose_end_trans (THREAD_ENTRY * thread_p)
bool logtb_set_suppress_repl_on_transaction (THREAD_ENTRY * thread_p, int tran_index, int set)
void logtb_set_to_system_tran_index (THREAD_ENTRY * thread_p)
bool logtb_set_tran_index_interrupt (THREAD_ENTRY * thread_p, int tran_index, bool set)
void logtb_set_user_name (int tran_index, const char * client_name)
void logtb_slam_transaction (THREAD_ENTRY * thread_p, int tran_index)
LOG_TRAN_BTID_UNIQUE_STATS * logtb_tran_find_btid_stats (THREAD_ENTRY * thread_p, const BTID * btid, bool create)
LOG_TRAN_CLASS_COS * logtb_tran_find_class_cos (THREAD_ENTRY * thread_p, const OID * class_oid, bool create)
int logtb_tran_prepare_count_optim_classes (THREAD_ENTRY * thread_p, const char ** classes, LC_PREFETCH_FLAGS * flags, int n_classes)
void logtb_tran_reset_count_optim_state (THREAD_ENTRY * thread_p)
int logtb_tran_update_all_global_unique_stats (THREAD_ENTRY * thread_p)
int logtb_tran_update_btid_unique_stats (THREAD_ENTRY * thread_p, const BTID * btid, long long n_keys, long long n_oids, long long n_nulls)
int logtb_tran_update_unique_stats (THREAD_ENTRY * thread_p, const BTID * btid, long long n_keys, long long n_oids, long long n_nulls, bool write_to_log)
int logtb_tran_update_unique_stats (THREAD_ENTRY * thread_p, const BTID & btid, const btree_unique_stats & ustats, bool write_to_log)
int logtb_tran_update_unique_stats (THREAD_ENTRY * thread_p, const multi_index_unique_stats & multi_stats, bool write_to_log)
void logtb_undefine_trantable (THREAD_ENTRY * thread_p)
int logtb_update_global_unique_stats_by_delta (THREAD_ENTRY * thread_p, BTID * btid, long long oid_delta, long long null_delta, long long key_delta, bool log)
void logtb_wakeup_thread_with_tran_index (int tran_index, thread_resume_suspend_status resume_reason)
const char * tran_abort_reason_to_string (TRAN_ABORT_REASON val)
void xlogpb_dump_stat (FILE * outfp)
void xlogtb_dump_trantable (THREAD_ENTRY * thread_p, FILE * out_fp)
int xlogtb_get_mvcc_snapshot (THREAD_ENTRY * thread_p)
int xlogtb_kill_or_interrupt_tran (THREAD_ENTRY * thread_p, int tran_id, bool is_dba_group_member, bool interrupt_only)
int xlogtb_kill_tran_index (THREAD_ENTRY * thread_p, int kill_tran_index, char * kill_user, char * kill_host, int kill_pid)

Macros

Type Name
define CDC_CHECK_TEMP_LOGPAGE (process_lsa, tmpbuf_index, log_page_p) /* multi line expression */
define CDC_GET_TEMP_LOGPAGE (thread_p, process_lsa, log_page_p) /* multi line expression */
define CDC_MAKE_SUPPLEMENT_DATA (supplement_data, recdes) /* multi line expression */
define CDC_UPDATE_TEMP_LOGPAGE (thread_p, process_lsa, log_page_p) /* multi line expression */
define CHECK_MODIFICATION_NO_RETURN (thread_p, error) ([**error**](gencat_8c.md#function-error)) = [**NO\_ERROR**](error__code_8h.md#define-no_error)
define COS_CLASSES_CHUNK_SIZE 64 /\* size [**of**](broker__monitor_8c.md#function-timeout) [**the**](broker__monitor_8c.md#function-timeout) memory [**chunk**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) count [**optimization**](broker__monitor_8c.md#function-timeout) classes \*/
define GLOBAL_UNIQUE_STATS_HASH_SIZE 1000
define GLOBAL_UNIQUE_STATS_TABLE_INITIALIZER { [**LF\_HASH\_TABLE\_INITIALIZER**](lock__free_8h.md#define-lf_hash_table_initializer), [**LF\_ENTRY\_DESCRIPTOR\_INITIALIZER**](lock__free_8h.md#define-lf_entry_descriptor_initializer), [**LF\_FREELIST\_INITIALIZER**](lock__free_8h.md#define-lf_freelist_initializer), [**LSA\_INITIALIZER**](log__lsa_8hpp.md#define-lsa_initializer), [**false**](broker__monitor_8c.md#function-timeout) }
define LOGAREA_SIZE ([**LOG\_PAGESIZE**](storage__common_8h.md#define-log_pagesize) - [**SSIZEOF**](broker__monitor_8c.md#function-timeout)([**LOG\_HDRPAGE**](log__storage_8hpp.md#typedef-log_hdrpage)))
define LOG_ARCHIVE_CS_ENTER (thread_p) [**csect\_enter**](critical__section_8c.md#function-csect_enter) (thread\_p, CSECT\_LOG\_ARCHIVE, INF\_WAIT)
define LOG_ARCHIVE_CS_ENTER_READ_MODE (thread_p) [**csect\_enter\_as\_reader**](critical__section_8c.md#function-csect_enter_as_reader) (thread\_p, CSECT\_LOG\_ARCHIVE, INF\_WAIT)
define LOG_ARCHIVE_CS_EXIT (thread_p) [**csect\_exit**](critical__section_8c.md#function-csect_exit) (thread\_p, CSECT\_LOG\_ARCHIVE)
define LOG_ARCHIVE_CS_OWN (thread_p) ([**csect\_check**](broker__monitor_8c.md#function-timeout) (thread\_p, CSECT\_LOG\_ARCHIVE) &gt;= 1)
define LOG_ARCHIVE_CS_OWN_READ_MODE (thread_p) ([**csect\_check\_own**](critical__section_8c.md#function-csect_check_own) (thread\_p, CSECT\_LOG\_ARCHIVE) == 2)
define LOG_ARCHIVE_CS_OWN_WRITE_MODE (thread_p) ([**csect\_check\_own**](critical__section_8c.md#function-csect_check_own) (thread\_p, CSECT\_LOG\_ARCHIVE) == 1)
define LOG_CHECK_LOG_APPLIER (thread_p) /* multi line expression */
define LOG_ESTIMATE_NACTIVE_TRANS 100 /\* [**Estimate**](broker__monitor_8c.md#function-timeout) num [**of**](broker__monitor_8c.md#function-timeout) [**trans**](broker__monitor_8c.md#function-timeout) \*/
define LOG_ESTIMATE_NOBJ_LOCKS 977 /\* [**Estimate**](broker__monitor_8c.md#function-timeout) num [**of**](broker__monitor_8c.md#function-timeout) locks \*/
define LOG_FIND_THREAD_TRAN_INDEX (thrd) ((thrd) ? (thrd)-&gt;tran\_index : [**logtb\_get\_current\_tran\_index**](log__impl_8h.md#function-logtb_get_current_tran_index) ())
define LOG_GROUP_COMMIT_INFO_INITIALIZER { [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout), [**PTHREAD\_COND\_INITIALIZER**](broker__monitor_8c.md#function-timeout) }
define LOG_HAS_LOGGING_BEEN_IGNORED () (log\_Gl.hdr.has\_logging\_been\_skipped == [**true**](broker__monitor_8c.md#function-timeout))
define LOG_ISRESTARTED () (log\_Gl.rcv\_phase == LOG\_RESTARTED)
define LOG_ISTRAN_2PC (tdes) /* multi line expression */
define LOG_ISTRAN_2PC_INFORMING_PARTICIPANTS (tdes) /* multi line expression */
define LOG_ISTRAN_2PC_IN_SECOND_PHASE (tdes) /* multi line expression */
define LOG_ISTRAN_2PC_PREPARE (tdes) (([**tdes**](broker__monitor_8c.md#function-timeout))-&gt;state == TRAN\_UNACTIVE\_2PC\_PREPARE)
define LOG_ISTRAN_ABORTED (tdes) /* multi line expression */
define LOG_ISTRAN_ACTIVE (tdes) (([**tdes**](broker__monitor_8c.md#function-timeout))-&gt;state == TRAN\_ACTIVE && [**LOG\_ISRESTARTED**](log__impl_8h.md#define-log_isrestarted) ())
define LOG_ISTRAN_COMMITTED (tdes) /* multi line expression */
define LOG_ISTRAN_LOOSE_ENDS (tdes) /* multi line expression */
define LOG_IS_GROUP_COMMIT_ACTIVE () ([**prm\_get\_integer\_value**](system__parameter_8h.md#function-prm_get_integer_value) (PRM\_ID\_LOG\_GROUP\_COMMIT\_INTERVAL\_MSECS) &gt; 0)
define LOG_READ_NEXT_MVCCID (log\_Gl.hdr.mvcc\_next\_id)
define LOG_READ_NEXT_TRANID (log\_Gl.hdr.next\_trid)
define LOG_SET_CURRENT_TRAN_INDEX (thrd, index) ((thrd) ? ([**void**](broker__monitor_8c.md#function-timeout)) ((thrd)-&gt;tran\_index = (index)) : [**logtb\_set\_current\_tran\_index**](log__impl_8h.md#function-logtb_set_current_tran_index) ((thrd), (index)))
define LOG_THREAD_TRAN_ARGS (thread_p) "(SA\_MODE)"
define LOG_THREAD_TRAN_MSG "%s"
define MAX_CDC_LOGINFO_QUEUE_ENTRY 2048
define MAX_CDC_LOGINFO_QUEUE_SIZE 32 \* 1024 \* 1024 /\*32 [**MB**](broker__monitor_8c.md#function-timeout) \*/
define MAX_CDC_TRAN_USER_TABLE 4000
define MAX_NUM_EXEC_QUERY_HISTORY 100
define TRANTABLE_INITIALIZER { 0, 0, 0, 0, 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null) }
define TRAN_UNIQUE_STATS_CHUNK_SIZE 128 /\* size [**of**](broker__monitor_8c.md#function-timeout) [**the**](broker__monitor_8c.md#function-timeout) memory [**chunk**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) unique statistics \*/
define TR_TABLE_CS_ENTER (thread_p) [**csect\_enter**](critical__section_8c.md#function-csect_enter)((thread\_p), CSECT\_TRAN\_TABLE, INF\_WAIT)
define TR_TABLE_CS_ENTER_READ_MODE (thread_p) [**csect\_enter\_as\_reader**](critical__section_8c.md#function-csect_enter_as_reader)((thread\_p), CSECT\_TRAN\_TABLE, INF\_WAIT)
define TR_TABLE_CS_EXIT (thread_p) [**csect\_exit**](critical__section_8c.md#function-csect_exit)((thread\_p), CSECT\_TRAN\_TABLE)
define _DB_DISABLE_MODIFICATIONS_
define cdc_log (...) [**if**](dynamic__load_8c.md#function-if) ([**cdc\_Logging**](log__impl_8h.md#variable-cdc_logging)) [**\_er\_log\_debug**](error__manager_8c.md#function-_er_log_debug) ([**ARG\_FILE\_LINE**](error__manager_8h.md#define-arg_file_line), "CDC: " \_\_VA\_ARGS\_\_)

Public Types Documentation

typedef CDC_CONSUMER

typedef struct cdc_consumer CDC_CONSUMER;

typedef CDC_CONSUMER_REQUEST

typedef enum cdc_consumer_request CDC_CONSUMER_REQUEST;

typedef CDC_DATAITEM_TYPE

typedef enum cdc_dataitem_type CDC_DATAITEM_TYPE;

typedef CDC_DCL_TYPE

typedef enum cdc_dcl_type CDC_DCL_TYPE;

typedef CDC_DML_TYPE

typedef enum cdc_dml_type CDC_DML_TYPE;

typedef CDC_GLOBAL

typedef struct cdc_global CDC_GLOBAL;

typedef CDC_LOGINFO_ENTRY

typedef struct cdc_loginfo_entry CDC_LOGINFO_ENTRY;

typedef CDC_PRODUCER

typedef struct cdc_producer CDC_PRODUCER;

typedef CDC_PRODUCER_REQUEST

typedef enum cdc_producer_request CDC_PRODUCER_REQUEST;

typedef CDC_PRODUCER_STATE

typedef enum cdc_producer_state CDC_PRODUCER_STATE;

typedef CDC_TEMP_LOGBUF

typedef struct cdc_temp_logbuf CDC_TEMP_LOGBUF;

typedef COUNT_OPTIM_STATE

typedef enum count_optim_state COUNT_OPTIM_STATE;

typedef GLOBAL_UNIQUE_STATS

typedef struct global_unique_stats GLOBAL_UNIQUE_STATS;

typedef GLOBAL_UNIQUE_STATS_TABLE

typedef struct global_unique_stats_table GLOBAL_UNIQUE_STATS_TABLE;

typedef LOG_ADDR_TDESAREA

typedef struct log_addr_tdesarea LOG_ADDR_TDESAREA;

typedef LOG_CS_ACCESS_MODE

typedef enum log_cs_access_mode LOG_CS_ACCESS_MODE;

typedef LOG_FLUSH

typedef enum log_flush LOG_FLUSH;

typedef LOG_FLUSH_INFO

typedef struct log_flush_info LOG_FLUSH_INFO;

typedef LOG_GETNEWTRID

typedef enum log_getnewtrid LOG_GETNEWTRID;

typedef LOG_GLOBAL

typedef struct log_global LOG_GLOBAL;

typedef LOG_GROUP_COMMIT_INFO

typedef struct log_group_commit_info LOG_GROUP_COMMIT_INFO;

typedef LOG_LOGGING_STAT

typedef struct log_logging_stat LOG_LOGGING_STAT;

typedef LOG_RCV_TDES

typedef struct log_rcv_tdes LOG_RCV_TDES;

typedef LOG_RECVPHASE

typedef enum log_recvphase LOG_RECVPHASE;

typedef LOG_SETDIRTY

typedef enum log_setdirty LOG_SETDIRTY;

typedef LOG_TDES

typedef struct log_tdes LOG_TDES;

typedef LOG_TOPOPS_ADDRESSES

typedef struct log_topops_addresses LOG_TOPOPS_ADDRESSES;

typedef LOG_TOPOPS_STACK

typedef struct log_topops_stack LOG_TOPOPS_STACK;

typedef LOG_TRAN_BTID_UNIQUE_STATS

typedef struct log_tran_btid_unique_stats LOG_TRAN_BTID_UNIQUE_STATS;

typedef LOG_TRAN_BTID_UNIQUE_STATS_CHUNK

typedef struct log_tran_btid_unique_stats_chunk LOG_TRAN_BTID_UNIQUE_STATS_CHUNK;

typedef LOG_TRAN_CLASS_COS

typedef struct log_tran_class_cos LOG_TRAN_CLASS_COS;

typedef LOG_TRAN_CLASS_COS_CHUNK

typedef struct log_tran_class_cos_chunk LOG_TRAN_CLASS_COS_CHUNK;

typedef LOG_TRAN_UPDATE_STATS

typedef struct log_tran_update_stats LOG_TRAN_UPDATE_STATS;

typedef LOG_UNIQUE_STATS

typedef struct log_unique_stats LOG_UNIQUE_STATS;

typedef LOG_WRITE_EOT_LOG

typedef enum log_wrote_eot_log LOG_WRITE_EOT_LOG;

typedef OVF_PAGE_LIST

typedef struct ovf_page_list OVF_PAGE_LIST;

typedef TRANTABLE

typedef struct trantable TRANTABLE;

typedef TRAN_ABORT_REASON

typedef enum tran_abort_reason TRAN_ABORT_REASON;

enum cdc_consumer_request

enum cdc_consumer_request {
    CDC_REQUEST_CONSUMER_TO_WAIT,
    CDC_REQUEST_CONSUMER_TO_RUN,
    CDC_REQUEST_CONSUMER_NONE
};

enum cdc_dataitem_type

enum cdc_dataitem_type {
    CDC_DDL = 0,
    CDC_DML,
    CDC_DCL,
    CDC_TIMER
};

enum cdc_dcl_type

enum cdc_dcl_type {
    CDC_COMMIT = 0,
    CDC_ABORT
};

enum cdc_dml_type

enum cdc_dml_type {
    CDC_INSERT = 0,
    CDC_UPDATE,
    CDC_DELETE,
    CDC_TRIGGER_INSERT,
    CDC_TRIGGER_UPDATE,
    CDC_TRIGGER_DELETE
};

enum cdc_producer_request

enum cdc_producer_request {
    CDC_REQUEST_PRODUCER_TO_WAIT,
    CDC_REQUEST_PRODUCER_TO_BE_DEAD,
    CDC_REQUEST_PRODUCER_NONE
};

enum cdc_producer_state

enum cdc_producer_state {
    CDC_PRODUCER_STATE_WAIT,
    CDC_PRODUCER_STATE_RUN,
    CDC_PRODUCER_STATE_DEAD
};

enum count_optim_state

enum count_optim_state {
    COS_NOT_LOADED = 0,
    COS_TO_LOAD = 1,
    COS_LOADED = 2
};

enum log_cs_access_mode

enum log_cs_access_mode {
    LOG_CS_FORCE_USE,
    LOG_CS_SAFE_READER
};

enum log_flush

enum log_flush {
    LOG_DONT_NEED_FLUSH,
    LOG_NEED_FLUSH
};

enum log_getnewtrid

enum log_getnewtrid {
    LOG_DONT_NEED_NEWTRID,
    LOG_NEED_NEWTRID
};

enum log_recvphase

enum log_recvphase {
    LOG_RESTARTED,
    LOG_RECOVERY_ANALYSIS_PHASE,
    LOG_RECOVERY_REDO_PHASE,
    LOG_RECOVERY_UNDO_PHASE,
    LOG_RECOVERY_FINISH_2PC_PHASE
};

enum log_setdirty

enum log_setdirty {
    LOG_DONT_SET_DIRTY,
    LOG_SET_DIRTY
};

enum log_wrote_eot_log

enum log_wrote_eot_log {
    LOG_NEED_TO_WRITE_EOT_LOG,
    LOG_ALREADY_WROTE_EOT_LOG
};

enum tran_abort_reason

enum tran_abort_reason {
    TRAN_NORMAL = 0,
    TRAN_ABORT_DUE_DEADLOCK = 1,
    TRAN_ABORT_DUE_ROLLBACK_ON_ESCALATION = 2
};

Public Attributes Documentation

variable LOG_SYSTEM_WORKER_FIRST_TRANID

const TRANID LOG_SYSTEM_WORKER_FIRST_TRANID;

variable LOG_SYSTEM_WORKER_INCR_TRANID

const int LOG_SYSTEM_WORKER_INCR_TRANID;

variable cdc_Gl

CDC_GLOBAL cdc_Gl;

variable cdc_Logging

bool cdc_Logging;

variable db_Disable_modifications

int db_Disable_modifications;

variable g_backup_read_worker_pool

cubthread::worker_pool_type* g_backup_read_worker_pool;

variable log_Archive_path

char log_Archive_path[];

variable log_Db_fullname

const char* log_Db_fullname;

variable log_Gl

LOG_GLOBAL log_Gl;

variable log_Name_active

char log_Name_active[];

variable log_Name_bg_archive

char log_Name_bg_archive[];

variable log_Name_bkupinfo

char log_Name_bkupinfo[];

variable log_Name_info

char log_Name_info[];

variable log_Name_removed_archive

char log_Name_removed_archive[];

variable log_Name_volinfo

char log_Name_volinfo[];

variable log_Path

char log_Path[];

variable log_Prefix

char log_Prefix[];

variable log_Stat

LOG_LOGGING_STAT log_Stat;

Public Functions Documentation

function LOG_FIND_CURRENT_TDES

inline LOG_TDES * LOG_FIND_CURRENT_TDES (
    THREAD_ENTRY * thread_p=NULL
) 

function LOG_FIND_TDES

inline LOG_TDES * LOG_FIND_TDES (
    int tran_index
) 

function log_set_db_restore_time

void log_set_db_restore_time (
    THREAD_ENTRY * thread_p,
    INT64 db_restore_time
) 

function log_set_ha_promotion_time

void log_set_ha_promotion_time (
    THREAD_ENTRY * thread_p,
    INT64 ha_promotion_time
) 

function logpb_add_volume

VOLID logpb_add_volume (
    const  char * db_fullname,
    VOLID new_volid,
    const  char * new_volfullname,
    DISK_VOLPURPOSE new_volpurpose
) 

function logpb_background_archiving

int logpb_background_archiving (
    THREAD_ENTRY * thread_p
) 

function logpb_backup

int logpb_backup (
    THREAD_ENTRY * thread_p,
    int num_perm_vols,
    const  char * allbackup_path,
    FILEIO_BACKUP_LEVEL backup_level,
    bool delete_unneeded_logarchives,
    const  char * backup_verbose_file_path,
    int num_threads,
    FILEIO_ZIP_METHOD zip_method,
    FILEIO_ZIP_LEVEL zip_level,
    int skip_activelog,
    int sleep_msecs,
    bool separate_keys
) 

function logpb_backup_level_info_to_string

char * logpb_backup_level_info_to_string (
    char * buf,
    int buf_size,
    const  LOG_HDR_BKUP_LEVEL_INFO * info
) 

function logpb_check_and_reset_temp_lsa

int logpb_check_and_reset_temp_lsa (
    THREAD_ENTRY * thread_p,
    VOLID volid
) 

function logpb_check_exist_any_volumes

int logpb_check_exist_any_volumes (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname,
    char * first_vol,
    bool * is_exist
) 

function logpb_checkpoint

LOG_PAGEID logpb_checkpoint (
    THREAD_ENTRY * thread_p
) 

function logpb_copy_database

int logpb_copy_database (
    THREAD_ENTRY * thread_p,
    VOLID num_perm_vols,
    const  char * to_db_fullname,
    const  char * to_logpath,
    const  char * to_prefix_logname,
    const  char * toext_path,
    const  char * fileof_vols_and_copypaths
) 

function logpb_copy_from_log

void logpb_copy_from_log (
    THREAD_ENTRY * thread_p,
    char * area,
    int length,
    LOG_LSA * log_lsa,
    LOG_PAGE * log_pgptr
) 

function logpb_copy_page_from_file

int logpb_copy_page_from_file (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid,
    LOG_PAGE * log_pgptr
) 

function logpb_copy_page_from_log_buffer

int logpb_copy_page_from_log_buffer (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid,
    LOG_PAGE * log_pgptr
) 

function logpb_create_backup_read_worker_pool

void logpb_create_backup_read_worker_pool (
    size_t thread_count
) 

function logpb_create_header_page

LOG_PAGE * logpb_create_header_page (
    THREAD_ENTRY * thread_p
) 

function logpb_create_log_info

void logpb_create_log_info (
    const  char * logname_info,
    const  char * db_fullname
) 

function logpb_create_page

LOG_PAGE * logpb_create_page (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid
) 

function logpb_create_volume_info

int logpb_create_volume_info (
    const  char * db_fullname
) 

function logpb_debug_check_log_page

void logpb_debug_check_log_page (
    THREAD_ENTRY * thread_p,
    void * log_pgptr_ptr
) 

function logpb_decache_archive_info

void logpb_decache_archive_info (
    THREAD_ENTRY * thread_p
) 

function logpb_delete

int logpb_delete (
    THREAD_ENTRY * thread_p,
    VOLID num_perm_vols,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname,
    bool force_delete
) 

function logpb_destroy_backup_read_worker_pool

void logpb_destroy_backup_read_worker_pool () 

function logpb_dump

void logpb_dump (
    THREAD_ENTRY * thread_p,
    FILE * out_fp
) 

function logpb_dump_checkpoint_trans

void logpb_dump_checkpoint_trans (
    FILE * out_fp,
    int length,
    void * data
) 

function logpb_dump_log_page_area

void logpb_dump_log_page_area (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr,
    int offset,
    int length
) 

function logpb_exist_log

bool logpb_exist_log (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname
) 

function logpb_fatal_error

void logpb_fatal_error (
    THREAD_ENTRY * thread_p,
    bool logexit,
    const  char * file_name,
    const  int lineno,
    const  char * fmt,
    ...
) 

function logpb_fatal_error_exit_immediately_wo_flush

void logpb_fatal_error_exit_immediately_wo_flush (
    THREAD_ENTRY * thread_p,
    const  char * file_name,
    const  int lineno,
    const  char * fmt,
    ...
) 

function logpb_fetch_from_archive

LOG_PAGE * logpb_fetch_from_archive (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid,
    LOG_PAGE * log_pgptr,
    int * ret_arv_num,
    LOG_ARV_HEADER * arv_hdr,
    bool is_fatal
) 

function logpb_fetch_header

void logpb_fetch_header (
    THREAD_ENTRY * thread_p,
    LOG_HEADER * hdr
) 

function logpb_fetch_header_from_active_log

int logpb_fetch_header_from_active_log (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname,
    LOG_HEADER * hdr,
    LOG_PAGE * log_pgptr
) 

function logpb_fetch_header_with_buffer

void logpb_fetch_header_with_buffer (
    THREAD_ENTRY * thread_p,
    LOG_HEADER * hdr,
    LOG_PAGE * log_pgptr
) 

function logpb_fetch_page

int logpb_fetch_page (
    THREAD_ENTRY * thread_p,
    const  LOG_LSA * req_lsa,
    LOG_CS_ACCESS_MODE access_mode,
    LOG_PAGE * log_pgptr
) 

function logpb_fetch_start_append_page

int logpb_fetch_start_append_page (
    THREAD_ENTRY * thread_p
) 

function logpb_fetch_start_append_page_new

LOG_PAGE * logpb_fetch_start_append_page_new (
    THREAD_ENTRY * thread_p
) 

function logpb_finalize_pool

void logpb_finalize_pool (
    THREAD_ENTRY * thread_p
) 

function logpb_find_header_parameters

PGLENGTH logpb_find_header_parameters (
    THREAD_ENTRY * thread_p,
    const  bool force_read_log_header,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname,
    PGLENGTH * io_page_size,
    PGLENGTH * log_page_size,
    INT64 * db_creation,
    float * db_compatibility,
    int * db_charset
) 

function logpb_find_oldest_available_arv_num

int logpb_find_oldest_available_arv_num (
    THREAD_ENTRY * thread_p
) 

function logpb_find_oldest_available_page_id

LOG_PAGEID logpb_find_oldest_available_page_id (
    THREAD_ENTRY * thread_p
) 

function logpb_find_volume_info_exist

bool logpb_find_volume_info_exist (
    void
) 

function logpb_flush_header

void logpb_flush_header (
    THREAD_ENTRY * thread_p
) 

function logpb_flush_log_for_wal

void logpb_flush_log_for_wal (
    THREAD_ENTRY * thread_p,
    const  LOG_LSA * lsa_ptr
) 

function logpb_flush_page

int logpb_flush_page (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr
) 

function logpb_flush_pages

void logpb_flush_pages (
    THREAD_ENTRY * thread_p,
    LOG_LSA * flush_lsa
) 

function logpb_flush_pages_direct

void logpb_flush_pages_direct (
    THREAD_ENTRY * thread_p
) 

function logpb_force_flush_header_and_pages

void logpb_force_flush_header_and_pages (
    THREAD_ENTRY * thread_p
) 

function logpb_force_flush_pages

void logpb_force_flush_pages (
    THREAD_ENTRY * thread_p
) 

function logpb_get_archive_number

int logpb_get_archive_number (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid
) 

function logpb_get_page_id

LOG_PAGEID logpb_get_page_id (
    LOG_PAGE * log_pgptr
) 

function logpb_get_tde_algorithm

TDE_ALGORITHM logpb_get_tde_algorithm (
    const  LOG_PAGE * log_pgptr
) 

function logpb_initialize_arv_page_info_table

void logpb_initialize_arv_page_info_table (
    void
) 

function logpb_initialize_header

int logpb_initialize_header (
    THREAD_ENTRY * thread_p,
    LOG_HEADER * loghdr,
    const  char * prefix_logname,
    DKNPAGES npages,
    INT64 * db_creation
) 

function logpb_initialize_log_names

int logpb_initialize_log_names (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname
) 

function logpb_initialize_logging_statistics

void logpb_initialize_logging_statistics (
    void
) 

function logpb_initialize_pool

int logpb_initialize_pool (
    THREAD_ENTRY * thread_p
) 

function logpb_invalid_all_append_pages

void logpb_invalid_all_append_pages (
    THREAD_ENTRY * thread_p
) 

function logpb_invalidate_pool

void logpb_invalidate_pool (
    THREAD_ENTRY * thread_p
) 

function logpb_is_page_in_archive

bool logpb_is_page_in_archive (
    LOG_PAGEID pageid
) 

function logpb_is_pool_initialized

bool logpb_is_pool_initialized (
    void
) 

function logpb_is_smallest_lsa_in_archive

bool logpb_is_smallest_lsa_in_archive (
    THREAD_ENTRY * thread_p
) 

function logpb_last_complete_blockid

VACUUM_LOG_BLOCKID logpb_last_complete_blockid (
    void
) 

function logpb_need_wal

bool logpb_need_wal (
    const  LOG_LSA * lsa
) 

function logpb_page_check_corruption

int logpb_page_check_corruption (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr,
    bool * is_page_corrupted
) 

function logpb_page_get_first_null_block_lsa

void logpb_page_get_first_null_block_lsa (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr,
    LOG_LSA * first_null_block_lsa
) 

function logpb_prior_lsa_append_all_list

int logpb_prior_lsa_append_all_list (
    THREAD_ENTRY * thread_p
) 

function logpb_push_backup_read_task

void logpb_push_backup_read_task (
    cubthread::entry_task * task
) 

function logpb_read_page_from_active_log

int logpb_read_page_from_active_log (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid,
    int num_pages,
    bool decrypt_needed,
    LOG_PAGE * log_pgptr
) 

function logpb_read_page_from_file

int logpb_read_page_from_file (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID pageid,
    LOG_CS_ACCESS_MODE access_mode,
    LOG_PAGE * log_pgptr
) 

function logpb_recreate_volume_info

int logpb_recreate_volume_info (
    THREAD_ENTRY * thread_p
) 

function logpb_remove_all_in_log_path

int logpb_remove_all_in_log_path (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname
) 

function logpb_remove_append

void logpb_remove_append (
    LOG_TDES * tdes
) 

function logpb_remove_archive_logs

void logpb_remove_archive_logs (
    THREAD_ENTRY * thread_p,
    const  char * info_reason
) 

function logpb_remove_archive_logs_exceed_limit

int logpb_remove_archive_logs_exceed_limit (
    THREAD_ENTRY * thread_p,
    int max_count
) 

function logpb_rename_all_volumes_files

int logpb_rename_all_volumes_files (
    THREAD_ENTRY * thread_p,
    VOLID num_perm_vols,
    const  char * to_db_fullname,
    const  char * to_logpath,
    const  char * to_prefix_logname,
    const  char * toext_path,
    const  char * fileof_vols_and_renamepaths,
    bool extern_rename,
    bool force_delete
) 

function logpb_restore

int logpb_restore (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * logpath,
    const  char * prefix_logname,
    bo_restart_arg * r_args
) 

function logpb_scan_volume_info

int logpb_scan_volume_info (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    VOLID ignore_volid,
    VOLID start_volid,
    int (*)( THREAD_ENTRY *thread_p, VOLID  xvolid , const  char *vlabel, void *args) fun,
    void * args
) 

function logpb_set_dirty

void logpb_set_dirty (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr
) 

function logpb_set_page_checksum

int logpb_set_page_checksum (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr
) 

function logpb_set_tde_algorithm

void logpb_set_tde_algorithm (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr,
    const  TDE_ALGORITHM tde_algo
) 

function logpb_to_physical_pageid

LOG_PHY_PAGEID logpb_to_physical_pageid (
    LOG_PAGEID logical_pageid
) 

function logpb_vacuum_reset_log_header_cache

void logpb_vacuum_reset_log_header_cache (
    THREAD_ENTRY * thread_p,
    LOG_HEADER * loghdr
) 

function logpb_write_page_to_disk

int logpb_write_page_to_disk (
    THREAD_ENTRY * thread_p,
    LOG_PAGE * log_pgptr,
    LOG_PAGEID logical_pageid
) 

function logtb_am_i_dba_client

bool logtb_am_i_dba_client (
    THREAD_ENTRY * thread_p
) 

function logtb_am_i_sole_tran

bool logtb_am_i_sole_tran (
    THREAD_ENTRY * thread_p
) 

function logtb_assign_tran_index

int logtb_assign_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid,
    TRAN_STATE state,
    const  BOOT_CLIENT_CREDENTIAL * client_credential,
    TRAN_STATE * current_state,
    int wait_msecs,
    TRAN_ISOLATION isolation
) 

function logtb_check_class_for_rr_isolation_err

bool logtb_check_class_for_rr_isolation_err (
    const  OID * class_oid
) 

function logtb_clear_tdes

void logtb_clear_tdes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_complete_mvcc

void logtb_complete_mvcc (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes,
    bool committed
) 

function logtb_complete_sub_mvcc

void logtb_complete_sub_mvcc (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_count_clients

int logtb_count_clients (
    THREAD_ENTRY * thread_p
) 

function logtb_count_clients_with_type

int logtb_count_clients_with_type (
    THREAD_ENTRY * thread_p,
    int client_type
) 

function logtb_count_not_allowed_clients_in_maintenance_mode

int logtb_count_not_allowed_clients_in_maintenance_mode (
    THREAD_ENTRY * thread_p
) 

function logtb_define_trantable

void logtb_define_trantable (
    THREAD_ENTRY * thread_p,
    int num_expected_tran_indices,
    int num_expected_locks
) 

function logtb_define_trantable_log_latch

int logtb_define_trantable_log_latch (
    THREAD_ENTRY * thread_p,
    int num_expected_tran_indices
) 

function logtb_delete_global_unique_stats

int logtb_delete_global_unique_stats (
    THREAD_ENTRY * thread_p,
    BTID * btid
) 

function logtb_descriptors_start_scan

int logtb_descriptors_start_scan (
    THREAD_ENTRY * thread_p,
    int type,
    DB_VALUE ** arg_values,
    int arg_cnt,
    void ** ctx
) 

function logtb_disable_update

void logtb_disable_update (
    THREAD_ENTRY * thread_p
) 

function logtb_enable_update

void logtb_enable_update (
    THREAD_ENTRY * thread_p
) 

function logtb_finalize_global_unique_stats_table

void logtb_finalize_global_unique_stats_table (
    THREAD_ENTRY * thread_p
) 

function logtb_finalize_tdes

void logtb_finalize_tdes (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_find_client_hostname

const  char * logtb_find_client_hostname (
    int tran_index
) 

function logtb_find_client_name

const  char * logtb_find_client_name (
    int tran_index
) 

function logtb_find_client_name_host_pid

int logtb_find_client_name_host_pid (
    int tran_index,
    const  char ** client_prog_name,
    const  char ** client_user_name,
    const  char ** client_host_name,
    int * client_pid
) 

function logtb_find_client_tran_name_host_pid

int logtb_find_client_tran_name_host_pid (
    int & tran_index,
    const  char ** client_prog_name,
    const  char ** client_user_name,
    const  char ** client_host_name,
    int * client_pid
) 

function logtb_find_client_type

int logtb_find_client_type (
    int tran_index
) 

function logtb_find_current_client_hostname

const  char * logtb_find_current_client_hostname (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_client_name

const  char * logtb_find_current_client_name (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_client_type

int logtb_find_current_client_type (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_isolation

TRAN_ISOLATION logtb_find_current_isolation (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_mvccid

MVCCID logtb_find_current_mvccid (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_tran_lsa

LOG_LSA * logtb_find_current_tran_lsa (
    THREAD_ENTRY * thread_p
) 

function logtb_find_current_tranid

TRANID logtb_find_current_tranid (
    THREAD_ENTRY * thread_p
) 

function logtb_find_interrupt

int logtb_find_interrupt (
    int tran_index,
    bool * interrupt
) 

function logtb_find_isolation

TRAN_ISOLATION logtb_find_isolation (
    int tran_index
) 

function logtb_find_largest_lsa

LOG_LSA * logtb_find_largest_lsa (
    THREAD_ENTRY * thread_p
) 

function logtb_find_log_records_count

int logtb_find_log_records_count (
    int tran_index
) 

function logtb_find_smallest_and_largest_active_pages

void logtb_find_smallest_and_largest_active_pages (
    THREAD_ENTRY * thread_p,
    LOG_PAGEID * smallest,
    LOG_PAGEID * largest
) 

function logtb_find_smallest_lsa

void logtb_find_smallest_lsa (
    THREAD_ENTRY * thread_p,
    LOG_LSA * lsa
) 

function logtb_find_state

TRAN_STATE logtb_find_state (
    int tran_index
) 

function logtb_find_thread_by_tran_index

THREAD_ENTRY * logtb_find_thread_by_tran_index (
    int tran_index
) 

function logtb_find_thread_by_tran_index_except_me

THREAD_ENTRY * logtb_find_thread_by_tran_index_except_me (
    int tran_index
) 

function logtb_find_tran_index

int logtb_find_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid
) 

function logtb_find_tran_index_host_pid

int logtb_find_tran_index_host_pid (
    THREAD_ENTRY * thread_p,
    const  char * host_name,
    int process_id
) 

function logtb_find_tranid

TRANID logtb_find_tranid (
    int tran_index
) 

function logtb_find_wait_msecs

int logtb_find_wait_msecs (
    int tran_index
) 

function logtb_free_tran_index

void logtb_free_tran_index (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_free_tran_index_with_undo_lsa

void logtb_free_tran_index_with_undo_lsa (
    THREAD_ENTRY * thread_p,
    const  LOG_LSA * undo_lsa
) 

function logtb_get_check_interrupt

bool logtb_get_check_interrupt (
    THREAD_ENTRY * thread_p
) 

function logtb_get_client_ids

int logtb_get_client_ids (
    int tran_index,
    CLIENTIDS * client_info
) 

function logtb_get_current_mvccid

MVCCID logtb_get_current_mvccid (
    THREAD_ENTRY * thread_p
) 

function logtb_get_current_tran_index

int logtb_get_current_tran_index (
    void
) 

function logtb_get_global_unique_stats

int logtb_get_global_unique_stats (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    long  long * num_oids,
    long  long * num_nulls,
    long  long * num_keys
) 

function logtb_get_mvcc_snapshot

MVCC_SNAPSHOT * logtb_get_mvcc_snapshot (
    THREAD_ENTRY * thread_p
) 

function logtb_get_new_subtransaction_mvccid

void logtb_get_new_subtransaction_mvccid (
    THREAD_ENTRY * thread_p,
    MVCC_INFO * curr_mvcc_info
) 

function logtb_get_new_tran_id

int logtb_get_new_tran_id (
    THREAD_ENTRY * thread_p,
    LOG_TDES * tdes
) 

function logtb_get_number_assigned_tran_indices

int logtb_get_number_assigned_tran_indices (
    void
) 

function logtb_get_number_of_total_tran_indices

int logtb_get_number_of_total_tran_indices (
    void
) 

function logtb_get_system_tdes

LOG_TDES * logtb_get_system_tdes (
    THREAD_ENTRY * thread_p=NULL
) 

function logtb_has_deadlock_priority

bool logtb_has_deadlock_priority (
    int tran_index
) 

function logtb_i_am_not_sole_tran

void logtb_i_am_not_sole_tran (
    THREAD_ENTRY * thread_p
) 

function logtb_initialize_global_unique_stats_table

int logtb_initialize_global_unique_stats_table (
    THREAD_ENTRY * thread_p
) 

function logtb_initialize_tdes

void logtb_initialize_tdes (
    LOG_TDES * tdes,
    int tran_index
) 

function logtb_invalidate_snapshot_data

int logtb_invalidate_snapshot_data (
    THREAD_ENTRY * thread_p
) 

function logtb_is_active

bool logtb_is_active (
    THREAD_ENTRY * thread_p,
    TRANID trid
) 

function logtb_is_current_active

bool logtb_is_current_active (
    THREAD_ENTRY * thread_p
) 

function logtb_is_current_mvccid

bool logtb_is_current_mvccid (
    THREAD_ENTRY * thread_p,
    MVCCID mvccid
) 

function logtb_is_interrupted

bool logtb_is_interrupted (
    THREAD_ENTRY * thread_p,
    bool clear,
    bool * continue_checking
) 

function logtb_is_interrupted_tran

bool logtb_is_interrupted_tran (
    THREAD_ENTRY * thread_p,
    bool clear,
    bool * continue_checking,
    int tran_index
) 

function logtb_is_mvccid_committed

bool logtb_is_mvccid_committed (
    THREAD_ENTRY * thread_p,
    MVCCID mvccid
) 

function logtb_is_system_worker_tranid

inline bool logtb_is_system_worker_tranid (
    TRANID trid
) 

function logtb_is_tran_modification_disabled

int logtb_is_tran_modification_disabled (
    THREAD_ENTRY * thread_p
) 

function logtb_istran_finished

bool logtb_istran_finished (
    THREAD_ENTRY * thread_p,
    TRANID trid
) 

function logtb_load_global_statistics_to_tran

int logtb_load_global_statistics_to_tran (
    THREAD_ENTRY * thread_p
) 

function logtb_realloc_topops_stack

void * logtb_realloc_topops_stack (
    LOG_TDES * tdes,
    int num_elms
) 

function logtb_reflect_global_unique_stats_to_btree

int logtb_reflect_global_unique_stats_to_btree (
    THREAD_ENTRY * thread_p
) 

function logtb_release_tran_index

void logtb_release_tran_index (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_rv_assign_mvccid_for_undo_recovery

void logtb_rv_assign_mvccid_for_undo_recovery (
    THREAD_ENTRY * thread_p,
    MVCCID mvccid
) 

function logtb_rv_find_allocate_tran_index

LOG_TDES * logtb_rv_find_allocate_tran_index (
    THREAD_ENTRY * thread_p,
    TRANID trid,
    const  LOG_LSA * log_lsa
) 

function logtb_rv_read_only_map_undo_tdes

void logtb_rv_read_only_map_undo_tdes (
    THREAD_ENTRY * thread_p,
    const std::function< void ( const  log_tdes &) > map_func
) 

function logtb_rv_update_global_unique_stats_by_abs

int logtb_rv_update_global_unique_stats_by_abs (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    long  long num_oids,
    long  long num_nulls,
    long  long num_keys
) 

function logtb_set_check_interrupt

bool logtb_set_check_interrupt (
    THREAD_ENTRY * thread_p,
    bool flag
) 

function logtb_set_current_tran_index

void logtb_set_current_tran_index (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_set_current_user_active

void logtb_set_current_user_active (
    THREAD_ENTRY * thread_p,
    bool is_user_active
) 

function logtb_set_current_user_name

void logtb_set_current_user_name (
    THREAD_ENTRY * thread_p,
    const  char * client_name
) 

function logtb_set_num_loose_end_trans

int logtb_set_num_loose_end_trans (
    THREAD_ENTRY * thread_p
) 

function logtb_set_suppress_repl_on_transaction

bool logtb_set_suppress_repl_on_transaction (
    THREAD_ENTRY * thread_p,
    int tran_index,
    int set
) 

function logtb_set_to_system_tran_index

void logtb_set_to_system_tran_index (
    THREAD_ENTRY * thread_p
) 

function logtb_set_tran_index_interrupt

bool logtb_set_tran_index_interrupt (
    THREAD_ENTRY * thread_p,
    int tran_index,
    bool set
) 

function logtb_set_user_name

void logtb_set_user_name (
    int tran_index,
    const  char * client_name
) 

function logtb_slam_transaction

void logtb_slam_transaction (
    THREAD_ENTRY * thread_p,
    int tran_index
) 

function logtb_tran_find_btid_stats

LOG_TRAN_BTID_UNIQUE_STATS * logtb_tran_find_btid_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid,
    bool create
) 

function logtb_tran_find_class_cos

LOG_TRAN_CLASS_COS * logtb_tran_find_class_cos (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid,
    bool create
) 

function logtb_tran_prepare_count_optim_classes

int logtb_tran_prepare_count_optim_classes (
    THREAD_ENTRY * thread_p,
    const  char ** classes,
    LC_PREFETCH_FLAGS * flags,
    int n_classes
) 

function logtb_tran_reset_count_optim_state

void logtb_tran_reset_count_optim_state (
    THREAD_ENTRY * thread_p
) 

function logtb_tran_update_all_global_unique_stats

int logtb_tran_update_all_global_unique_stats (
    THREAD_ENTRY * thread_p
) 

function logtb_tran_update_btid_unique_stats

int logtb_tran_update_btid_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid,
    long  long n_keys,
    long  long n_oids,
    long  long n_nulls
) 

function logtb_tran_update_unique_stats

int logtb_tran_update_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID * btid,
    long  long n_keys,
    long  long n_oids,
    long  long n_nulls,
    bool write_to_log
) 

function logtb_tran_update_unique_stats

int logtb_tran_update_unique_stats (
    THREAD_ENTRY * thread_p,
    const  BTID & btid,
    const  btree_unique_stats & ustats,
    bool write_to_log
) 

function logtb_tran_update_unique_stats

int logtb_tran_update_unique_stats (
    THREAD_ENTRY * thread_p,
    const  multi_index_unique_stats & multi_stats,
    bool write_to_log
) 

function logtb_undefine_trantable

void logtb_undefine_trantable (
    THREAD_ENTRY * thread_p
) 

function logtb_update_global_unique_stats_by_delta

int logtb_update_global_unique_stats_by_delta (
    THREAD_ENTRY * thread_p,
    BTID * btid,
    long  long oid_delta,
    long  long null_delta,
    long  long key_delta,
    bool log
) 

function logtb_wakeup_thread_with_tran_index

void logtb_wakeup_thread_with_tran_index (
    int tran_index,
    thread_resume_suspend_status resume_reason
) 

function tran_abort_reason_to_string

const  char * tran_abort_reason_to_string (
    TRAN_ABORT_REASON val
) 

function xlogpb_dump_stat

void xlogpb_dump_stat (
    FILE * outfp
) 

function xlogtb_dump_trantable

void xlogtb_dump_trantable (
    THREAD_ENTRY * thread_p,
    FILE * out_fp
) 

function xlogtb_get_mvcc_snapshot

int xlogtb_get_mvcc_snapshot (
    THREAD_ENTRY * thread_p
) 

function xlogtb_kill_or_interrupt_tran

int xlogtb_kill_or_interrupt_tran (
    THREAD_ENTRY * thread_p,
    int tran_id,
    bool is_dba_group_member,
    bool interrupt_only
) 

function xlogtb_kill_tran_index

int xlogtb_kill_tran_index (
    THREAD_ENTRY * thread_p,
    int kill_tran_index,
    char * kill_user,
    char * kill_host,
    int kill_pid
) 

Macro Definition Documentation

define CDC_CHECK_TEMP_LOGPAGE

#define CDC_CHECK_TEMP_LOGPAGE (
    process_lsa,
    tmpbuf_index,
    log_page_p
) `/* multi line expression */`

define CDC_GET_TEMP_LOGPAGE

#define CDC_GET_TEMP_LOGPAGE (
    thread_p,
    process_lsa,
    log_page_p
) `/* multi line expression */`

define CDC_MAKE_SUPPLEMENT_DATA

#define CDC_MAKE_SUPPLEMENT_DATA (
    supplement_data,
    recdes
) `/* multi line expression */`

define CDC_UPDATE_TEMP_LOGPAGE

#define CDC_UPDATE_TEMP_LOGPAGE (
    thread_p,
    process_lsa,
    log_page_p
) `/* multi line expression */`

define CHECK_MODIFICATION_NO_RETURN

#define CHECK_MODIFICATION_NO_RETURN (
    thread_p,
    error
) `( error ) = NO_ERROR`

define COS_CLASSES_CHUNK_SIZE

#define COS_CLASSES_CHUNK_SIZE `64  /* size of  the memory chunk  for count optimization classes */`

define GLOBAL_UNIQUE_STATS_HASH_SIZE

#define GLOBAL_UNIQUE_STATS_HASH_SIZE `1000`

define GLOBAL_UNIQUE_STATS_TABLE_INITIALIZER

#define GLOBAL_UNIQUE_STATS_TABLE_INITIALIZER `{ LF_HASH_TABLE_INITIALIZER , LF_ENTRY_DESCRIPTOR_INITIALIZER , LF_FREELIST_INITIALIZER , LSA_INITIALIZER , false }`

define LOGAREA_SIZE

#define LOGAREA_SIZE `( LOG_PAGESIZE - SSIZEOF ( LOG_HDRPAGE ))`

define LOG_ARCHIVE_CS_ENTER

#define LOG_ARCHIVE_CS_ENTER (
    thread_p
) `csect_enter (thread_p, CSECT_LOG_ARCHIVE , INF_WAIT )`

define LOG_ARCHIVE_CS_ENTER_READ_MODE

#define LOG_ARCHIVE_CS_ENTER_READ_MODE (
    thread_p
) `csect_enter_as_reader (thread_p, CSECT_LOG_ARCHIVE , INF_WAIT )`

define LOG_ARCHIVE_CS_EXIT

#define LOG_ARCHIVE_CS_EXIT (
    thread_p
) `csect_exit (thread_p, CSECT_LOG_ARCHIVE )`

define LOG_ARCHIVE_CS_OWN

#define LOG_ARCHIVE_CS_OWN (
    thread_p
) `( csect_check (thread_p, CSECT_LOG_ARCHIVE ) >= 1)`

define LOG_ARCHIVE_CS_OWN_READ_MODE

#define LOG_ARCHIVE_CS_OWN_READ_MODE (
    thread_p
) `( csect_check_own (thread_p, CSECT_LOG_ARCHIVE ) == 2)`

define LOG_ARCHIVE_CS_OWN_WRITE_MODE

#define LOG_ARCHIVE_CS_OWN_WRITE_MODE (
    thread_p
) `( csect_check_own (thread_p, CSECT_LOG_ARCHIVE ) == 1)`

define LOG_CHECK_LOG_APPLIER

#define LOG_CHECK_LOG_APPLIER (
    thread_p
) `/* multi line expression */`

define LOG_ESTIMATE_NACTIVE_TRANS

#define LOG_ESTIMATE_NACTIVE_TRANS `100 /* Estimate num of  trans */`

define LOG_ESTIMATE_NOBJ_LOCKS

#define LOG_ESTIMATE_NOBJ_LOCKS `977    /* Estimate num of locks */`

define LOG_FIND_THREAD_TRAN_INDEX

#define LOG_FIND_THREAD_TRAN_INDEX (
    thrd
) `((thrd) ? (thrd)->tran_index : logtb_get_current_tran_index ())`

define LOG_GROUP_COMMIT_INFO_INITIALIZER

#define LOG_GROUP_COMMIT_INFO_INITIALIZER `{ PTHREAD_MUTEX_INITIALIZER , PTHREAD_COND_INITIALIZER }`

define LOG_HAS_LOGGING_BEEN_IGNORED

#define LOG_HAS_LOGGING_BEEN_IGNORED (

) `(log_Gl.hdr.has_logging_been_skipped == true )`

define LOG_ISRESTARTED

#define LOG_ISRESTARTED (

) `(log_Gl.rcv_phase == LOG_RESTARTED )`

define LOG_ISTRAN_2PC

#define LOG_ISTRAN_2PC (
    tdes
) `/* multi line expression */`

define LOG_ISTRAN_2PC_INFORMING_PARTICIPANTS

#define LOG_ISTRAN_2PC_INFORMING_PARTICIPANTS (
    tdes
) `/* multi line expression */`

define LOG_ISTRAN_2PC_IN_SECOND_PHASE

#define LOG_ISTRAN_2PC_IN_SECOND_PHASE (
    tdes
) `/* multi line expression */`

define LOG_ISTRAN_2PC_PREPARE

#define LOG_ISTRAN_2PC_PREPARE (
    tdes
) `(( tdes )->state == TRAN_UNACTIVE_2PC_PREPARE )`

define LOG_ISTRAN_ABORTED

#define LOG_ISTRAN_ABORTED (
    tdes
) `/* multi line expression */`

define LOG_ISTRAN_ACTIVE

#define LOG_ISTRAN_ACTIVE (
    tdes
) `(( tdes )->state == TRAN_ACTIVE && LOG_ISRESTARTED ())`

define LOG_ISTRAN_COMMITTED

#define LOG_ISTRAN_COMMITTED (
    tdes
) `/* multi line expression */`

define LOG_ISTRAN_LOOSE_ENDS

#define LOG_ISTRAN_LOOSE_ENDS (
    tdes
) `/* multi line expression */`

define LOG_IS_GROUP_COMMIT_ACTIVE

#define LOG_IS_GROUP_COMMIT_ACTIVE (

) `( prm_get_integer_value ( PRM_ID_LOG_GROUP_COMMIT_INTERVAL_MSECS ) > 0)`

define LOG_READ_NEXT_MVCCID

#define LOG_READ_NEXT_MVCCID `(log_Gl.hdr.mvcc_next_id)`

define LOG_READ_NEXT_TRANID

#define LOG_READ_NEXT_TRANID `(log_Gl.hdr.next_trid)`

define LOG_SET_CURRENT_TRAN_INDEX

#define LOG_SET_CURRENT_TRAN_INDEX (
    thrd,
    index
) `((thrd) ? ( void ) ((thrd)->tran_index = (index)) : logtb_set_current_tran_index ((thrd), (index)))`

define LOG_THREAD_TRAN_ARGS

#define LOG_THREAD_TRAN_ARGS (
    thread_p
) `"(SA_MODE)"`

define LOG_THREAD_TRAN_MSG

#define LOG_THREAD_TRAN_MSG `"%s"`

define MAX_CDC_LOGINFO_QUEUE_ENTRY

#define MAX_CDC_LOGINFO_QUEUE_ENTRY `2048`

define MAX_CDC_LOGINFO_QUEUE_SIZE

#define MAX_CDC_LOGINFO_QUEUE_SIZE `32 * 1024 * 1024    /*32 MB */`

define MAX_CDC_TRAN_USER_TABLE

#define MAX_CDC_TRAN_USER_TABLE `4000`

define MAX_NUM_EXEC_QUERY_HISTORY

#define MAX_NUM_EXEC_QUERY_HISTORY `100`

define TRANTABLE_INITIALIZER

#define TRANTABLE_INITIALIZER `{ 0, 0, 0, 0, 0, 0, NULL , NULL }`

define TRAN_UNIQUE_STATS_CHUNK_SIZE

#define TRAN_UNIQUE_STATS_CHUNK_SIZE `128   /* size of  the memory chunk  for unique statistics */`

define TR_TABLE_CS_ENTER

#define TR_TABLE_CS_ENTER (
    thread_p
) `csect_enter ((thread_p), CSECT_TRAN_TABLE , INF_WAIT )`

define TR_TABLE_CS_ENTER_READ_MODE

#define TR_TABLE_CS_ENTER_READ_MODE (
    thread_p
) `csect_enter_as_reader ((thread_p), CSECT_TRAN_TABLE , INF_WAIT )`

define TR_TABLE_CS_EXIT

#define TR_TABLE_CS_EXIT (
    thread_p
) `csect_exit ((thread_p), CSECT_TRAN_TABLE )`

define _DB_DISABLE_MODIFICATIONS_

#define _DB_DISABLE_MODIFICATIONS_ 

define cdc_log

#define cdc_log (
    ...
) `if ( cdc_Logging ) _er_log_debug ( ARG_FILE_LINE , "CDC: " __VA_ARGS__)`


The documentation for this class was generated from the following file cubrid/src/transaction/log_impl.h