CUBRID Engine
latest
|
#include "log_lsa.hpp"
#include "mvcc_active_tran.hpp"
#include "recovery.h"
#include "storage_common.h"
#include "thread_compat.hpp"
#include <vector>
Go to the source code of this file.
Classes | |
struct | mvcc_rec_header |
struct | mvcc_snapshot |
struct | mvcc_info |
Macros | |
#define | MVCC_REC_HEADER_INITIALIZER { 0, 0, NULL_CHN, MVCCID_NULL, MVCCID_NULL, LSA_INITIALIZER } |
#define | MVCC_GET_INSID(header) ((header)->mvcc_ins_id) |
#define | MVCC_SET_INSID(header, mvcc_id) ((header)->mvcc_ins_id = (mvcc_id)) |
#define | MVCC_GET_DELID(header) ((header)->mvcc_del_id) |
#define | MVCC_SET_DELID(header, mvcc_id) ((header)->mvcc_del_id = (mvcc_id)) |
#define | MVCC_GET_REPID(header) ((header)->repid) |
#define | MVCC_SET_REPID(header, rep_id) ((header)->repid = (rep_id)) |
#define | MVCC_GET_CHN(header) ((header)->chn) |
#define | MVCC_SET_CHN(header, chn_) ((header)->chn = (chn_)) |
#define | MVCC_GET_FLAG(header) ((header)->mvcc_flag) |
#define | MVCC_SET_FLAG(header, flag) ((header)->mvcc_flag = (flag)) |
#define | MVCC_IS_ANY_FLAG_SET(rec_header_p) (MVCC_IS_FLAG_SET (rec_header_p, OR_MVCC_FLAG_MASK)) |
#define | MVCC_IS_FLAG_SET(rec_header_p, flags) ((rec_header_p)->mvcc_flag & (flags)) |
#define | MVCC_IS_HEADER_DELID_VALID(rec_header_p) |
#define | MVCC_IS_HEADER_INSID_NOT_ALL_VISIBLE(rec_header_p) |
#define | MVCC_SET_FLAG_BITS(rec_header_p, flag) ((rec_header_p)->mvcc_flag |= (flag)) |
#define | MVCC_CLEAR_ALL_FLAG_BITS(rec_header_p) (MVCC_CLEAR_FLAG_BITS (rec_header_p, OR_MVCC_FLAG_MASK)) |
#define | MVCC_CLEAR_FLAG_BITS(rec_header_p, flag) ((rec_header_p)->mvcc_flag &= ~(flag)) |
#define | MVCC_SNAPSHOT_GET_LOWEST_ACTIVE_ID(snapshot) ((snapshot)->lowest_active_mvccid) |
#define | MVCC_SNAPSHOT_GET_HIGHEST_COMMITTED_ID(snapshot) ((snapshot)->highest_completed_mvccid) |
#define | MVCC_IS_REC_INSERTED_BY_ME(thread_p, rec_header_p) (logtb_is_current_mvccid (thread_p, (rec_header_p)->mvcc_ins_id)) |
#define | MVCC_IS_REC_DELETED_BY_ME(thread_p, rec_header_p) (logtb_is_current_mvccid (thread_p, (rec_header_p)->mvcc_del_id)) |
#define | MVCC_IS_REC_INSERTED_BY(rec_header_p, mvcc_id) ((rec_header_p)->mvcc_ins_id == mvcc_id) |
#define | MVCC_IS_REC_DELETED_BY(rec_header_p, mvcc_id) ((rec_header_p)->delid_chn.mvcc_del_id == mvcc_id) |
#define | MVCC_IS_CHN_UPTODATE(rec_header_p, chn) |
#define | MVCC_ID_PRECEDES(id1, id2) ((id1) < (id2)) |
#define | MVCC_ID_FOLLOW_OR_EQUAL(id1, id2) ((id1) >= (id2)) |
#define | MVCC_IS_HEADER_PREV_VERSION_VALID(rec_header_p) |
#define | MVCC_SET_PREVIOUS_VERSION_LSA(header, new_lsa) |
#define | MVCC_GET_PREV_VERSION_LSA(header) ((header)->prev_version_lsa) |
#define | LOG_IS_MVCC_HEAP_OPERATION(rcvindex) |
#define | LOG_IS_MVCC_BTREE_OPERATION(rcvindex) |
#define | LOG_IS_MVCC_OPERATION(rcvindex) |
Typedefs | |
typedef struct mvcc_rec_header | MVCC_REC_HEADER |
typedef enum mvcc_satisfies_snapshot_result | MVCC_SATISFIES_SNAPSHOT_RESULT |
typedef struct mvcc_snapshot | MVCC_SNAPSHOT |
typedef MVCC_SATISFIES_SNAPSHOT_RESULT(* | MVCC_SNAPSHOT_FUNC) (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header, MVCC_SNAPSHOT *snapshot) |
typedef struct mvcc_info | MVCC_INFO |
typedef enum mvcc_satisfies_delete_result | MVCC_SATISFIES_DELETE_RESULT |
typedef enum mvcc_satisfies_vacuum_result | MVCC_SATISFIES_VACUUM_RESULT |
Functions | |
MVCC_SATISFIES_SNAPSHOT_RESULT | mvcc_satisfies_snapshot (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header, MVCC_SNAPSHOT *snapshot) |
MVCC_SATISFIES_SNAPSHOT_RESULT | mvcc_is_not_deleted_for_snapshot (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header, MVCC_SNAPSHOT *snapshot) |
MVCC_SATISFIES_VACUUM_RESULT | mvcc_satisfies_vacuum (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header, MVCCID oldest_mvccid) |
MVCC_SATISFIES_DELETE_RESULT | mvcc_satisfies_delete (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header) |
MVCC_SATISFIES_SNAPSHOT_RESULT | mvcc_satisfies_dirty (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header, MVCC_SNAPSHOT *snapshot) |
bool | mvcc_is_mvcc_disabled_class (const OID *class_oid) |
#define LOG_IS_MVCC_BTREE_OPERATION | ( | rcvindex | ) |
Definition at line 248 of file mvcc.h.
Referenced by vacuum_process_log_block(), and vacuum_process_log_record().
#define LOG_IS_MVCC_HEAP_OPERATION | ( | rcvindex | ) |
Definition at line 239 of file mvcc.h.
Referenced by heap_log_update_physical(), heap_mvcc_log_delete(), and vacuum_process_log_block().
#define LOG_IS_MVCC_OPERATION | ( | rcvindex | ) |
Definition at line 255 of file mvcc.h.
Referenced by log_append_redo_crumbs(), log_append_undo_crumbs(), log_append_undoredo_crumbs(), log_rv_undo_record(), log_sysop_end_logical_undo(), and prior_lsa_gen_undoredo_record_from_crumbs().
#define MVCC_CLEAR_ALL_FLAG_BITS | ( | rec_header_p | ) | (MVCC_CLEAR_FLAG_BITS (rec_header_p, OR_MVCC_FLAG_MASK)) |
Definition at line 98 of file mvcc.h.
Referenced by heap_insert_adjust_recdes_header(), and heap_update_adjust_recdes_header().
Definition at line 101 of file mvcc.h.
Referenced by btree_sort_get_next(), heap_insert_adjust_recdes_header(), heap_rv_mvcc_undo_delete(), heap_update_adjust_recdes_header(), locator_update_force(), vacuum_rv_check_at_undo(), and vacuum_rv_redo_vacuum_heap_page().
#define MVCC_GET_CHN | ( | header | ) | ((header)->chn) |
Definition at line 69 of file mvcc.h.
Referenced by vacuum_heap_record_insid_and_prev_version().
#define MVCC_GET_DELID | ( | header | ) | ((header)->mvcc_del_id) |
Definition at line 57 of file mvcc.h.
Referenced by btree_construct_leafs(), btree_mvcc_delete(), btree_mvcc_info_from_heap_mvcc_header(), btree_sort_get_next(), heap_get_record_info(), locator_update_force(), lock_demote_class_lock(), print_not_vacuumed_to_log(), and vacuum_heap_record_insid_and_prev_version().
#define MVCC_GET_FLAG | ( | header | ) | ((header)->mvcc_flag) |
Definition at line 75 of file mvcc.h.
Referenced by heap_get_record_info(), heap_set_mvcc_rec_header_on_overflow(), vacuum_heap_record_insid_and_prev_version(), and vacuum_rv_redo_vacuum_heap_page().
#define MVCC_GET_INSID | ( | header | ) | ((header)->mvcc_ins_id) |
Definition at line 51 of file mvcc.h.
Referenced by btree_construct_leafs(), btree_insert(), btree_mvcc_info_from_heap_mvcc_header(), btree_sort_get_next(), heap_get_record_info(), locator_update_force(), lock_demote_class_lock(), mvcc_satisfies_dirty(), print_not_vacuumed_to_log(), and vacuum_heap_record_insid_and_prev_version().
#define MVCC_GET_PREV_VERSION_LSA | ( | header | ) | ((header)->prev_version_lsa) |
Definition at line 152 of file mvcc.h.
Referenced by heap_get_visible_version_from_log(), heap_get_visible_version_internal(), and locator_update_force().
#define MVCC_GET_REPID | ( | header | ) | ((header)->repid) |
Definition at line 63 of file mvcc.h.
Referenced by vacuum_heap_record_insid_and_prev_version().
#define MVCC_ID_FOLLOW_OR_EQUAL | ( | id1, | |
id2 | |||
) | ((id1) >= (id2)) |
Definition at line 138 of file mvcc.h.
Referenced by mvcc_is_id_in_snapshot(), vacuum_add_dropped_file(), and vacuum_process_log_block().
#define MVCC_ID_PRECEDES | ( | id1, | |
id2 | |||
) | ((id1) < (id2)) |
Definition at line 137 of file mvcc.h.
Referenced by btree_check_valid_record(), btree_leaf_change_first_object(), mvcc_active_tran::check_valid(), mvcctable::complete_mvcc(), mvcctable::compute_oldest_visible_mvccid(), heap_page_rv_chain_update(), heap_page_update_chain_after_mvcc_op(), mvcc_active_tran::is_active(), log_recovery_redo(), mvcc_is_active_id(), mvcc_is_id_in_snapshot(), mvcc_active_tran::set_inactive_mvccid(), test_mvcc_get_oldest(), vacuum_cleanup_dropped_files(), vacuum_find_dropped_file(), vacuum_process_log_block(), vacuum_recover_lost_block_data(), vacuum_rv_redo_add_dropped_file(), vacuum_rv_replace_dropped_file(), and vacuum_verify_vacuum_data_debug().
#define MVCC_IS_ANY_FLAG_SET | ( | rec_header_p | ) | (MVCC_IS_FLAG_SET (rec_header_p, OR_MVCC_FLAG_MASK)) |
#define MVCC_IS_CHN_UPTODATE | ( | rec_header_p, | |
chn | |||
) |
Definition at line 133 of file mvcc.h.
Referenced by heap_get_if_diff_chn(), heap_get_last_version(), heap_get_visible_version_from_log(), and heap_get_visible_version_internal().
#define MVCC_IS_FLAG_SET | ( | rec_header_p, | |
flags | |||
) | ((rec_header_p)->mvcc_flag & (flags)) |
Definition at line 84 of file mvcc.h.
Referenced by btree_mvcc_info_from_heap_mvcc_header(), btree_set_mvcc_flags_into_oid(), btree_sort_get_next(), heap_get_record_info(), heap_insert_adjust_recdes_header(), heap_mvcc_log_redistribute(), heap_rv_mvcc_redo_delete_overflow(), heap_rv_mvcc_undo_delete(), heap_rv_mvcc_undo_delete_overflow(), heap_set_mvcc_rec_header_on_overflow(), heap_update_adjust_recdes_header(), locator_update_force(), lock_demote_class_lock(), mvcc_satisfies_delete(), mvcc_satisfies_dirty(), mvcc_satisfies_snapshot(), print_not_vacuumed_to_log(), and vacuum_rv_check_at_undo().
#define MVCC_IS_HEADER_DELID_VALID | ( | rec_header_p | ) |
Definition at line 87 of file mvcc.h.
Referenced by btree_construct_leafs(), btree_sort_get_next(), heap_get_record_info(), heap_insert_adjust_recdes_header(), locator_lock_and_get_object_internal(), locator_update_force(), lock_demote_class_lock(), mvcc_is_not_deleted_for_snapshot(), mvcc_satisfies_delete(), mvcc_satisfies_dirty(), mvcc_satisfies_snapshot(), mvcc_satisfies_vacuum(), print_not_vacuumed_to_log(), and vacuum_heap_record().
#define MVCC_IS_HEADER_INSID_NOT_ALL_VISIBLE | ( | rec_header_p | ) |
Definition at line 91 of file mvcc.h.
Referenced by btree_construct_leafs(), btree_sort_get_next(), mvcc_satisfies_vacuum(), and vacuum_heap_record_insid_and_prev_version().
#define MVCC_IS_HEADER_PREV_VERSION_VALID | ( | rec_header_p | ) |
#define MVCC_IS_REC_DELETED_BY | ( | rec_header_p, | |
mvcc_id | |||
) | ((rec_header_p)->delid_chn.mvcc_del_id == mvcc_id) |
#define MVCC_IS_REC_DELETED_BY_ME | ( | thread_p, | |
rec_header_p | |||
) | (logtb_is_current_mvccid (thread_p, (rec_header_p)->mvcc_del_id)) |
Definition at line 118 of file mvcc.h.
Referenced by mvcc_is_not_deleted_for_snapshot(), mvcc_satisfies_delete(), mvcc_satisfies_dirty(), and mvcc_satisfies_snapshot().
#define MVCC_IS_REC_INSERTED_BY | ( | rec_header_p, | |
mvcc_id | |||
) | ((rec_header_p)->mvcc_ins_id == mvcc_id) |
#define MVCC_IS_REC_INSERTED_BY_ME | ( | thread_p, | |
rec_header_p | |||
) | (logtb_is_current_mvccid (thread_p, (rec_header_p)->mvcc_ins_id)) |
Definition at line 114 of file mvcc.h.
Referenced by locator_mvcc_reev_cond_and_assignment(), mvcc_satisfies_delete(), mvcc_satisfies_dirty(), and mvcc_satisfies_snapshot().
#define MVCC_REC_HEADER_INITIALIZER { 0, 0, NULL_CHN, MVCCID_NULL, MVCCID_NULL, LSA_INITIALIZER } |
Definition at line 47 of file mvcc.h.
Referenced by btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), btree_sort_get_next(), heap_get_last_version(), heap_get_visible_version_internal(), and locator_lock_and_get_object_with_evaluation().
#define MVCC_SET_CHN | ( | header, | |
chn_ | |||
) | ((header)->chn = (chn_)) |
Definition at line 72 of file mvcc.h.
Referenced by heap_rv_mvcc_redo_insert().
#define MVCC_SET_DELID | ( | header, | |
mvcc_id | |||
) | ((header)->mvcc_del_id = (mvcc_id)) |
Definition at line 60 of file mvcc.h.
Referenced by btree_mvcc_info_to_heap_mvcc_header(), btree_set_mvcc_header_ids_for_update(), heap_delete_adjust_header(), heap_rv_mvcc_redo_delete_internal(), heap_rv_mvcc_redo_delete_overflow(), heap_rv_mvcc_redo_redistribute(), heap_rv_mvcc_undo_delete_overflow(), heap_set_mvcc_rec_header_on_overflow(), and locator_update_force().
Definition at line 78 of file mvcc.h.
Referenced by heap_insert_adjust_recdes_header(), heap_rv_mvcc_redo_insert(), heap_rv_mvcc_redo_redistribute(), and heap_update_adjust_recdes_header().
Definition at line 95 of file mvcc.h.
Referenced by btree_construct_leafs(), btree_set_mvcc_header_ids_for_update(), heap_delete_adjust_header(), heap_rv_mvcc_redo_delete_internal(), heap_set_mvcc_rec_header_on_overflow(), heap_update_adjust_recdes_header(), and locator_update_force().
#define MVCC_SET_INSID | ( | header, | |
mvcc_id | |||
) | ((header)->mvcc_ins_id = (mvcc_id)) |
Definition at line 54 of file mvcc.h.
Referenced by btree_construct_leafs(), btree_mvcc_info_to_heap_mvcc_header(), btree_set_mvcc_header_ids_for_update(), heap_insert_adjust_recdes_header(), heap_rv_mvcc_redo_insert(), heap_rv_mvcc_redo_redistribute(), heap_set_mvcc_rec_header_on_overflow(), heap_update_adjust_recdes_header(), locator_update_force(), vacuum_heap_record_insid_and_prev_version(), vacuum_rv_check_at_undo(), and vacuum_rv_redo_remove_ovf_insid().
#define MVCC_SET_PREVIOUS_VERSION_LSA | ( | header, | |
new_lsa | |||
) |
Definition at line 144 of file mvcc.h.
Referenced by locator_update_force().
#define MVCC_SET_REPID | ( | header, | |
rep_id | |||
) | ((header)->repid = (rep_id)) |
Definition at line 66 of file mvcc.h.
Referenced by heap_rv_mvcc_redo_insert(), and heap_rv_mvcc_redo_redistribute().
#define MVCC_SNAPSHOT_GET_HIGHEST_COMMITTED_ID | ( | snapshot | ) | ((snapshot)->highest_completed_mvccid) |
#define MVCC_SNAPSHOT_GET_LOWEST_ACTIVE_ID | ( | snapshot | ) | ((snapshot)->lowest_active_mvccid) |
typedef struct mvcc_rec_header MVCC_REC_HEADER |
typedef enum mvcc_satisfies_delete_result MVCC_SATISFIES_DELETE_RESULT |
typedef enum mvcc_satisfies_vacuum_result MVCC_SATISFIES_VACUUM_RESULT |
typedef struct mvcc_snapshot MVCC_SNAPSHOT |
typedef MVCC_SATISFIES_SNAPSHOT_RESULT(* MVCC_SNAPSHOT_FUNC) (THREAD_ENTRY *thread_p, MVCC_REC_HEADER *rec_header, MVCC_SNAPSHOT *snapshot) |
Definition at line 616 of file mvcc.c.
References OID_CACHE_COLLATION_CLASS_ID, OID_CACHE_HA_APPLY_INFO_CLASS_ID, oid_check_cached_class_oid(), OID_IS_ROOTOID, oid_is_serial(), and OID_ISNULL.
Referenced by btree_fix_root_for_delete(), heap_attrinfo_transform_to_disk_internal(), heap_delete_logical(), heap_get_visible_version_internal(), heap_insert_logical(), heap_update_home(), heap_update_logical(), locator_add_or_remove_index_internal(), locator_delete_force_internal(), locator_get_object(), locator_lock_and_get_object_internal(), locator_update_force(), locator_update_index(), lock_rep_read_tran(), qexec_open_scan(), scan_next_heap_scan(), scan_next_index_lookup_heap(), xbtree_find_unique(), and xlocator_fetch().
MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_is_not_deleted_for_snapshot | ( | THREAD_ENTRY * | thread_p, |
MVCC_REC_HEADER * | rec_header, | ||
MVCC_SNAPSHOT * | snapshot | ||
) |
Definition at line 268 of file mvcc.c.
References assert, MVCC_IS_HEADER_DELID_VALID, MVCC_IS_REC_DELETED_BY_ME, MVCC_IS_REC_DELETER_IN_SNAPSHOT, NULL, SNAPSHOT_SATISFIED, and TOO_OLD_FOR_SNAPSHOT.
Referenced by heap_is_object_not_null().
MVCC_SATISFIES_DELETE_RESULT mvcc_satisfies_delete | ( | THREAD_ENTRY * | thread_p, |
MVCC_REC_HEADER * | rec_header | ||
) |
Definition at line 377 of file mvcc.c.
References assert, DELETE_RECORD_CAN_DELETE, DELETE_RECORD_DELETE_IN_PROGRESS, DELETE_RECORD_DELETED, DELETE_RECORD_INSERT_IN_PROGRESS, DELETE_RECORD_SELF_DELETED, mvcc_rec_header::mvcc_del_id, mvcc_rec_header::mvcc_ins_id, MVCC_IS_FLAG_SET, MVCC_IS_HEADER_DELID_VALID, MVCC_IS_REC_DELETED_BY_ME, MVCC_IS_REC_DELETER_ACTIVE, MVCC_IS_REC_INSERTED_BY_ME, MVCC_IS_REC_INSERTER_ACTIVE, MVCCID_ALL_VISIBLE, NULL, OR_MVCC_FLAG_VALID_INSID, PERF_SNAPSHOT_INVISIBLE, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED_LOST, PERF_SNAPSHOT_RECORD_DELETED_CURR_TRAN, PERF_SNAPSHOT_RECORD_DELETED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED_LOST, PERF_SNAPSHOT_RECORD_INSERTED_CURR_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_VACUUMED, PERF_SNAPSHOT_SATISFIES_DELETE, PERF_SNAPSHOT_VISIBLE, PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT, perfmon_is_perf_tracking_and_active(), and vacuum_is_mvccid_vacuumed().
Referenced by btree_fk_object_does_exist(), btree_key_find_and_lock_unique_of_non_unique(), and btree_key_find_and_lock_unique_of_unique().
MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_satisfies_dirty | ( | THREAD_ENTRY * | thread_p, |
MVCC_REC_HEADER * | rec_header, | ||
MVCC_SNAPSHOT * | snapshot | ||
) |
Definition at line 501 of file mvcc.c.
References assert, mvcc_snapshot::highest_completed_mvccid, mvcc_snapshot::lowest_active_mvccid, mvcc_rec_header::mvcc_del_id, MVCC_GET_INSID, mvcc_rec_header::mvcc_ins_id, MVCC_IS_FLAG_SET, MVCC_IS_HEADER_DELID_VALID, MVCC_IS_REC_DELETED_BY_ME, MVCC_IS_REC_DELETER_ACTIVE, MVCC_IS_REC_INSERTED_BY_ME, MVCC_IS_REC_INSERTER_ACTIVE, MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, OR_MVCC_FLAG_VALID_INSID, PERF_SNAPSHOT_INVISIBLE, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED_LOST, PERF_SNAPSHOT_RECORD_DELETED_CURR_TRAN, PERF_SNAPSHOT_RECORD_DELETED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED_LOST, PERF_SNAPSHOT_RECORD_INSERTED_CURR_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_VACUUMED, PERF_SNAPSHOT_SATISFIES_DIRTY, PERF_SNAPSHOT_VISIBLE, PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT, perfmon_is_perf_tracking_and_active(), SNAPSHOT_SATISFIED, TOO_OLD_FOR_SNAPSHOT, and vacuum_is_mvccid_vacuumed().
Referenced by btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_find_first_visible_row(), btree_key_lock_and_append_object_unique(), btree_key_record_check_no_visible(), btree_load_check_fk(), btree_sort_get_next(), xbtree_find_unique(), xlocator_fetch(), and xlocator_fetch_all().
MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_satisfies_snapshot | ( | THREAD_ENTRY * | thread_p, |
MVCC_REC_HEADER * | rec_header, | ||
MVCC_SNAPSHOT * | snapshot | ||
) |
Definition at line 144 of file mvcc.c.
References assert, mvcc_rec_header::mvcc_del_id, mvcc_rec_header::mvcc_ins_id, MVCC_IS_FLAG_SET, MVCC_IS_HEADER_DELID_VALID, MVCC_IS_REC_DELETED_BY_ME, MVCC_IS_REC_DELETER_IN_SNAPSHOT, MVCC_IS_REC_INSERTED_BY_ME, MVCC_IS_REC_INSERTER_IN_SNAPSHOT, MVCCID_ALL_VISIBLE, NULL, OR_MVCC_FLAG_VALID_INSID, PERF_SNAPSHOT_INVISIBLE, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED_LOST, PERF_SNAPSHOT_RECORD_DELETED_CURR_TRAN, PERF_SNAPSHOT_RECORD_DELETED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED_LOST, PERF_SNAPSHOT_RECORD_INSERTED_CURR_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_DELETED, PERF_SNAPSHOT_RECORD_INSERTED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_VACUUMED, PERF_SNAPSHOT_SATISFIES_SNAPSHOT, PERF_SNAPSHOT_VISIBLE, PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT, perfmon_is_perf_tracking_and_active(), SNAPSHOT_SATISFIED, TOO_NEW_FOR_SNAPSHOT, TOO_OLD_FOR_SNAPSHOT, and vacuum_is_mvccid_vacuumed().
Referenced by mvcctable::build_mvcc_info().
MVCC_SATISFIES_VACUUM_RESULT mvcc_satisfies_vacuum | ( | THREAD_ENTRY * | thread_p, |
MVCC_REC_HEADER * | rec_header, | ||
MVCCID | oldest_mvccid | ||
) |
Definition at line 309 of file mvcc.c.
References MVCC_IS_HEADER_DELID_VALID, MVCC_IS_HEADER_INSID_NOT_ALL_VISIBLE, MVCC_IS_REC_DELETED_SINCE_MVCCID, MVCC_IS_REC_INSERTED_SINCE_MVCCID, PERF_SNAPSHOT_INVISIBLE, PERF_SNAPSHOT_RECORD_DELETED_COMMITTED, PERF_SNAPSHOT_RECORD_DELETED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_COMMITED, PERF_SNAPSHOT_RECORD_INSERTED_OTHER_TRAN, PERF_SNAPSHOT_RECORD_INSERTED_VACUUMED, PERF_SNAPSHOT_SATISFIES_VACUUM, PERF_SNAPSHOT_VISIBLE, PERFMON_ACTIVATION_FLAG_MVCC_SNAPSHOT, perfmon_is_perf_tracking_and_active(), VACUUM_RECORD_CANNOT_VACUUM, VACUUM_RECORD_DELETE_INSID_PREV_VER, and VACUUM_RECORD_REMOVE.
Referenced by is_not_vacuumed_and_lost(), vacuum_heap_page(), and vacuum_rv_check_at_undo().