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¶
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¶
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) >= 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)->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))->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))->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) > 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)->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 CDC_CONSUMER_REQUEST¶
typedef CDC_DATAITEM_TYPE¶
typedef CDC_DCL_TYPE¶
typedef CDC_DML_TYPE¶
typedef CDC_GLOBAL¶
typedef CDC_LOGINFO_ENTRY¶
typedef CDC_PRODUCER¶
typedef CDC_PRODUCER_REQUEST¶
typedef CDC_PRODUCER_STATE¶
typedef CDC_TEMP_LOGBUF¶
typedef COUNT_OPTIM_STATE¶
typedef GLOBAL_UNIQUE_STATS¶
typedef GLOBAL_UNIQUE_STATS_TABLE¶
typedef LOG_ADDR_TDESAREA¶
typedef LOG_CS_ACCESS_MODE¶
typedef LOG_FLUSH¶
typedef LOG_FLUSH_INFO¶
typedef LOG_GETNEWTRID¶
typedef LOG_GLOBAL¶
typedef LOG_GROUP_COMMIT_INFO¶
typedef LOG_LOGGING_STAT¶
typedef LOG_RCV_TDES¶
typedef LOG_RECVPHASE¶
typedef LOG_SETDIRTY¶
typedef LOG_TDES¶
typedef LOG_TOPOPS_ADDRESSES¶
typedef LOG_TOPOPS_STACK¶
typedef LOG_TRAN_BTID_UNIQUE_STATS¶
typedef LOG_TRAN_BTID_UNIQUE_STATS_CHUNK¶
typedef LOG_TRAN_CLASS_COS¶
typedef LOG_TRAN_CLASS_COS_CHUNK¶
typedef LOG_TRAN_UPDATE_STATS¶
typedef LOG_UNIQUE_STATS¶
typedef LOG_WRITE_EOT_LOG¶
typedef OVF_PAGE_LIST¶
typedef TRANTABLE¶
typedef 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_dcl_type¶
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 log_cs_access_mode¶
enum log_flush¶
enum log_getnewtrid¶
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_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¶
variable LOG_SYSTEM_WORKER_INCR_TRANID¶
variable cdc_Gl¶
variable cdc_Logging¶
variable db_Disable_modifications¶
variable g_backup_read_worker_pool¶
variable log_Archive_path¶
variable log_Db_fullname¶
variable log_Gl¶
variable log_Name_active¶
variable log_Name_bg_archive¶
variable log_Name_bkupinfo¶
variable log_Name_info¶
variable log_Name_removed_archive¶
variable log_Name_volinfo¶
variable log_Path¶
variable log_Prefix¶
variable log_Stat¶
Public Functions Documentation¶
function LOG_FIND_CURRENT_TDES¶
function LOG_FIND_TDES¶
function log_set_db_restore_time¶
function log_set_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¶
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¶
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¶
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¶
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¶
function logpb_create_header_page¶
function logpb_create_log_info¶
function logpb_create_page¶
function logpb_create_volume_info¶
function logpb_debug_check_log_page¶
function logpb_decache_archive_info¶
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¶
function logpb_dump¶
function logpb_dump_checkpoint_trans¶
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¶
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¶
function logpb_fetch_start_append_page_new¶
function logpb_finalize_pool¶
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¶
function logpb_find_oldest_available_page_id¶
function logpb_find_volume_info_exist¶
function logpb_flush_header¶
function logpb_flush_log_for_wal¶
function logpb_flush_page¶
function logpb_flush_pages¶
function logpb_flush_pages_direct¶
function logpb_force_flush_header_and_pages¶
function logpb_force_flush_pages¶
function logpb_get_archive_number¶
function logpb_get_page_id¶
function logpb_get_tde_algorithm¶
function logpb_initialize_arv_page_info_table¶
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¶
function logpb_initialize_pool¶
function logpb_invalid_all_append_pages¶
function logpb_invalidate_pool¶
function logpb_is_page_in_archive¶
function logpb_is_pool_initialized¶
function logpb_is_smallest_lsa_in_archive¶
function logpb_last_complete_blockid¶
function logpb_need_wal¶
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¶
function logpb_push_backup_read_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¶
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¶
function logpb_remove_archive_logs¶
function logpb_remove_archive_logs_exceed_limit¶
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¶
function logpb_set_page_checksum¶
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¶
function logpb_vacuum_reset_log_header_cache¶
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¶
function logtb_am_i_sole_tran¶
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¶
function logtb_clear_tdes¶
function logtb_complete_mvcc¶
function logtb_complete_sub_mvcc¶
function logtb_count_clients¶
function logtb_count_clients_with_type¶
function logtb_count_not_allowed_clients_in_maintenance_mode¶
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¶
function logtb_delete_global_unique_stats¶
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¶
function logtb_enable_update¶
function logtb_finalize_global_unique_stats_table¶
function logtb_finalize_tdes¶
function logtb_find_client_hostname¶
function logtb_find_client_name¶
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¶
function logtb_find_current_client_hostname¶
function logtb_find_current_client_name¶
function logtb_find_current_client_type¶
function logtb_find_current_isolation¶
function logtb_find_current_mvccid¶
function logtb_find_current_tran_lsa¶
function logtb_find_current_tranid¶
function logtb_find_interrupt¶
function logtb_find_isolation¶
function logtb_find_largest_lsa¶
function logtb_find_log_records_count¶
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¶
function logtb_find_state¶
function logtb_find_thread_by_tran_index¶
function logtb_find_thread_by_tran_index_except_me¶
function logtb_find_tran_index¶
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¶
function logtb_find_wait_msecs¶
function logtb_free_tran_index¶
function logtb_free_tran_index_with_undo_lsa¶
function logtb_get_check_interrupt¶
function logtb_get_client_ids¶
function logtb_get_current_mvccid¶
function logtb_get_current_tran_index¶
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¶
function logtb_get_new_subtransaction_mvccid¶
function logtb_get_new_tran_id¶
function logtb_get_number_assigned_tran_indices¶
function logtb_get_number_of_total_tran_indices¶
function logtb_get_system_tdes¶
function logtb_has_deadlock_priority¶
function logtb_i_am_not_sole_tran¶
function logtb_initialize_global_unique_stats_table¶
function logtb_initialize_tdes¶
function logtb_invalidate_snapshot_data¶
function logtb_is_active¶
function logtb_is_current_active¶
function logtb_is_current_mvccid¶
function logtb_is_interrupted¶
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¶
function logtb_is_system_worker_tranid¶
function logtb_is_tran_modification_disabled¶
function logtb_istran_finished¶
function logtb_load_global_statistics_to_tran¶
function logtb_realloc_topops_stack¶
function logtb_reflect_global_unique_stats_to_btree¶
function logtb_release_tran_index¶
function logtb_rv_assign_mvccid_for_undo_recovery¶
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¶
function logtb_set_current_tran_index¶
function logtb_set_current_user_active¶
function logtb_set_current_user_name¶
function logtb_set_num_loose_end_trans¶
function logtb_set_suppress_repl_on_transaction¶
function logtb_set_to_system_tran_index¶
function logtb_set_tran_index_interrupt¶
function logtb_set_user_name¶
function logtb_slam_transaction¶
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¶
function logtb_tran_update_all_global_unique_stats¶
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¶
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¶
function xlogpb_dump_stat¶
function xlogtb_dump_trantable¶
function xlogtb_get_mvcc_snapshot¶
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_MAKE_SUPPLEMENT_DATA¶
define CDC_UPDATE_TEMP_LOGPAGE¶
define CHECK_MODIFICATION_NO_RETURN¶
define COS_CLASSES_CHUNK_SIZE¶
define GLOBAL_UNIQUE_STATS_HASH_SIZE¶
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 LOG_ARCHIVE_CS_ENTER¶
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_OWN¶
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_ESTIMATE_NACTIVE_TRANS¶
define LOG_ESTIMATE_NOBJ_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_ISRESTARTED¶
define LOG_ISTRAN_2PC¶
define LOG_ISTRAN_2PC_INFORMING_PARTICIPANTS¶
define LOG_ISTRAN_2PC_IN_SECOND_PHASE¶
define LOG_ISTRAN_2PC_PREPARE¶
define LOG_ISTRAN_ABORTED¶
define LOG_ISTRAN_ACTIVE¶
define LOG_ISTRAN_COMMITTED¶
define LOG_ISTRAN_LOOSE_ENDS¶
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_TRANID¶
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_MSG¶
define MAX_CDC_LOGINFO_QUEUE_ENTRY¶
define MAX_CDC_LOGINFO_QUEUE_SIZE¶
define MAX_CDC_TRAN_USER_TABLE¶
define MAX_NUM_EXEC_QUERY_HISTORY¶
define TRANTABLE_INITIALIZER¶
define TRAN_UNIQUE_STATS_CHUNK_SIZE¶
define TR_TABLE_CS_ENTER¶
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 _DB_DISABLE_MODIFICATIONS_¶
define cdc_log¶
The documentation for this class was generated from the following file cubrid/src/transaction/log_impl.h