CUBRID Engine
latest
|
#include "btree.h"
#include "btree_load.h"
#include "config.h"
#include "db_value_printer.hpp"
#include "file_manager.h"
#include "slotted_page.h"
#include "log_append.hpp"
#include "log_manager.h"
#include "overflow_file.h"
#include "xserver_interface.h"
#include "scan_manager.h"
#include "fetch.h"
#include "locator_sr.h"
#include "network_interface_sr.h"
#include "utility.h"
#include "transform.h"
#include "partition_sr.h"
#include "porting_inline.hpp"
#include "query_executor.h"
#include "query_opfunc.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "perf_monitor.h"
#include "regu_var.hpp"
#include "fault_injection.h"
#include "dbtype.h"
#include "thread_manager.hpp"
#include <assert.h>
#include <algorithm>
#include <cinttypes>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Classes | |
struct | recset_header |
struct | recins_struct |
struct | btree_stats_env |
struct | btree_range_search_helper |
struct | show_index_scan_ctx |
struct | btree_search_key_helper |
struct | btree_find_unique_helper |
struct | btree_rec_satisfies_snapshot_helper |
struct | btree_find_fk_object |
struct | btree_insert_helper |
struct | btree_delete_helper |
struct | btree_helper |
Variables | |
const size_t | BTREE_RV_BUFFER_SIZE |
const MVCCID | BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE = MVCCID_ALL_VISIBLE |
const MVCCID | BTREE_ONLINE_INDEX_INSERT_FLAG_STATE = 0x4000000000000000 | MVCCID_ALL_VISIBLE |
const MVCCID | BTREE_ONLINE_INDEX_DELETE_FLAG_STATE = 0x8000000000000000 | MVCCID_ALL_VISIBLE |
const MVCCID | BTREE_ONLINE_INDEX_FLAG_MASK = 0xC000000000000000 |
const MVCCID | BTREE_ONLINE_INDEX_MVCCID_MASK = ~0xC000000000000000 |
static int | fixed_pages |
#define BTREE_CHECK_VALID_PRINT_REC_MAX_LENGTH 1024 |
#define BTREE_DEBUG_DUMP_FULL 0x0002 /* full dump in insert or delete */ |
#define BTREE_DEBUG_DUMP_SIMPLE 0x0001 /* simple message in SMO */ |
Definition at line 62 of file btree.c.
Referenced by btree_key_insert_new_key(), btree_merge_node(), btree_merge_root(), btree_split_node(), and btree_split_root().
#define BTREE_DEBUG_HEALTH_FULL 0x0020 /* full health check (traverse all slot in page) */ |
Definition at line 66 of file btree.c.
Referenced by btree_verify_node().
#define BTREE_DEBUG_HEALTH_SIMPLE 0x0010 /* simple health check in SMO */ |
#define BTREE_DEBUG_TEST_SPLIT 0x0100 /* full split test */ |
Definition at line 68 of file btree.c.
Referenced by btree_split_node(), and btree_split_root().
#define BTREE_DELETE_CLASS_OID | ( | helper | ) | (&((helper)->object_info.class_oid)) |
Definition at line 881 of file btree.c.
Referenced by btree_check_locking_for_delete_unique(), btree_delete_internal(), btree_fix_root_for_delete(), btree_key_delete_remove_object(), btree_key_online_index_tran_delete(), btree_online_index_list_dispatcher(), btree_overflow_remove_object(), and btree_remove_delete_mvccid_unique_internal().
#define BTREE_DELETE_HELPER_AS_ARGS | ( | helper | ) |
Definition at line 1194 of file btree.c.
Referenced by btree_delete_internal(), btree_key_delete_remove_object(), btree_key_remove_insert_mvccid(), and btree_remove_delete_mvccid_unique_internal().
#define BTREE_DELETE_HELPER_MSG | ( | tabs | ) |
Definition at line 1187 of file btree.c.
Referenced by btree_delete_internal(), btree_key_delete_remove_object(), btree_key_remove_insert_mvccid(), and btree_remove_delete_mvccid_unique_internal().
#define btree_delete_log | ( | helper, | |
msg, | |||
... | |||
) | if ((helper)->log_operations) btree_log ("BTREE_DELETE ", msg, __VA_ARGS__) |
Definition at line 1151 of file btree.c.
Referenced by btree_delete_internal(), btree_delete_key_from_leaf(), btree_key_delete_remove_object(), btree_key_online_index_tran_delete(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_merge_node_and_advance(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_record_remove_object(), btree_remove_delete_mvccid_unique_internal(), and btree_replace_first_oid_with_ovfl_oid().
#define BTREE_DELETE_MODIFY_ARGS | ( | thread_p, | |
helper, | |||
page, | |||
save_lsa, | |||
is_leaf, | |||
slotid, | |||
new_size, | |||
btid | |||
) |
Definition at line 1224 of file btree.c.
Referenced by btree_delete_key_from_leaf(), btree_key_online_index_tran_delete(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_record_remove_object(), and btree_replace_first_oid_with_ovfl_oid().
#define BTREE_DELETE_MODIFY_MSG | ( | desc | ) |
Definition at line 1217 of file btree.c.
Referenced by btree_delete_key_from_leaf(), btree_key_online_index_tran_delete(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_record_remove_object(), and btree_replace_first_oid_with_ovfl_oid().
#define BTREE_DELETE_MVCC_INFO | ( | helper | ) | (&((helper)->object_info.mvcc_info)) |
Definition at line 883 of file btree.c.
Referenced by btree_delete_internal(), btree_key_delete_remove_object(), btree_key_online_index_tran_delete(), btree_key_remove_delete_mvccid(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), and btree_remove_delete_mvccid_unique_internal().
#define BTREE_DELETE_OID | ( | helper | ) | (&((helper)->object_info.oid)) |
Definition at line 879 of file btree.c.
Referenced by btree_check_locking_for_delete_unique(), btree_delete_internal(), btree_key_delete_remove_object(), btree_key_online_index_tran_delete(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_remove_object(), btree_online_index_list_dispatcher(), btree_overflow_remove_object(), and btree_remove_delete_mvccid_unique_internal().
#define BTREE_FIND_FK_OBJECT_INITIALIZER { OID_INITIALIZER } |
Definition at line 700 of file btree.c.
Referenced by btree_find_foreign_key().
#define BTREE_FIND_UNIQUE_HELPER_INITIALIZER |
Definition at line 472 of file btree.c.
Referenced by btree_key_lock_and_append_object_unique(), and xbtree_find_unique().
#define BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS | ( | mvcc_flags | ) |
Definition at line 269 of file btree.c.
Referenced by btree_leaf_get_nth_oid_ptr(), btree_or_get_mvccinfo(), btree_record_get_num_oids(), btree_record_remove_object_internal(), btree_record_replace_object(), and btree_verify_leaf_node().
#define BTREE_GET_OID | ( | buf, | |
oid_ptr | |||
) |
Definition at line 242 of file btree.c.
Referenced by btree_compare_oid(), btree_find_oid_from_ovfl(), btree_insert_object_ordered_by_oid(), and btree_seq_find_oid_from_ovfl().
#define BTREE_ID_MSG "index = %d, %d|%d" |
Definition at line 1155 of file btree.c.
Referenced by btree_delete_internal(), btree_fix_root_for_insert(), btree_insert_internal(), btree_remove_delete_mvccid_unique_internal(), and btree_split_node_and_advance().
#define BTREE_INSERT_CLASS_OID | ( | ins_helper | ) | (&((ins_helper)->obj_info.class_oid)) |
Definition at line 803 of file btree.c.
Referenced by btree_check_locking_for_insert_unique(), btree_fix_root_for_insert(), btree_insert_internal(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_unique(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), and btree_online_index_list_dispatcher().
#define BTREE_INSERT_HELPER_AS_ARGS | ( | helper | ) |
Definition at line 1180 of file btree.c.
Referenced by btree_fix_root_for_insert(), and btree_insert_internal().
#define BTREE_INSERT_HELPER_MSG | ( | tabs | ) |
Definition at line 1174 of file btree.c.
Referenced by btree_fix_root_for_insert(), and btree_insert_internal().
#define btree_insert_log | ( | helper, | |
msg, | |||
... | |||
) | if ((helper)->log_operations) btree_log ("BTREE_INSERT ", msg, __VA_ARGS__) |
Definition at line 1149 of file btree.c.
Referenced by btree_fix_root_for_insert(), btree_insert_internal(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_insert_new_key(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_relocate_last_into_ovf(), and btree_split_node_and_advance().
#define BTREE_INSERT_MODIFY_ARGS | ( | thread_p, | |
helper, | |||
page, | |||
save_lsa, | |||
is_leaf, | |||
slotid, | |||
new_size, | |||
btid | |||
) |
Definition at line 1209 of file btree.c.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_insert_new_key(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), and btree_key_relocate_last_into_ovf().
#define BTREE_INSERT_MODIFY_MSG | ( | desc | ) |
Definition at line 1202 of file btree.c.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_insert_new_key(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), and btree_key_relocate_last_into_ovf().
#define BTREE_INSERT_MVCC_INFO | ( | ins_helper | ) | (&((ins_helper)->obj_info.mvcc_info)) |
Definition at line 805 of file btree.c.
Referenced by btree_insert_internal(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_unique(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
#define BTREE_INSERT_OID | ( | ins_helper | ) | (&((ins_helper)->obj_info.oid)) |
Definition at line 801 of file btree.c.
Referenced by btree_check_locking_for_insert_unique(), btree_fix_root_for_insert(), btree_insert_internal(), btree_insert_mvcc_delid_into_page(), btree_key_append_object_unique(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_key_online_index_IB_insert_list(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), and btree_online_index_list_dispatcher().
#define BTREE_IS_PAGE_VALID_LEAF | ( | thread_p, | |
page | |||
) |
Definition at line 280 of file btree.c.
Referenced by btree_key_find_and_lock_unique_of_non_unique(), btree_range_scan_descending_fix_prev_leaf(), and btree_range_scan_resume().
#define BTREE_LEAF_RECORD_CLASS_OID ((short) 0x8000) |
Definition at line 110 of file btree.c.
Referenced by btree_delete_overflow_key(), btree_is_class_oid_packed(), btree_leaf_change_first_object(), btree_leaf_record_handle_first_overflow(), btree_or_get_object(), btree_or_put_object(), btree_read_record_without_decompression(), btree_record_get_num_visible_oids(), btree_record_remove_delid(), btree_rv_keyval_dump(), btree_rv_read_keybuf_nocopy(), btree_rv_read_keybuf_two_objects(), btree_rv_save_keyval_for_undo(), btree_rv_save_keyval_for_undo_two_objects(), and btree_write_record().
#define BTREE_LEAF_RECORD_FENCE ((short) 0x1000) |
Definition at line 104 of file btree.c.
Referenced by btree_check_page_key(), btree_compress_node(), btree_dump_page(), btree_find_lower_bound_leaf(), btree_get_stats_key(), btree_is_fence_key(), btree_leaf_is_key_between_min_max(), btree_merge_root(), btree_node_common_prefix(), btree_node_is_compressed(), btree_node_size_uncompressed(), btree_range_scan_advance_over_filtered_keys(), btree_read_record(), btree_search_leaf_page(), btree_split_node(), btree_split_root(), btree_split_test(), and btree_verify_leaf_node().
#define BTREE_LEAF_RECORD_MASK ((short) 0xF000) |
Definition at line 112 of file btree.c.
Referenced by btree_find_oid_from_ovfl(), btree_leaf_clear_flag(), btree_leaf_get_flag(), btree_leaf_is_flaged(), btree_leaf_set_flag(), and btree_seq_find_oid_from_ovfl().
#define BTREE_LEAF_RECORD_OVERFLOW_KEY ((short) 0x4000) |
Definition at line 108 of file btree.c.
Referenced by btree_check_valid_record(), btree_compress_node(), btree_delete_overflow_key(), btree_get_next_key_info(), btree_merge_root(), btree_node_common_prefix(), btree_node_size_uncompressed(), btree_read_record(), btree_read_record_without_decompression(), btree_rv_record_modify_internal(), and btree_write_record().
#define BTREE_LEAF_RECORD_OVERFLOW_OIDS ((short) 0x2000) |
Definition at line 106 of file btree.c.
Referenced by btree_check_valid_record(), btree_get_next_key_info(), btree_is_fixed_size(), btree_key_find_first_visible_row(), btree_key_relocate_last_into_ovf(), btree_leaf_change_first_object(), btree_leaf_get_nth_oid_ptr(), btree_leaf_get_vpid_for_overflow_oids(), btree_leaf_record_change_overflow_link(), btree_leaf_record_handle_first_overflow(), btree_read_record_without_decompression(), btree_record_append_object(), btree_record_get_num_visible_oids(), btree_record_remove_delid(), btree_record_remove_insid(), btree_record_remove_last_object(), and btree_remove_delete_mvccid_unique_internal().
#define btree_log | ( | prefix, | |
msg, | |||
... | |||
) |
#define btree_log_if_enabled | ( | ... | ) | if (prm_get_bool_value(PRM_ID_LOG_BTREE_OPS)) _er_log_debug (ARG_FILE_LINE, __VA_ARGS__) |
Definition at line 1144 of file btree.c.
Referenced by btree_check_by_btid(), btree_range_scan(), btree_read_record_without_decompression(), and btree_search_nonleaf_page().
#define BTREE_MAX_OID_COUNT IO_MAX_PAGE_SIZE / OR_OID_SIZE |
#define BTREE_MVCC_INFO_AS_ARGS | ( | mvcc_info | ) | (unsigned long long) BTREE_MVCC_INFO_INSID (mvcc_info), (unsigned long long) BTREE_MVCC_INFO_DELID (mvcc_info) |
Definition at line 1158 of file btree.c.
Referenced by btree_leaf_record_replace_first_with_last().
#define BTREE_MVCC_INFO_CLEAR_DELID | ( | mvcc_info | ) | ((mvcc_info)->flags &= ~BTREE_OID_HAS_MVCC_DELID) |
Definition at line 169 of file btree.c.
Referenced by btree_remove_delete_mvccid_unique_internal().
#define BTREE_MVCC_INFO_CLEAR_FIXED_SIZE | ( | mvcc_info | ) |
Definition at line 207 of file btree.c.
Referenced by btree_remove_delete_mvccid_unique_internal().
#define BTREE_MVCC_INFO_CLEAR_INSID | ( | mvcc_info | ) | ((mvcc_info)->flags &= ~BTREE_OID_HAS_MVCC_INSID) |
#define BTREE_MVCC_INFO_DELID | ( | mvcc_info | ) | (BTREE_MVCC_INFO_HAS_DELID (mvcc_info) ? (mvcc_info)->delete_mvccid : MVCCID_NULL) |
Definition at line 185 of file btree.c.
Referenced by btree_key_lock_and_append_object_unique(), btree_key_remove_object_and_keep_visible_first(), and btree_rv_keyval_undo_insert_mvcc_delid().
#define BTREE_MVCC_INFO_HAS_DELID | ( | mvcc_info | ) | (((mvcc_info)->flags & BTREE_OID_HAS_MVCC_DELID) != 0) |
Definition at line 163 of file btree.c.
Referenced by btree_find_oid_does_mvcc_info_match(), btree_insert_mvcc_delid_into_page(), btree_insert_object_ordered_by_oid(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_change_first_object(), btree_or_put_mvccinfo(), btree_or_put_object(), btree_pack_mvccinfo(), btree_packed_mvccinfo_size(), btree_start_overflow_page(), btree_unpack_mvccinfo(), and btree_write_record().
#define BTREE_MVCC_INFO_HAS_INSID | ( | mvcc_info | ) | (((mvcc_info)->flags & BTREE_OID_HAS_MVCC_INSID) != 0) |
Definition at line 161 of file btree.c.
Referenced by btree_find_oid_does_mvcc_info_match(), btree_insert_object_ordered_by_oid(), btree_leaf_change_first_object(), btree_or_put_mvccinfo(), btree_or_put_object(), btree_pack_mvccinfo(), btree_packed_mvccinfo_size(), btree_start_overflow_page(), btree_unpack_mvccinfo(), and btree_write_record().
#define BTREE_MVCC_INFO_INSID | ( | mvcc_info | ) | (BTREE_MVCC_INFO_HAS_INSID (mvcc_info) ? (mvcc_info)->insert_mvccid : MVCCID_ALL_VISIBLE) |
Definition at line 181 of file btree.c.
Referenced by btree_find_oid_does_mvcc_info_match(), btree_insert_mvcc_delid_into_page(), btree_key_delete_remove_object(), and btree_key_lock_and_append_object_unique().
#define BTREE_MVCC_INFO_IS_DELID_VALID | ( | mvcc_info | ) | (BTREE_MVCC_INFO_HAS_DELID (mvcc_info) && (mvcc_info)->delete_mvccid != MVCCID_NULL) |
Definition at line 177 of file btree.c.
Referenced by btree_find_oid_does_mvcc_info_match(), btree_insert(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_object(), btree_mvcc_delete(), btree_mvcc_info_to_heap_mvcc_header(), btree_rv_keyval_undo_insert_mvcc_delid(), btree_rv_save_keyval_for_undo(), and btree_rv_save_keyval_for_undo_two_objects().
#define BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE | ( | mvcc_info | ) | (BTREE_MVCC_INFO_HAS_INSID (mvcc_info) && MVCCID_IS_NOT_ALL_VISIBLE ((mvcc_info)->insert_mvccid)) |
Definition at line 173 of file btree.c.
Referenced by btree_find_oid_does_mvcc_info_match(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_object(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_mvcc_info_to_heap_mvcc_header(), and btree_rv_save_keyval_for_undo().
#define BTREE_MVCC_INFO_SET_DELID | ( | mvcc_info, | |
delid | |||
) |
Definition at line 231 of file btree.c.
Referenced by btree_delete_postponed(), btree_physical_delete(), btree_rv_keyval_undo_insert_mvcc_delid(), and btree_vacuum_object().
#define BTREE_MVCC_INFO_SET_FIXED_SIZE | ( | mvcc_info | ) |
Definition at line 191 of file btree.c.
Referenced by btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_leaf_change_first_object(), btree_record_replace_object(), and btree_remove_delete_mvccid_unique_internal().
#define BTREE_MVCC_INFO_SET_INSID | ( | mvcc_info, | |
insid | |||
) |
Definition at line 222 of file btree.c.
Referenced by btree_key_find_and_insert_delete_mvccid(), btree_rv_keyval_undo_insert_mvcc_delid(), btree_undo_insert_object(), btree_undo_insert_object_unique_multiupd(), and btree_vacuum_insert_mvccid().
#define BTREE_NODE_MAX_SPLIT_SIZE | ( | thread_p, | |
page_ptr | |||
) | (db_page_size() - spage_header_size() - spage_get_space_for_record(thread_p, (page_ptr), HEADER)) |
Definition at line 79 of file btree.c.
Referenced by btree_find_split_point().
#define BTREE_OBJINFO_AS_ARGS | ( | objinfo | ) |
Definition at line 1164 of file btree.c.
Referenced by btree_key_append_object_unique(), btree_key_relocate_last_into_ovf(), btree_key_remove_object_and_keep_visible_first(), btree_remove_delete_mvccid_unique_internal(), and btree_replace_first_oid_with_ovfl_oid().
#define BTREE_OBJINFO_MSG | ( | name | ) | name " { OID = %d|%d|%d, CLASS = %d|%d|%d, MVCC_INFO = %llu|%llu } " |
Definition at line 1162 of file btree.c.
Referenced by btree_key_append_object_unique(), btree_key_relocate_last_into_ovf(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_remove_delete_mvccid_unique_internal(), and btree_replace_first_oid_with_ovfl_oid().
#define BTREE_OID_CLEAR_ALL_FLAGS | ( | oid_ptr | ) |
Definition at line 134 of file btree.c.
Referenced by btree_check_valid_record(), btree_key_find_first_visible_row(), btree_or_get_object(), btree_rv_keyval_dump(), btree_rv_read_keybuf_nocopy(), and btree_rv_read_keybuf_two_objects().
#define BTREE_OID_CLEAR_MVCC_FLAGS | ( | oid_ptr | ) | ((oid_ptr)->volid &= ~BTREE_OID_MVCC_FLAGS_MASK) |
Definition at line 128 of file btree.c.
Referenced by btree_dump_leaf_record().
#define BTREE_OID_CLEAR_RECORD_FLAGS | ( | oid_ptr | ) | ((oid_ptr)->slotid &= ~BTREE_LEAF_RECORD_MASK) |
Definition at line 131 of file btree.c.
Referenced by btree_compare_oid().
#define BTREE_OID_GET_MVCC_FLAGS | ( | oid_ptr | ) | ((oid_ptr)->volid & BTREE_OID_MVCC_FLAGS_MASK) |
Definition at line 155 of file btree.c.
Referenced by btree_rv_keyval_dump(), btree_rv_read_keybuf_nocopy(), and btree_rv_read_keybuf_two_objects().
#define BTREE_OID_GET_RECORD_FLAGS | ( | oid_ptr | ) | ((oid_ptr)->slotid & BTREE_LEAF_RECORD_MASK) |
#define BTREE_OID_HAS_MVCC_DELID ((short) 0x8000) |
Definition at line 117 of file btree.c.
Referenced by btree_check_valid_record(), btree_delete_overflow_key(), btree_dump_leaf_record(), btree_leaf_change_first_object(), btree_leaf_record_handle_first_overflow(), btree_mvcc_info_from_heap_mvcc_header(), btree_read_record_without_decompression(), btree_record_add_delid(), btree_record_remove_delid(), btree_rv_keyval_dump(), btree_rv_read_keybuf_nocopy(), btree_rv_read_keybuf_two_objects(), btree_rv_save_keyval_for_undo(), btree_rv_save_keyval_for_undo_two_objects(), and btree_set_mvcc_flags_into_oid().
#define BTREE_OID_HAS_MVCC_INSID ((short) 0x4000) |
Definition at line 115 of file btree.c.
Referenced by btree_check_valid_record(), btree_delete_overflow_key(), btree_dump_leaf_record(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert_DF(), btree_leaf_change_first_object(), btree_leaf_record_handle_first_overflow(), btree_mvcc_info_from_heap_mvcc_header(), btree_online_index_change_state(), btree_read_record_without_decompression(), btree_record_add_delid(), btree_record_remove_delid(), btree_record_remove_insid(), btree_rv_keyval_dump(), btree_rv_read_keybuf_nocopy(), btree_rv_read_keybuf_two_objects(), btree_rv_save_keyval_for_undo(), btree_rv_save_keyval_for_undo_two_objects(), and btree_set_mvcc_flags_into_oid().
#define BTREE_OID_HAS_MVCC_INSID_AND_DELID (BTREE_OID_HAS_MVCC_INSID | BTREE_OID_HAS_MVCC_DELID) |
Definition at line 121 of file btree.c.
Referenced by btree_find_oid_from_ovfl(), btree_leaf_record_change_overflow_link(), btree_leaf_record_handle_first_overflow(), and btree_seq_find_oid_from_ovfl().
#define BTREE_OID_IS_MVCC_FLAG_SET | ( | oid_ptr, | |
mvcc_flag | |||
) | (((oid_ptr)->volid & (mvcc_flag)) == (mvcc_flag)) |
Definition at line 142 of file btree.c.
Referenced by btree_rv_read_keybuf_two_objects(), btree_rv_save_keyval_for_undo(), and btree_rv_save_keyval_for_undo_two_objects().
#define BTREE_OID_IS_RECORD_FLAG_SET | ( | oid_ptr, | |
mvcc_flag | |||
) | (((oid_ptr)->slotid & (mvcc_flag)) == (mvcc_flag)) |
Definition at line 145 of file btree.c.
Referenced by btree_is_fence_key(), btree_or_get_object(), btree_rv_keyval_dump(), btree_rv_read_keybuf_nocopy(), and btree_rv_read_keybuf_two_objects().
#define BTREE_OID_MVCC_FLAGS_MASK ((short) 0xC000) |
Definition at line 119 of file btree.c.
Referenced by btree_clear_mvcc_flags_from_oid(), btree_find_oid_from_ovfl(), btree_record_object_clear_mvcc_flags(), btree_record_object_get_mvcc_flags(), btree_record_object_is_flagged(), btree_record_object_set_mvcc_flags(), btree_seq_find_oid_from_ovfl(), and btree_verify_leaf_node().
#define BTREE_OID_SET_MVCC_FLAG | ( | oid_ptr, | |
mvcc_flag | |||
) | ((oid_ptr)->volid |= (mvcc_flag)) |
Definition at line 149 of file btree.c.
Referenced by btree_or_put_object(), btree_rv_save_keyval_for_undo(), and btree_rv_save_keyval_for_undo_two_objects().
#define BTREE_OID_SET_RECORD_FLAG | ( | oid_ptr, | |
mvcc_flag | |||
) | ((oid_ptr)->slotid |= (mvcc_flag)) |
Definition at line 151 of file btree.c.
Referenced by btree_rv_save_keyval_for_undo(), and btree_rv_save_keyval_for_undo_two_objects().
#define BTREE_PRINT_KEY_ARGS | ( | key | ) | (key) != NULL ? (key) : "** UNKNOWN KEY **" |
#define BTREE_REC_SATISFIES_SNAPSHOT_HELPER_INITIALIZER |
#define BTREE_RECORD_OR_BUF_INIT | ( | buf, | |
btree_rec | |||
) |
Definition at line 251 of file btree.c.
Referenced by btree_find_oid_from_leaf(), btree_key_find_and_lock_unique_of_non_unique(), btree_leaf_get_first_object(), btree_leaf_get_nth_oid_ptr(), btree_record_get_last_object(), btree_record_get_num_oids(), btree_record_process_objects(), and btree_unpack_object().
#define BTREE_RV_DEBUG_INFO_MAX_SIZE |
#define BTREE_RV_FLAGS_MASK (LOG_RV_RECORD_MODIFY_MASK | BTREE_RV_EXCLUSIVE_FLAGS_MASK) |
Definition at line 1014 of file btree.c.
Referenced by btree_rv_record_modify_internal().
#define BTREE_RV_HAS_DEBUG_INFO | ( | flags | ) | ((flags & BTREE_RV_DEBUG_INFO_FLAG) != 0) |
Definition at line 1082 of file btree.c.
Referenced by btree_delete_key_from_leaf(), and btree_rv_record_modify_internal().
#define BTREE_RV_IS_OVERFLOW_NODE | ( | flags | ) | ((flags & BTREE_RV_OVERFLOW_FLAG) != 0) |
#define BTREE_RV_IS_UNDO_MVCCDEL_MYOBJ | ( | flags | ) | ((flags & BTREE_RV_UNDO_MVCCDEL_MYOBJ) != 0) |
Definition at line 1098 of file btree.c.
Referenced by btree_rv_keyval_undo_insert_mvcc_delid().
#define BTREE_RV_IS_UPDATE_MAX_KEY_LEN | ( | flags | ) | ((flags & BTREE_RV_UPDATE_MAX_KEY_LEN) != 0) |
Definition at line 1090 of file btree.c.
Referenced by btree_rv_record_modify_internal().
#define BTREE_RV_OVERFLOW_FLAG 0x2000 |
Definition at line 1001 of file btree.c.
Referenced by btree_rv_record_modify_internal().
#define BTREE_RV_REDO_SET_DEBUG_INFO | ( | addr, | |
rv_ptr, | |||
btid_int, | |||
id | |||
) |
Definition at line 1023 of file btree.c.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_non_unique(), btree_key_append_object_unique(), btree_key_insert_new_key(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), and btree_start_overflow_page().
#define BTREE_RV_SET_OVERFLOW_NODE | ( | addr | ) | ((addr)->offset |= BTREE_RV_OVERFLOW_FLAG) |
Definition at line 1018 of file btree.c.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_to_overflow(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_insert_mvccid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_record_remove_object(), and btree_start_overflow_page().
#define BTREE_RV_SET_UNDO_MVCCDEL_MYOBJ | ( | addr | ) | ((addr)->offset |= BTREE_RV_UNDO_MVCCDEL_MYOBJ) |
Definition at line 1096 of file btree.c.
Referenced by btree_insert_mvcc_delid_into_page().
#define BTREE_RV_SET_UPDATE_MAX_KEY_LEN | ( | addr | ) | ((addr)->offset |= BTREE_RV_UPDATE_MAX_KEY_LEN) |
Definition at line 1088 of file btree.c.
Referenced by btree_key_insert_new_key().
#define BTREE_RV_UNDOREDO_SET_DEBUG_INFO | ( | addr, | |
rv_redo_ptr, | |||
rv_undo_ptr, | |||
btid_int, | |||
id | |||
) |
Definition at line 1057 of file btree.c.
Referenced by btree_key_append_object_as_new_overflow(), btree_key_append_object_to_overflow(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_modify_leaf_ovfl_vpid(), btree_overflow_record_replace_object(), btree_record_remove_object(), and btree_replace_first_oid_with_ovfl_oid().
#define BTREE_SEARCH_KEY_HELPER_INITIALIZER { BTREE_KEY_NOTFOUND, NULL_SLOTID, btree_search_key_helper::NO_FENCE_KEY } |
Definition at line 430 of file btree.c.
Referenced by btree_insert_internal(), btree_locate_key(), btree_online_index_list_dispatcher(), btree_range_scan_descending_fix_prev_leaf(), and btree_range_scan_resume().
#define BTREE_SPLIT_DEFAULT_PIVOT 0.5f |
Definition at line 76 of file btree.c.
Referenced by btree_write_default_split_info().
#define BTREE_SPLIT_LOWER_BOUND 0.20f |
Definition at line 70 of file btree.c.
Referenced by btree_split_find_pivot().
#define BTREE_SPLIT_MAX_PIVOT (1.0f - BTREE_SPLIT_MIN_PIVOT) |
Definition at line 74 of file btree.c.
Referenced by btree_split_find_pivot().
#define BTREE_SPLIT_MIN_PIVOT 0.05f |
Definition at line 73 of file btree.c.
Referenced by btree_split_find_pivot().
#define BTREE_SPLIT_UPPER_BOUND (1.0f - BTREE_SPLIT_LOWER_BOUND) |
Definition at line 71 of file btree.c.
Referenced by btree_split_find_pivot().
#define BTS_INCREMENT_READ_OIDS | ( | bts | ) |
Definition at line 614 of file btree.c.
Referenced by btree_select_visible_object_for_range_scan().
#define BTS_IS_HARD_CAPACITY_ENOUGH | ( | bts, | |
count | |||
) |
Definition at line 639 of file btree.c.
Referenced by btree_range_scan_select_visible_oids().
#define BTS_IS_INDEX_COVERED | ( | bts | ) | ((bts) != NULL && (bts)->index_scan_idp != NULL && SCAN_IS_INDEX_COVERED ((bts)->index_scan_idp)) |
Definition at line 598 of file btree.c.
Referenced by btree_range_scan_select_visible_oids(), and btree_select_visible_object_for_range_scan().
#define BTS_IS_INDEX_ILS | ( | bts | ) |
Definition at line 607 of file btree.c.
Referenced by btree_range_scan(), btree_range_scan_resume(), and btree_select_visible_object_for_range_scan().
#define BTS_IS_INDEX_ISS | ( | bts | ) | ((bts) != NULL && (bts)->index_scan_idp != NULL && SCAN_IS_INDEX_ISS ((bts)->index_scan_idp)) |
Definition at line 604 of file btree.c.
Referenced by btree_range_scan_advance_over_filtered_keys(), and btree_range_scan_select_visible_oids().
#define BTS_IS_INDEX_MRO | ( | bts | ) | ((bts) != NULL && (bts)->index_scan_idp != NULL && SCAN_IS_INDEX_MRO ((bts)->index_scan_idp)) |
Definition at line 601 of file btree.c.
Referenced by btree_range_scan_select_visible_oids(), and btree_select_visible_object_for_range_scan().
#define BTS_IS_SOFT_CAPACITY_ENOUGH | ( | bts, | |
count | |||
) |
Definition at line 625 of file btree.c.
Referenced by btree_range_scan_select_visible_oids().
#define BTS_NEED_COUNT_ONLY | ( | bts | ) | ((bts) != NULL && (bts)->index_scan_idp != NULL && (bts)->index_scan_idp->need_count_only) |
Definition at line 610 of file btree.c.
Referenced by btree_range_scan_select_visible_oids(), and btree_select_visible_object_for_range_scan().
#define BTS_SAVE_OID_IN_BUFFER | ( | bts, | |
oid | |||
) |
Definition at line 649 of file btree.c.
Referenced by btree_select_visible_object_for_range_scan().
#define CAN_MERGE_WHEN_EMPTY (MAX (DB_PAGESIZE * 0.33, MAX_MERGE_ALIGN_WASTE * 1.3)) |
Definition at line 92 of file btree.c.
Referenced by btree_merge_node_and_advance(), and btree_node_mergeable().
#define DISK_PAGE_BITS (DB_PAGESIZE * CHAR_BIT) /* Num of bits per page */ |
#define FORCE_MERGE_WHEN_EMPTY (MAX (DB_PAGESIZE * 0.66, MAX_MERGE_ALIGN_WASTE * 1.3)) |
Definition at line 95 of file btree.c.
Referenced by btree_merge_node_and_advance(), and btree_node_mergeable().
#define LOFFS1 0 /* Key Len Offset */ |
Definition at line 337 of file btree.c.
Referenced by btree_rv_write_log_record_for_key_insert().
#define LOFFS2 2 /* Node Type Offset: Leaf/NonLeaf Information */ |
Definition at line 338 of file btree.c.
Referenced by btree_rv_write_log_record_for_key_insert().
#define LOFFS3 4 /* RECDES Type Offset */ |
Definition at line 339 of file btree.c.
Referenced by btree_rv_write_log_record_for_key_insert().
#define LOFFS4 6 /* RECDES Data Offset */ |
Definition at line 340 of file btree.c.
Referenced by btree_rv_write_log_record_for_key_insert().
#define MAX_LEAF_REC_NUM (IO_MAX_PAGE_SIZE / MIN_LEAF_REC_SIZE) |
Definition at line 86 of file btree.c.
Referenced by btree_merge_node().
#define MAX_MERGE_ALIGN_WASTE ((DB_PAGESIZE/MIN_LEAF_REC_SIZE) * (BTREE_MAX_ALIGN - 1)) |
Definition at line 88 of file btree.c.
Referenced by btree_merge_node().
#define MIN_KEY_SIZE DB_ALIGN (1, BTREE_MAX_ALIGN) |
#define MIN_LEAF_REC_SIZE (OR_OID_SIZE + MIN_KEY_SIZE) |
#define NEXT_MERGE_RECORD | ( | ) |
Referenced by btree_merge_node().
#define NOT_FOUND -1 |
Definition at line 101 of file btree.c.
Referenced by btree_find_key_from_leaf(), btree_find_oid_and_its_page(), btree_find_oid_from_leaf(), btree_find_oid_from_ovfl(), btree_find_oid_with_page_and_record(), btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), and btree_key_remove_object_and_keep_visible_first().
#define OFFS1 0 /* Node Type Offset: Leaf/NonLeaf Information */ |
Definition at line 332 of file btree.c.
Referenced by btree_rv_noderec_dump(), and btree_rv_write_log_record().
#define OFFS2 2 /* RECDES Type Offset */ |
Definition at line 333 of file btree.c.
Referenced by btree_rv_noderec_dump(), btree_rv_noderec_redo_insert(), btree_rv_noderec_undoredo_update(), and btree_rv_write_log_record().
#define OFFS3 4 /* RECDES Data Offset */ |
Definition at line 334 of file btree.c.
Referenced by btree_rv_noderec_dump(), btree_rv_noderec_redo_insert(), btree_rv_noderec_undoredo_update(), and btree_rv_write_log_record().
#define OID_MSG_BUF_SIZE 64 |
Definition at line 82 of file btree.c.
Referenced by btree_set_error().
#define RECINS_STRUCT_INITIALIZER { OID_INITIALIZER, OID_INITIALIZER, VPID_INITIALIZER, 0 } |
typedef int BTREE_ADVANCE_WITH_KEY_FUNCTION(THREAD_ENTRY *thread_p, BTID_INT *btid_int, DB_VALUE *key, PAGE_PTR *crt_page, PAGE_PTR *advance_to_page, bool *is_leaf, BTREE_SEARCH_KEY_HELPER *search_key, bool *stop, bool *restart, void *other_args) |
typedef struct btree_delete_helper BTREE_DELETE_HELPER |
typedef struct btree_find_fk_object BTREE_FIND_FK_OBJECT |
typedef struct btree_find_unique_helper BTREE_FIND_UNIQUE_HELPER |
typedef struct btree_helper BTREE_HELPER |
typedef struct btree_insert_helper BTREE_INSERT_HELPER |
typedef int BTREE_PROCESS_KEY_FUNCTION(THREAD_ENTRY *thread_p, BTID_INT *btid_int, DB_VALUE *key, PAGE_PTR *leaf_page, BTREE_SEARCH_KEY_HELPER *search_key, bool *restart, void *other_args) |
typedef int BTREE_PROCESS_OBJECT_FUNCTION(THREAD_ENTRY *thread_p, BTID_INT *btid_int, RECDES *record, char *object_ptr, OID *oid, OID *class_oid, BTREE_MVCC_INFO *mvcc_info, bool *stop, void *args) |
typedef struct btree_range_search_helper BTREE_RANGE_SEARCH_HELPER |
typedef enum btree_rv_debug_id BTREE_RV_DEBUG_ID |
typedef struct btree_search_key_helper BTREE_SEARCH_KEY_HELPER |
typedef struct btree_stats_env BTREE_STATS_ENV |
typedef struct recins_struct RECINS_STRUCT |
typedef struct recset_header RECSET_HEADER |
typedef struct show_index_scan_ctx SHOW_INDEX_SCAN_CTX |
enum BTREE_BOUNDARY |
enum BTREE_MERGE_STATUS |
enum btree_rv_debug_id |
enum LEAF_RECORD_TYPE |
STATIC_INLINE void btree_add_mvccid | ( | RECDES * | rec, |
int | oid_offset, | ||
int | mvccid_offset, | ||
MVCCID | mvccid, | ||
short | flag, | ||
char ** | rv_undo_data_ptr, | ||
char ** | rv_redo_data_ptr | ||
) |
Definition at line 3635 of file btree.c.
References assert, btree_record_object_is_flagged(), btree_record_object_set_mvcc_flags(), recdes::data, recdes::length, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, OR_MVCCID_SIZE, OR_OID_VOLID, OR_PUT_MVCCID, OR_SHORT_SIZE, RECORD_MOVE_DATA, and STATIC_INLINE.
Referenced by btree_online_index_change_state(), and btree_record_add_delid().
|
static |
Definition at line 22766 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_get_node_header(), BTREE_KEY_FOUND, BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, btree_search_leaf_page(), btree_search_nonleaf_page(), ER_FAILED, NO_ERROR, btree_node_header::node_level, NULL, NULL_SLOTID, OLD_PAGE, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, btree_search_key_helper::result, btree_search_key_helper::slotid, and VPID_ISNULL.
Referenced by btree_locate_key(), and xbtree_find_unique().
Definition at line 3613 of file btree.c.
References recdes::data, recdes::length, OR_OID_SIZE, OR_PUT_OID, and STATIC_INLINE.
|
static |
Definition at line 15774 of file btree.c.
References assert, btree_scan::btid_int, btree_compare_key(), db_char::buf, db_data::ch, btree_scan::cur_key, db_value::data, db_get_midxkey(), DB_GT, DB_IS_NULL, DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_DOMAIN_TYPE, er_errid(), ER_FAILED, eval_key_filter(), GE_LE, GT_LE, INF_LE, tp_domain::is_desc, btree_scan::key_filter, btree_scan::key_range, btree_scan::key_range_max_value_equal, btid_int::key_type, db_char::medium, db_value::need_clear, NO_ERROR, NULL, btree_keyrange::num_index_term, pr_clear_value(), pr_midxkey_get_element_nocopy(), prm_get_bool_value(), PRM_ID_ORACLE_STYLE_EMPTY_STRING, QSTR_IS_ANY_CHAR_OR_BIT, btree_keyrange::range, scan_pred::regu_list, filter_info::scan_pred, tp_domain::setdomain, btree_keyrange::upper_key, btree_scan::use_desc_index, V_ERROR, and V_TRUE.
Referenced by btree_range_scan_advance_over_filtered_keys().
int btree_attrinfo_read_dbvalues | ( | THREAD_ENTRY * | thread_p, |
DB_VALUE * | curr_key, | ||
int * | btree_att_ids, | ||
int | btree_num_att, | ||
HEAP_CACHE_ATTRINFO * | attr_info, | ||
int | func_index_col_id | ||
) |
Definition at line 15938 of file btree.c.
References db_get_midxkey(), DB_TYPE_MIDXKEY, DB_VALUE_TYPE, ER_FAILED, error(), i, NO_ERROR, NULL, pr_clear_value(), pr_clone_value(), and pr_midxkey_get_element_nocopy().
Referenced by btree_dump_curr_key(), partition_attrinfo_get_key(), and scan_dump_key_into_tuple().
DISK_ISVALID btree_check_all | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 8271 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_check_by_btid(), DISK_ERROR, DISK_INVALID, DISK_VALID, FILE_BTREE, file_tracker_interruptable_iterate(), lock_unlock_object(), NO_ERROR, OID_INITIALIZER, OID_ISNULL, oid_Root_class_oid, SCH_S_LOCK, btid::vfid, VFID_ISNULL, and VFID_SET_NULL.
Referenced by xboot_check_db_consistency().
DISK_ISVALID btree_check_by_btid | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid | ||
) |
Definition at line 7773 of file btree.c.
References assert, ASSERT_ERROR, BTID_AS_ARGS, file_descriptors::btree, btree_check_tree(), btree_get_btid_from_file(), btree_log_if_enabled, file_btree_des::class_oid, DISK_ERROR, DISK_INVALID, DISK_VALID, er_errid(), file_descriptor_get(), free_and_init, heap_get_indexinfo_of_btid(), NO_ERROR, NULL, btid::vfid, and VFID_ISNULL.
Referenced by btree_check_all(), and btree_check_by_class_oid().
DISK_ISVALID btree_check_by_class_oid | ( | THREAD_ENTRY * | thread_p, |
OID * | cls_oid, | ||
BTID * | idx_btid | ||
) |
Definition at line 7885 of file btree.c.
References ARG_FILE_LINE, ASSERT_ERROR, or_index::btid, BTID_COPY, BTID_IS_EQUAL, btree_check_by_btid(), DISK_ERROR, DISK_VALID, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_UNEXPECTED, heap_classrepr_free_and_init, heap_classrepr_get(), i, or_classrep::indexes, IS_LOCK, LK_GRANTED, LK_UNCOND_LOCK, lock_object(), lock_unlock_object(), NULL, NULL_REPRID, oid_Root_class_oid, and rv.
Referenced by xboot_checkdb_table().
int btree_check_foreign_key | ( | THREAD_ENTRY * | thread_p, |
OID * | cls_oid, | ||
HFID * | hfid, | ||
OID * | oid, | ||
DB_VALUE * | keyval, | ||
int | n_attrs, | ||
OID * | pk_cls_oid, | ||
BTID * | pk_btid, | ||
const char * | fk_name | ||
) |
Definition at line 22005 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, BTID_COPY, BTREE_ERROR_OCCURRED, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, btree_multicol_key_has_null(), COPY_OID, DB_IS_NULL, db_make_null(), DB_PARTITIONED_CLASS, db_private_free, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FK_INVALID, er_set(), or_classrep::has_partition_info, heap_classrepr_free_and_init, heap_classrepr_get(), NO_ERROR, NULL, NULL_REPRID, OID_SET_NULL, partition_clear_pruning_context(), partition_init_pruning_context(), partition_load_pruning_context(), partition_prune_unique_btid(), pruning_context::partitions, pr_valstring(), S_SELECT_WITH_LOCK, and xbtree_find_unique().
Referenced by xlocator_check_fk_validity().
|
static |
Definition at line 35424 of file btree.c.
References BTREE_DELETE_CLASS_OID, BTREE_DELETE_OID, BU_LOCK, lock_has_lock_on_object(), LOG_FIND_CURRENT_TDES(), LOG_ISTRAN_ABORTED, oid_Root_class_oid, and X_LOCK.
Referenced by btree_key_delete_remove_object().
|
static |
Definition at line 35394 of file btree.c.
References BTREE_INSERT_CLASS_OID, BTREE_INSERT_OID, BU_LOCK, lock_has_lock_on_object(), oid_Root_class_oid, and X_LOCK.
Referenced by btree_key_insert_new_key(), and btree_key_lock_and_append_object_unique().
|
static |
Definition at line 7212 of file btree.c.
References ARG_FILE_LINE, btree_clear_key_value(), btree_compare_key(), btree_dump_page(), btree_get_disk_size_of_key(), btree_get_node_header(), btree_init_temp_key_value(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_record(), DB_LT, DISK_ERROR, DISK_INVALID, DISK_VALID, DISK_VPID_SIZE, ER_EMERGENCY_ERROR, ER_ERROR_SEVERITY, er_set(), error(), non_leaf_rec::key_len, leaf_rec::key_len, btid_int::key_type, btree_node_header::max_key_len, NO_ERROR, btree_node_header::node_level, NULL, leaf_rec::ovfl, vpid::pageid, PEEK, PEEK_KEY_VALUE, non_leaf_rec::pnt, S_SUCCESS, spage_get_record(), vpid::volid, and VPID_SET_NULL.
Referenced by btree_verify_subtree().
|
static |
Definition at line 7621 of file btree.c.
References btree_get_node_header(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), DISK_ERROR, DISK_VALID, error(), file_check_vpid(), i, NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, PAGE_BTREE, PEEK, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, S_SUCCESS, spage_check(), spage_get_record(), btid_int::sys_btid, and btid::vfid.
Referenced by btree_check_tree().
DISK_ISVALID btree_check_tree | ( | THREAD_ENTRY * | thread_p, |
const OID * | class_oid_p, | ||
BTID * | btid, | ||
const char * | btname | ||
) |
Definition at line 7711 of file btree.c.
References btree_check_pages(), btree_get_root_header(), btree_glean_root_header_info(), btree_verify_tree(), DISK_ERROR, DISK_VALID, error(), NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_check_by_btid().
int btree_check_valid_record | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid, | ||
RECDES * | recp, | ||
BTREE_NODE_TYPE | node_type, | ||
DB_VALUE * | key | ||
) |
Definition at line 21828 of file btree.c.
References assert, btree_compare_key(), btree_is_class_oid_packed(), BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_OID_CLEAR_ALL_FLAGS, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_ONLINE_INDEX_MVCCID_MASK, BTREE_OVERFLOW_NODE, btree_record_object_get_mvcc_flags(), recdes::data, db_make_null(), DB_PAGESIZE, DISK_INVALID, DISK_VPID_ALIGNED_SIZE, DISK_VPID_SIZE, or_buf::endptr, ER_FAILED, log_global::hdr, pr_type::index_readval(), btid_int::key_type, recdes::length, log_Gl, log_is_in_crash_recovery(), MVCC_ID_PRECEDES, log_header::mvcc_next_id, MVCCID_IS_VALID, MVCCID_NULL, NO_ERROR, NULL, or_get_mvccid(), or_get_oid(), OR_GET_VPID, or_init(), OR_INT_SIZE, db_identifier::pageid, pgbuf_is_valid_page(), pr_clear_value(), or_buf::ptr, PTR_ALIGN, db_identifier::slotid, tp_domain::type, btid_int::unique_pk, db_identifier::volid, and VPID_INITIALIZER.
Referenced by btree_compress_node(), btree_construct_leafs(), btree_insert_object_ordered_by_oid(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_leaf_change_first_object(), btree_leaf_record_change_overflow_link(), btree_leaf_record_handle_first_overflow(), btree_leaf_remove_object(), btree_online_index_change_state(), btree_overflow_remove_object(), btree_record_add_delid(), btree_record_append_object(), btree_record_remove_delid(), btree_record_remove_insid(), btree_record_remove_last_object(), btree_record_remove_object_internal(), btree_record_replace_object(), btree_remove_delete_mvccid_unique_internal(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_record_modify_internal(), and btree_start_overflow_page().
Definition at line 1919 of file btree.c.
References db_make_null(), db_value::need_clear, and pr_clear_value().
Referenced by btree_build_nleafs(), btree_check_page_key(), btree_compress_node(), btree_construct_leafs(), btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_find_key_from_leaf(), btree_find_min_or_max_key(), btree_find_split_point(), btree_get_next_node_info(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_leaf_is_key_between_min_max(), btree_load_check_fk(), btree_merge_node(), btree_node_common_prefix(), btree_node_size_uncompressed(), btree_read_record(), btree_read_record_without_decompression(), btree_recompress_record(), btree_rv_record_modify_internal(), btree_scan_clear_key(), btree_search_leaf_page(), btree_search_nonleaf_page(), btree_select_visible_object_for_range_scan(), btree_set_split_point(), btree_split_node(), btree_split_root(), btree_split_test(), btree_verify_leaf_node(), btree_verify_nonleaf_node(), btree_verify_subtree(), and page_key_boundary::set_value().
void btree_clear_mvcc_flags_from_oid | ( | OID * | oid | ) |
Definition at line 21763 of file btree.c.
References BTREE_OID_MVCC_FLAGS_MASK, and db_identifier::volid.
Referenced by btree_construct_leafs().
Definition at line 14798 of file btree.c.
References ARG_FILE_LINE, BTREE_COERCE_KEY_WITH_MAX_VALUE, BTREE_COERCE_KEY_WITH_MIN_VALUE, db_get_midxkey(), db_make_null(), db_private_alloc, db_private_free_and_init, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_MIDXKEY, DB_TYPE_NCHAR, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_TYPE, db_midxkey::domain, DOMAIN_COMPATIBLE, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), err, tp_domain::is_desc, MAX_COLUMN, MIN_COLUMN, db_midxkey::min_max_val, db_midxkey::ncolumns, tp_domain::next, NO_ERROR, NULL, special_column::position, pr_clear_value(), pr_clone_value(), pr_midxkey_add_elements(), tp_domain::setdomain, TP_DOMAIN_TYPE, TP_IS_DATE_OR_TIME_TYPE, TP_IS_NUMERIC_TYPE, tp_more_general_type(), tp_value_coerce(), tp_value_coerce_strict(), and special_column::type.
Referenced by scan_dbvals_to_midxkey().
int btree_compare_btids | ( | void * | mem_btid1, |
void * | mem_btid2 | ||
) |
Definition at line 21777 of file btree.c.
References vfid::fileid, btid::root_pageid, btid::vfid, and vfid::volid.
Referenced by logtb_initialize_global_unique_stats_table().
|
static |
Definition at line 18784 of file btree.c.
References assert, pr_type::cmpval(), tp_domain::collation_id, DB_EQ, DB_GT, DB_IS_NULL, DB_LT, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, tp_domain::is_desc, NULL, and tp_domain::type.
Referenced by btree_range_opt_check_add_index_key(), and btree_top_n_items_binary_search().
DB_VALUE_COMPARE_RESULT btree_compare_key | ( | DB_VALUE * | key1, |
DB_VALUE * | key2, | ||
TP_DOMAIN * | key_domain, | ||
int | do_coercion, | ||
int | total_order, | ||
int * | start_colp | ||
) |
Definition at line 18636 of file btree.c.
References ARG_FILE_LINE, assert, assert_release, pr_type::cmpval(), tp_domain::collation_id, db_get_midxkey(), db_get_string_collation(), DB_GT, DB_IS_NULL, DB_LT, DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, er_set(), ER_TP_CANT_COERCE, tp_domain::is_desc, NULL, pr_midxkey_compare(), pr_type_name(), TP_ARE_COMPARABLE_KEY_TYPES, TP_DOMAIN_TYPE, TP_IS_STRING_TYPE, tp_valid_indextype(), tp_value_compare_with_error(), and tp_domain::type.
Referenced by btree_apply_key_range_and_filter(), btree_check_page_key(), btree_check_valid_record(), btree_construct_leafs(), btree_get_prefix_separator(), btree_ils_adjust_range(), btree_key_online_index_IB_insert_list(), btree_leaf_is_key_between_min_max(), btree_load_check_fk(), btree_search_leaf_page(), btree_search_nonleaf_page(), btree_split_node(), btree_split_root(), btree_verify_leaf_node(), btree_verify_nonleaf_node(), compare_driver(), locator_update_index(), and btree_insert_list::prepare_list().
Definition at line 19458 of file btree.c.
References BTREE_GET_OID, BTREE_OID_CLEAR_RECORD_FLAGS, and oid_compare().
Referenced by btree_fix_ovfl_oid_page().
|
static |
Definition at line 12539 of file btree.c.
References recdes::area_size, assert, btree_check_valid_record(), btree_clear_key_value(), btree_get_disk_size_of_key(), btree_init_temp_key_value(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_MAX_ALIGN, btree_node_common_prefix(), btree_node_number_of_keys(), btree_read_record_without_decompression(), btree_verify_node(), COPY, recdes::data, DB_ALIGN, DB_PAGESIZE, error(), i, INT_ALIGNMENT, IO_MAX_PAGE_SIZE, recdes::length, NO_ERROR, PEEK, PEEK_KEY_VALUE, pr_midxkey_remove_prefix(), PTR_ALIGN, spage_get_record(), and spage_update().
Referenced by btree_split_node().
STATIC_INLINE int btree_count_oids | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid_int, | ||
RECDES * | record, | ||
char * | object_ptr, | ||
OID * | oid, | ||
OID * | class_oid, | ||
MVCC_REC_HEADER * | mvcc_header, | ||
bool * | stop, | ||
void * | args | ||
) |
int btree_create_file | ( | THREAD_ENTRY * | thread_p, |
const OID * | class_oid, | ||
int | attrid, | ||
BTID * | btid | ||
) |
Definition at line 32892 of file btree.c.
References ASSERT_ERROR, assert_release, file_btree_des::attr_id, file_descriptors::btree, btree_initialize_new_page(), file_btree_des::class_oid, er_clear(), ER_FAILED, file_alloc_sticky_first_page(), file_apply_tde_algorithm(), FILE_BTREE, file_create_with_npages(), heap_get_class_tde_algorithm(), log_sysop_abort(), log_sysop_commit(), log_sysop_start(), NO_ERROR, NULL, vpid::pageid, btid::root_pageid, STATIC_INLINE, TDE_ALGORITHM_NONE, btid::vfid, vpid::volid, and vfid::volid.
Referenced by xbtree_add_index(), and xbtree_load_index().
int btree_create_overflow_key_file | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid | ||
) |
Definition at line 1953 of file btree.c.
References assert, file_ovf_btree_des::btid, file_descriptors::btree_key_overflow, file_ovf_btree_des::class_oid, file_apply_tde_algorithm(), FILE_BTREE_OVERFLOW_KEY, file_create_with_npages(), heap_get_class_tde_algorithm(), NO_ERROR, OID_ISNULL, btid_int::ovfid, btid_int::sys_btid, TDE_ALGORITHM_NONE, btid_int::topclass_oid, and VFID_SET_NULL.
Referenced by btree_connect_page(), btree_first_oid(), and btree_fix_root_for_insert().
|
inlinestatic |
Definition at line 35223 of file btree.c.
References btree_object_info::class_oid, btree_insert_helper::compensate_undo_nxlsa, btree_insert_helper::leaf_addr, btree_delete_helper::leaf_addr, btree_insert_helper::log_operations, btree_delete_helper::log_operations, LSA_COPY(), btree_object_info::mvcc_info, btree_insert_helper::obj_info, btree_delete_helper::object_info, log_data_addr::offset, btree_object_info::oid, log_data_addr::pgptr, btree_insert_helper::printed_key, btree_delete_helper::printed_key, btree_insert_helper::printed_key_sha1, btree_delete_helper::printed_key_sha1, btree_delete_helper::reference_lsa, btree_insert_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_delete_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_delete_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, and log_data_addr::vfid.
Referenced by btree_key_online_index_tran_delete().
|
static |
Definition at line 29616 of file btree.c.
References assert, ASSERT_ERROR, assert_release, BTID_AS_ARGS, BTREE_DELETE_CLASS_OID, BTREE_DELETE_HELPER_AS_ARGS, BTREE_DELETE_HELPER_MSG, btree_delete_log, BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, btree_fix_root_for_delete(), BTREE_ID_MSG, BTREE_INVALID_INDEX_ID, BTREE_IS_UNIQUE, btree_key_delete_remove_object(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_merge_node_and_advance(), BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, btree_search_key_and_apply_functions(), btree_delete_helper::buffered_key, btree_delete_helper::check_key_deleted, COPY_OID, db_make_null(), db_private_free, btree_unique_stats::delete_row(), ER_FAILED, FI_RESET, FI_SET, FI_TEST_BTREE_MANAGER_PAGE_DEALLOC_FAIL, btree_unique_stats::insert_key_and_row(), btree_delete_helper::is_key_deleted, btree_delete_helper::log_operations, logtb_set_check_interrupt(), LSA_COPY(), btree_delete_helper::match_mvccinfo, MULTI_ROW_DELETE, MULTI_ROW_UPDATE, NO_ERROR, NULL, btree_delete_helper::op_type, perfmon_inc_stat(), pr_clear_value(), btree_delete_helper::printed_key, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, PSTAT_BT_NUM_DELETES, btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_delete_helper::second_object_info, SINGLE_ROW_DELETE, SINGLE_ROW_MODIFY, SINGLE_ROW_UPDATE, btree_delete_helper::time_track, btid_int::unique_pk, and btree_delete_helper::unique_stats_info.
Referenced by btree_delete_postponed(), btree_physical_delete(), btree_undo_insert_object(), btree_undo_insert_object_unique_multiupd(), btree_undo_mvcc_delete(), btree_vacuum_insert_mvccid(), and btree_vacuum_object().
|
static |
Definition at line 9122 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, btree_delete_overflow_key(), btree_delete_sysop_end(), btree_get_node_header(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_node_number_of_keys(), BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_INSERT_MVCC_DELID, BTREE_RV_HAS_DEBUG_INFO, btree_rv_log_delete_object(), btree_verify_node(), COPY, recdes::data, DB_PAGESIZE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, IO_MAX_PAGE_SIZE, btree_delete_helper::is_system_op_started, leaf_rec::key_len, btree_delete_helper::leaf_addr, recdes::length, LOG_RV_RECORD_DELETE, LOG_RV_RECORD_SET_MODIFY_MODE(), log_sysop_abort(), log_sysop_start(), LSA_COPY(), btree_node_header::max_key_len, NO_ERROR, NULL, log_data_addr::offset, pgbuf_get_lsa(), PTR_ALIGN, btree_delete_helper::purpose, RECDES_INITIALIZER, S_SUCCESS, btree_search_key_helper::slotid, spage_delete(), spage_get_record(), btid_int::sys_btid, and VACUUM_IS_THREAD_VACUUM_WORKER.
Referenced by btree_leaf_remove_object().
|
static |
Definition at line 9617 of file btree.c.
References assert, btree_delete_overflow_key(), btree_get_node_header(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), btree_read_record(), btree_rv_write_log_record(), er_errid(), ER_FAILED, IO_MAX_PAGE_SIZE, non_leaf_rec::key_len, leaf_rec::key_len, log_append_undoredo_data2(), NO_ERROR, btree_node_header::node_level, NULL, NULL_PAGEID, NULL_VOLID, PEEK, PEEK_KEY_VALUE, PTR_ALIGN, RVBT_NDRECORD_DEL, S_SUCCESS, spage_delete(), spage_get_record(), btid_int::sys_btid, and btid::vfid.
Referenced by btree_merge_root().
|
static |
Definition at line 2180 of file btree.c.
References recdes::area_size, assert, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, btree_record_object_is_flagged(), recdes::data, DISK_VPID_SIZE, er_errid(), ER_FAILED, NO_ERROR, NON_LEAF_RECORD_SIZE, NULL, or_get_int(), or_get_short(), or_init(), OR_MVCCID_SIZE, OR_OID_SIZE, overflow_delete(), btid_int::ovfid, vpid::pageid, PEEK, rc, S_SUCCESS, spage_get_record(), and vpid::volid.
Referenced by btree_delete_key_from_leaf(), btree_delete_meta_record(), and btree_merge_node().
|
static |
Definition at line 29572 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, assert, btree_delete_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_SET_DELID, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, btree_object_info::class_oid, btree_mvcc_info::delete_mvccid, vfid::fileid, btree_mvcc_info::insert_mvccid, btree_delete_helper::match_mvccinfo, btree_object_info::mvcc_info, MVCCID_IS_VALID, NULL, btree_object_info::oid, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_MODIFY, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_rv_remove_marked_for_delete().
STATIC_INLINE void btree_delete_sysop_end | ( | THREAD_ENTRY * | thread_p, |
BTREE_DELETE_HELPER * | helper | ||
) |
Definition at line 32963 of file btree.c.
References assert, assert_release, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, btree_delete_helper::is_system_op_started, btree_delete_helper::leaf_addr, log_sysop_abort(), log_sysop_commit(), log_sysop_end_logical_compensate(), log_sysop_end_logical_run_postpone(), log_sysop_end_logical_undo(), btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_delete_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data_length, RVBT_DELETE_OBJECT_PHYSICAL, RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE, STATIC_INLINE, and log_data_addr::vfid.
Referenced by btree_delete_key_from_leaf(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_object_and_keep_visible_first(), and btree_overflow_remove_object().
void btree_dump | ( | THREAD_ENTRY * | thread_p, |
FILE * | fp, | ||
BTID * | btid, | ||
int | level | ||
) |
Definition at line 9029 of file btree.c.
References btree_dump_page_with_subtree(), btree_dump_root_header(), btree_get_root_header(), btree_glean_root_header_info(), NO_ERROR, NULL, OLD_PAGE, vpid::pageid, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
int btree_dump_capacity | ( | THREAD_ENTRY * | thread_p, |
FILE * | fp, | ||
BTID * | btid | ||
) |
Definition at line 8734 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_capacity::avg_key_len, btree_capacity::avg_pg_free_sp, btree_capacity::avg_pg_key_cnt, btree_capacity::avg_rec_len, btree_capacity::avg_val_per_key, file_descriptors::btree, btree_index_capacity(), file_btree_des::class_oid, btree_capacity::dis_key_cnt, file_descriptor_get(), vfid::fileid, free_and_init, heap_get_class_name(), heap_get_indexinfo_of_btid(), btree_capacity::height, btree_capacity::leaf_pg_cnt, btree_capacity::nleaf_pg_cnt, NO_ERROR, NULL, btid::root_pageid, btree_capacity::tot_free_space, btree_capacity::tot_pg_cnt, btree_capacity::tot_space, btree_capacity::tot_used_space, btree_capacity::tot_val_cnt, btid::vfid, and vfid::volid.
Referenced by file_tracker_item_dump_btree_capacity().
|
static |
Definition at line 16042 of file btree.c.
References assert_release, scan_attrs::attr_cache, filter_info::btree_attr_ids, btree_attrinfo_read_dbvalues(), filter_info::btree_num_attrs, btree_scan::cur_key, ER_FAILED, error(), fetch_val_list(), indx_cov::func_index_col_id, indx_scan_id::indx_cov, indx_cov::list_id, NO_ERROR, NULL, scan_attrs::num_attrs, indx_cov::output_val_list, PEEK, indx_scan_id::pred_attrs, qexec_insert_tuple_into_list(), scan_pred::regu_list, indx_scan_id::rest_attrs, indx_scan_id::rest_regu_list, indx_scan_id::scan_pred, indx_cov::tplrec, and indx_cov::val_descr.
Referenced by btree_select_visible_object_for_range_scan().
Definition at line 4615 of file btree.c.
References db_fprint_value().
Referenced by btree_construct_leafs(), btree_dump_leaf_record(), and btree_dump_non_leaf_record().
|
static |
Definition at line 4632 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, btree_clear_key_value(), btree_dump_key(), btree_get_disk_size_of_key(), btree_get_next_overflow_vpid(), btree_init_temp_key_value(), BTREE_IS_UNIQUE, btree_leaf_get_first_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_OID_CLEAR_MVCC_FLAGS, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OVERFLOW_NODE, btree_print_space(), btree_read_record_without_decompression(), btree_record_get_num_oids(), btree_record_object_get_mvcc_flags(), COPY, recdes::data, DB_PAGESIZE, error(), btree_mvcc_info::flags, i, IO_MAX_PAGE_SIZE, recdes::length, NO_ERROR, NULL, NULL_PAGEID, NULL_VOLID, OLD_PAGE, OR_GET_MVCCID, or_get_mvccid(), or_get_oid(), or_init(), OR_MVCCID_SIZE, OR_OID_SIZE, leaf_rec::ovfl, vpid::pageid, db_identifier::pageid, PEEK_KEY_VALUE, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, or_buf::ptr, PTR_ALIGN, db_identifier::slotid, spage_get_record(), btid_int::unique_pk, vpid::volid, db_identifier::volid, and VPID_ISNULL.
Referenced by btree_dump_page(), and btree_rv_save_keyval_for_undo_two_objects().
|
static |
Definition at line 4891 of file btree.c.
References btree_clear_key_value(), btree_dump_key(), btree_get_disk_size_of_key(), btree_init_temp_key_value(), BTREE_NON_LEAF_NODE, btree_print_space(), btree_read_record_without_decompression(), error(), NO_ERROR, vpid::pageid, PEEK_KEY_VALUE, non_leaf_rec::pnt, vpid::volid, and VPID_SET_NULL.
Referenced by btree_dump_page(), and btree_rv_save_keyval_for_undo_two_objects().
|
static |
Definition at line 8842 of file btree.c.
References ASSERT_ERROR, btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_get_node_header(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_print_space(), free_and_init, heap_get_class_name(), i, btree_node_header::max_key_len, btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, node_type_to_string(), NULL, OID_ISNULL, vpid::pageid, db_identifier::pageid, PEEK, pgbuf_get_vpid(), btree_node_header::prev_vpid, db_identifier::slotid, spage_get_record(), vpid::volid, and db_identifier::volid.
Referenced by btree_check_page_key(), btree_dump_page_with_subtree(), btree_verify_leaf_node(), btree_verify_nonleaf_node(), and btree_verify_subtree().
|
static |
Definition at line 8948 of file btree.c.
References btree_dump_page(), btree_get_node_header(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), i, btree_node_header::node_level, NULL, OLD_PAGE, PEEK, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, and spage_get_record().
Referenced by btree_dump().
|
static |
Definition at line 4565 of file btree.c.
References assert, btree_get_root_header(), BTREE_IS_PRIMARY_KEY, BTREE_IS_UNIQUE, vfid::fileid, NULL, btree_root_header::num_keys, btree_root_header::num_nulls, btree_root_header::num_oids, or_get_domain(), or_init(), btree_root_header::ovfid, btree_root_header::packed_key_domain, db_identifier::pageid, pr_type_name(), btree_root_header::rev_level, btree_root_header::reverse_reserved, db_identifier::slotid, btree_root_header::topclass_oid, TP_DOMAIN_TYPE, btree_root_header::unique_pk, vfid::volid, and db_identifier::volid.
Referenced by btree_dump().
|
static |
Definition at line 14533 of file btree.c.
References ARG_FILE_LINE, assert, assert_release, btree_get_node_header(), btree_get_root_header(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), DB_PAGESIZE, er_log_debug, error(), btree_stats::height, btree_node_header::next_vpid, btree_root_header::node, btree_node_header::node_level, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, PEEK, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, btid::root_pageid, S_SUCCESS, spage_get_record(), spage_header_size(), spage_max_space_for_new_record(), spage_slot_size(), btid::vfid, vpid::volid, vfid::volid, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_get_stats_with_AR_sampling().
|
static |
Definition at line 14341 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, assert_release, BTREE_BOUNDARY_FIRST, BTREE_BOUNDARY_LAST, btree_get_node_header(), btree_get_root_header(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), er_log_debug, error(), btree_stats::height, btree_node_header::next_vpid, btree_root_header::node, btree_node_header::node_level, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, PEEK, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, btree_node_header::prev_vpid, btid::root_pageid, S_SUCCESS, spage_get_record(), btid::vfid, vpid::volid, vfid::volid, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_find_leftmost_leaf(), and btree_find_rightmost_leaf().
int btree_find_foreign_key | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | key, | ||
OID * | class_oid, | ||
OID * | found_oid | ||
) |
Definition at line 5972 of file btree.c.
References assert, ASSERT_ERROR, btree_scan::btid_int, BTREE_FIND_FK_OBJECT_INITIALIZER, BTREE_INIT_SCAN, btree_prepare_bts(), btree_range_scan(), btree_range_scan_find_fk_any_object(), COPY_OID, er_errid(), btree_find_fk_object::found_oid, GE_LE, key_val_range::key1, key_val_range::key2, lock_unlock_object_donot_move_to_non2pl(), NO_ERROR, NULL, key_val_range::num_index_term, OID_ISNULL, OID_SET_NULL, key_val_range::range, S_LOCK, and btid_int::topclass_oid.
Referenced by locator_check_primary_key_delete(), and locator_check_primary_key_update().
|
static |
Definition at line 11019 of file btree.c.
References assert, ASSERT_ERROR_AND_SET, btree_get_next_overflow_vpid(), BTREE_OBJECT_FIXED_SIZE, btree_perf_ovf_oids_fix_time(), NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, spage_max_space_for_new_record(), and VPID_ISNULL.
Referenced by btree_key_append_object_into_ovf().
DISK_ISVALID btree_find_key | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
OID * | oid, | ||
DB_VALUE * | key, | ||
bool * | clear_key | ||
) |
Definition at line 18273 of file btree.c.
References assert, btree_find_key_from_page(), btree_get_root_header(), btree_glean_root_header_info(), DISK_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by locator_repair_btree_by_delete().
|
static |
Definition at line 18121 of file btree.c.
References assert, btree_clear_key_value(), btree_find_oid_and_its_page(), BTREE_LEAF_NODE, BTREE_OP_DELETE_OBJECT_PHYSICAL, btree_read_record(), DISK_ERROR, DISK_INVALID, DISK_VALID, i, NO_ERROR, NOT_FOUND, NULL, leaf_rec::ovfl, PEEK, PEEK_KEY_VALUE, pgbuf_unfix_and_init, S_SUCCESS, spage_get_record(), and VPID_SET_NULL.
Referenced by btree_find_key_from_page().
|
static |
Definition at line 18184 of file btree.c.
References btree_find_key_from_page(), btree_read_fixed_portion_of_non_leaf_record(), DISK_ERROR, DISK_INVALID, DISK_VALID, i, NULL, OLD_PAGE, PAGE_BTREE, PEEK, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, S_SUCCESS, and spage_get_record().
Referenced by btree_find_key_from_page().
|
static |
Definition at line 18234 of file btree.c.
References btree_find_key_from_leaf(), btree_find_key_from_nleaf(), btree_get_node_header(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, DISK_ERROR, btree_node_header::node_level, and NULL.
Referenced by btree_find_key(), and btree_find_key_from_nleaf().
|
static |
Definition at line 14311 of file btree.c.
References BTREE_BOUNDARY_FIRST, and btree_find_boundary_leaf().
Referenced by btree_find_lower_bound_leaf(), and btree_fix_ovfl_oid_pages_tree().
|
static |
Definition at line 14207 of file btree.c.
References assert, assert_release, btree_scan::btid_int, BTREE_END_OF_SCAN, btree_find_leftmost_leaf(), btree_find_next_index_record(), btree_find_rightmost_leaf(), btree_get_node_header(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_scan::C_page, btree_scan::C_vpid, er_errid(), ER_FAILED, recdes::length, NO_ERROR, btree_node_header::node_level, NULL, btree_scan::oid_pos, PEEK, S_SUCCESS, btree_scan::slot_id, spage_get_record(), btid_int::sys_btid, and btree_scan::use_desc_index.
Referenced by btree_find_min_or_max_key(), btree_get_stats_with_fullscan(), and btree_range_scan_start().
int btree_find_min_or_max_key | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | key, | ||
int | find_min_key | ||
) |
Definition at line 16284 of file btree.c.
References assert, btree_scan::btid_int, btree_clear_key_value(), BTREE_END_OF_SCAN, btree_find_lower_bound_leaf(), btree_get_root_header(), btree_glean_root_header_info(), BTREE_INIT_SCAN, btree_init_temp_key_value(), BTREE_LEAF_NODE, btree_read_record(), btree_scan::C_page, db_make_null(), er_errid(), ER_FAILED, tp_domain::is_desc, btid_int::key_type, NO_ERROR, NULL, btree_scan::O_page, OLD_PAGE, btree_scan::P_page, PAGE_BTREE, vpid::pageid, PEEK, PEEK_KEY_VALUE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, pr_clone_value(), btid::root_pageid, S_SUCCESS, btree_scan::slot_id, spage_get_record(), btid_int::sys_btid, TP_DOMAIN_TYPE, tp_valid_indextype(), btree_scan::use_desc_index, btid::vfid, vpid::volid, and vfid::volid.
Referenced by qdata_evaluate_aggregate_optimize().
|
static |
Definition at line 15442 of file btree.c.
References assert, btree_find_next_index_record_holding_current(), btree_scan::C_page, btree_scan::common_prefix, COMMON_PREFIX_UNKNOWN, error(), NO_ERROR, NULL, btree_scan::P_page, and pgbuf_unfix_and_init.
Referenced by btree_find_lower_bound_leaf(), btree_get_stats_with_AR_sampling(), and btree_get_stats_with_fullscan().
|
static |
Definition at line 15516 of file btree.c.
References assert, btree_find_next_index_record_holding_current_helper(), btree_is_fence_key(), btree_node_number_of_keys(), btree_scan::C_page, btree_scan::C_vpid, recdes::data, btree_scan::end_scan, er_errid(), ER_FAILED, NO_ERROR, NULL, btree_scan::O_page, btree_scan::O_vpid, btree_scan::P_page, btree_scan::P_vpid, PEEK, pgbuf_unfix_and_init, S_SUCCESS, btree_scan::slot_id, spage_get_record(), VPID_EQ, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_find_next_index_record().
|
static |
Definition at line 15622 of file btree.c.
References ARG_FILE_LINE, assert, btree_scan::btid_int, btree_get_node_header(), btree_node_number_of_keys(), btree_scan::C_page, btree_scan::C_vpid, ER_DESC_ISCAN_ABORTED, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, er_set(), vfid::fileid, btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, NULL, btree_scan::oid_pos, OLD_PAGE, btree_scan::P_page, PAGE_BTREE, pgbuf_check_page_ptype(), PGBUF_CONDITIONAL_LATCH, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btree_node_header::prev_vpid, btid::root_pageid, btree_scan::slot_id, btid_int::sys_btid, btree_scan::use_desc_index, btid::vfid, vfid::volid, and VPID_ISNULL.
Referenced by btree_find_next_index_record_holding_current().
|
static |
Definition at line 11086 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_find_oid_from_leaf(), btree_find_oid_from_ovfl(), btree_get_next_overflow_vpid(), btree_perf_ovf_oids_fix_time(), error(), NO_ERROR, NOT_FOUND, NULL, OLD_PAGE, leaf_rec::ovfl, pgbuf_fix, PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, VPID_COPY, and VPID_ISNULL.
Referenced by btree_find_key_from_leaf(), btree_find_oid_with_page_and_record(), btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), and btree_key_remove_object_and_keep_visible_first().
|
static |
Definition at line 11228 of file btree.c.
References assert, assert_release, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, BTREE_MVCC_INFO_INSID, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, btree_mvcc_info::delete_mvccid, ER_FAILED, btree_mvcc_info::insert_mvccid, NO_ERROR, and NULL.
Referenced by btree_find_oid_from_leaf(), btree_find_oid_from_ovfl(), and btree_seq_find_oid_from_ovfl().
|
static |
Definition at line 11380 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_find_oid_does_mvcc_info_match(), BTREE_LEAF_NODE, btree_or_get_object(), BTREE_RECORD_OR_BUF_INIT, or_buf::buffer, CAST_BUFLEN, or_buf::endptr, ER_FAILED, error(), NO_ERROR, NOT_FOUND, NULL, OID_EQ, or_seek(), and or_buf::ptr.
Referenced by btree_find_oid_and_its_page().
|
static |
Definition at line 11471 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_find_oid_does_mvcc_info_match(), BTREE_GET_OID, BTREE_IS_UNIQUE, BTREE_LEAF_RECORD_MASK, BTREE_OBJECT_FIXED_SIZE, BTREE_OID_HAS_MVCC_INSID_AND_DELID, BTREE_OID_MVCC_FLAGS_MASK, BTREE_OVERFLOW_NODE, btree_record_get_num_oids(), btree_seq_find_oid_from_ovfl(), btree_unpack_mvccinfo(), CAST_BUFLEN, recdes::data, ER_FAILED, recdes::length, max, min, NO_ERROR, NOT_FOUND, NULL, OID_EQ, OID_GT, OID_LT, OR_OID_SIZE, PEEK, S_SUCCESS, db_identifier::slotid, spage_get_record(), btid_int::unique_pk, and db_identifier::volid.
Referenced by btree_find_oid_and_its_page().
|
static |
Definition at line 35044 of file btree.c.
References ASSERT_ERROR, assert_release, btree_find_oid_and_its_page(), COPY, ER_FAILED, NO_ERROR, NOT_FOUND, NULL, S_SUCCESS, and spage_get_record().
Referenced by btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
|
static |
Definition at line 14326 of file btree.c.
References BTREE_BOUNDARY_LAST, and btree_find_boundary_leaf().
Referenced by btree_find_lower_bound_leaf().
|
static |
Definition at line 11851 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, btree_clear_key_value(), btree_get_disk_size_of_key(), BTREE_GET_KEY_LEN_IN_PAGE, btree_get_max_new_data_size(), btree_get_node_header(), btree_get_prefix_separator(), btree_init_temp_key_value(), btree_is_fence_key(), BTREE_KEY_FOUND, BTREE_LEAF_NODE, BTREE_MAX_KEYLEN_INPAGE, BTREE_NODE_MAX_SPLIT_SIZE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_record(), btree_search_leaf_page(), btree_split_find_pivot(), COPY_KEY_VALUE, db_private_alloc, db_private_free_and_init, er_log_debug, error(), i, btid_int::key_type, LEAF_FENCE_MAX_SIZE, btree_node_header::max_key_len, NO_ERROR, btree_node_header::node_level, btid_int::nonleaf_key_type, NULL, NULL_SLOTID, PEEK, pr_clear_value(), pr_clone_value(), btree_search_key_helper::result, S_SUCCESS, pr_type::setval(), btree_search_key_helper::slotid, spage_get_record(), spage_get_space_for_record(), spage_slot_size(), btree_node_header::split_info, success(), and tp_domain::type.
Referenced by btree_split_node(), and btree_split_root().
|
static |
Definition at line 19379 of file btree.c.
References assert_release, btree_compare_oid(), btree_get_next_overflow_vpid(), btree_get_node_header(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_node_number_of_keys(), BTREE_OBJECT_FIXED_SIZE, btree_read_record(), btree_rv_write_log_record(), CEIL_PTVDIV, recdes::data, ER_FAILED, FREE, i, IO_MAX_PAGE_SIZE, recdes::length, log_append_undo_data2(), NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, leaf_rec::ovfl, PAGE_BTREE, PEEK, PEEK_KEY_VALUE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_WRITE, pgbuf_set_dirty(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, PTR_ALIGN, RVBT_NDRECORD_UPD, S_SUCCESS, spage_get_record(), btid_int::sys_btid, btid::vfid, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_fix_ovfl_oid_pages_tree().
|
static |
Definition at line 19242 of file btree.c.
References assert, ASSERT_ERROR, BTID_IS_NULL, file_descriptors::btree, btree_fix_ovfl_oid_pages_tree(), file_btree_des::class_oid, file_descriptor_get(), free_and_init, heap_get_indexinfo_of_btid(), NO_ERROR, NULL, NULL_PAGEID, btid::root_pageid, and btid::vfid.
|
static |
Definition at line 19284 of file btree.c.
References btree_find_leftmost_leaf(), btree_fix_ovfl_oid_page(), btree_get_node_header(), btree_get_root_header(), btree_glean_root_header_info(), BTREE_IS_UNIQUE, ER_FAILED, btree_node_header::next_vpid, NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid_int::sys_btid, btid_int::unique_pk, btid::vfid, vpid::volid, vfid::volid, and VPID_ISNULL.
Referenced by btree_fix_ovfl_oid_pages_by_btid().
|
static |
Definition at line 29778 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, BTREE_DELETE_CLASS_OID, btree_fix_root_with_info(), btree_is_delete_data_purpose(), btree_is_delete_object_purpose(), BTREE_IS_MULTI_ROW_OP, btree_is_online_index_loading(), BTREE_IS_UNIQUE, btree_multicol_key_is_null(), BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, btree_delete_helper::buffered_key, CAST_BUFLEN, btree_delete_helper::check_key_deleted, btree_object_info::class_oid, COPY_OID, db_value::data, DB_IS_NULL, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, btree_unique_stats::delete_key_and_row(), btree_unique_stats::delete_null_and_row(), db_midxkey::domain, or_buf::endptr, pr_type::id, pr_type::index_readval(), btree_delete_helper::is_first_search, btree_delete_helper::is_key_deleted, btree_delete_helper::is_root, btid_int::key_type, LOG_ISRESTARTED, btree_delete_helper::log_operations, logtb_tran_update_unique_stats(), db_data::midxkey, MULTI_ROW_UPDATE, mvcc_is_mvcc_disabled_class(), NO_ERROR, btree_delete_helper::nonleaf_latch_mode, NULL, OID_ISNULL, btree_delete_helper::op_type, pgbuf_unfix_and_init, pr_valstring(), btree_delete_helper::printed_key, btree_delete_helper::printed_key_sha1, or_buf::ptr, btree_delete_helper::purpose, btree_delete_helper::second_object_info, SHA1Compute(), strlen, btid_int::topclass_oid, TP_ARE_COMPARABLE_KEY_TYPES, tp_domain::type, btid_int::unique_pk, and btree_delete_helper::unique_stats_info.
Referenced by btree_delete_internal(), and btree_online_index_list_dispatcher().
|
static |
Definition at line 26247 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, BTID_AS_ARGS, btree_create_overflow_key_file(), btree_fix_root_with_info(), btree_get_disk_size_of_key(), BTREE_GET_KEY_LEN_IN_PAGE, BTREE_ID_MSG, BTREE_INSERT_CLASS_OID, BTREE_INSERT_HELPER_AS_ARGS, BTREE_INSERT_HELPER_MSG, btree_insert_log, BTREE_INSERT_OID, btree_is_insert_data_purpose(), btree_is_insert_object_purpose(), BTREE_IS_MULTI_ROW_OP, btree_is_online_index_loading(), BTREE_IS_UNIQUE, BTREE_MAX_KEYLEN_INPAGE, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, BTREE_SET_CREATED_OVERFLOW_KEY_NOTIFICATION, COPY_OID, db_value::data, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, btree_unique_stats::delete_key_and_row(), btree_unique_stats::delete_null_and_row(), db_midxkey::domain, DONT_FREE, ER_FAILED, ER_PAGE_LATCH_PROMOTE_FAIL, error(), HEADER, pr_type::id, btree_unique_stats::insert_key_and_row(), btree_unique_stats::insert_null_and_row(), btree_insert_helper::is_crt_node_write_latched, btree_insert_helper::is_first_try, btree_insert_helper::is_null, btree_insert_helper::is_root, btree_insert_helper::key_len_in_page, btid_int::key_type, log_append_undoredo_data2(), btree_insert_helper::log_operations, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), logtb_tran_update_unique_stats(), db_data::midxkey, btree_insert_helper::need_update_max_key_len, NO_ERROR, btree_insert_helper::nonleaf_latch_mode, NULL, OID_ISNULL, btree_insert_helper::op_type, btid_int::ovfid, btree_root_header::ovfid, PGBUF_LATCH_WRITE, pgbuf_promote_read_latch, PGBUF_PROMOTE_SHARED_READER, pgbuf_set_dirty(), pgbuf_unfix_and_init, pr_valstring(), btree_insert_helper::printed_key, btree_insert_helper::printed_key_sha1, btree_insert_helper::purpose, RVBT_UPDATE_OVFID, SHA1Compute(), strlen, btid_int::sys_btid, btid_int::topclass_oid, TP_ARE_COMPARABLE_KEY_TYPES, tp_domain::type, btid_int::unique_pk, btree_insert_helper::unique_stats_info, btid::vfid, VFID_COPY, and VFID_ISNULL.
Referenced by btree_insert_internal(), and btree_online_index_list_dispatcher().
STATIC_INLINE PAGE_PTR btree_fix_root_with_info | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
PGBUF_LATCH_MODE | latch_mode, | ||
VPID * | root_vpid_p, | ||
BTREE_ROOT_HEADER ** | root_header_p, | ||
BTID_INT * | btid_int_p | ||
) |
Definition at line 1796 of file btree.c.
References assert, ASSERT_ERROR, btree_get_root_header(), btree_glean_root_header_info(), NO_ERROR, NULL, OLD_PAGE, vpid::pageid, pgbuf_fix, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, btid::root_pageid, STATIC_INLINE, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_fix_root_for_delete(), btree_fix_root_for_insert(), btree_get_class_oid_of_unique_btid(), btree_get_root_with_key(), and btree_prepare_bts().
|
static |
Definition at line 25781 of file btree.c.
References ARG_FILE_LINE, assert, assert_release, btree_mvcc_info_to_heap_mvcc_header(), btree_scan::bts_other, btree_scan::C_page, COPY_OID, DELETE_RECORD_CAN_DELETE, DELETE_RECORD_DELETE_IN_PROGRESS, DELETE_RECORD_DELETED, DELETE_RECORD_INSERT_IN_PROGRESS, DELETE_RECORD_SELF_DELETED, btree_scan::end_scan, ER_CANNOT_GET_LOCK, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, er_set(), btree_find_fk_object::found_oid, btree_scan::is_interrupted, LK_COND_LOCK, LK_GRANTED, LK_UNCOND_LOCK, lock_has_lock_on_object(), lock_object(), lock_unlock_object_donot_move_to_non2pl(), mvcc_satisfies_delete(), NO_ERROR, NULL, btree_scan::O_page, OID_EQ, OID_ISNULL, OID_SET_NULL, and pgbuf_unfix_and_init.
Referenced by btree_range_scan_find_fk_any_object().
Definition at line 5749 of file btree.c.
References tp_domain::class_mop, tp_domain::collation_id, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_NCHAR, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, btid_int::key_type, NULL, tp_domain::precision, tp_domain::scale, tp_domain::setdomain, tp_domain_resolve(), and TP_DOMAIN_TYPE.
Referenced by btree_glean_root_header_info(), xbtree_load_index(), and xbtree_load_online_index().
int btree_get_asc_desc | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
int | col_idx, | ||
int * | asc_desc | ||
) |
Definition at line 18408 of file btree.c.
References btree_get_root_header(), btree_glean_root_header_info(), er_errid(), ER_FAILED, tp_domain::is_desc, btid_int::key_type, tp_domain::next, NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, tp_domain::setdomain, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by qexec_execute_build_indexes().
int btree_get_btid_from_file | ( | THREAD_ENTRY * | thread_p, |
const VFID * | vfid, | ||
BTID * | btid_out | ||
) |
Definition at line 6930 of file btree.c.
References assert, ASSERT_ERROR, file_get_sticky_first_page(), NO_ERROR, vpid::pageid, btid::root_pageid, btid::vfid, vpid::volid, vfid::volid, and VPID_ISNULL.
Referenced by btree_check_by_btid(), btree_repair_prev_link(), and file_tracker_item_dump_btree_capacity().
int btree_get_class_oid_of_unique_btid | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
OID * | class_oid | ||
) |
Definition at line 35304 of file btree.c.
References btree_fix_root_with_info(), BTREE_IS_UNIQUE, COPY_OID, ER_FAILED, NO_ERROR, NULL, OID_SET_NULL, PGBUF_LATCH_READ, pgbuf_unfix_and_init, btree_root_header::topclass_oid, and btree_root_header::unique_pk.
Referenced by logtb_tran_update_stats_online_index_rb().
|
static |
Definition at line 32827 of file btree.c.
References assert, btree_get_root_header(), btree_root_header::creator_mvccid, and NULL.
Referenced by btree_prepare_bts().
int btree_get_disk_size_of_key | ( | DB_VALUE * | key | ) |
Definition at line 4041 of file btree.c.
References assert, DB_IS_NULL, NULL, and pr_index_writeval_disk_size().
Referenced by btree_build_nleafs(), btree_check_page_key(), btree_compress_node(), btree_connect_page(), btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_find_split_point(), btree_first_oid(), btree_fix_root_for_insert(), btree_get_subtree_capacity(), btree_key_insert_new_key(), btree_key_online_index_IB_insert_list(), btree_key_online_index_tran_delete(), btree_recompress_record(), btree_rv_save_keyval_for_undo(), btree_rv_save_keyval_for_undo_two_objects(), btree_split_node(), btree_split_root(), btree_store_overflow_key(), and btree_verify_leaf_node().
|
static |
Definition at line 26522 of file btree.c.
References assert, assert_release, BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, BTREE_OBJECT_FIXED_SIZE, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, ER_FAILED, LEAF_ENTRY_MAX_SIZE, NON_LEAF_ENTRY_MAX_SIZE, NULL, OR_MVCCID_SIZE, btree_insert_helper::purpose, and spage_slot_size().
Referenced by btree_find_split_point(), btree_key_online_index_IB_insert_list(), and btree_split_node_and_advance().
|
static |
Definition at line 4943 of file btree.c.
References ASSERT_ERROR, assert_release, btree_initialize_new_page(), file_alloc(), NO_ERROR, NULL, PAGE_BTREE, pgbuf_check_page_ptype(), btid_int::sys_btid, and btid::vfid.
Referenced by btree_split_node_and_advance(), btree_split_test(), and btree_start_overflow_page().
SCAN_CODE btree_get_next_key_info | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
BTREE_SCAN * | bts, | ||
int | num_classes, | ||
OID * | class_oids_ptr, | ||
INDX_SCAN_ID * | index_scan_id_p, | ||
DB_VALUE ** | key_info | ||
) |
Definition at line 16115 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, btree_scan::btid_int, BTREE_INVALID_INDEX_ID, BTREE_IS_UNIQUE, btree_key_find_first_visible_row(), btree_key_find_first_visible_row_from_all_ovf(), BTREE_KEY_INFO_FIRST_OID, BTREE_KEY_INFO_KEY, BTREE_KEY_INFO_OID_COUNT, BTREE_KEY_INFO_OVERFLOW_KEY, BTREE_KEY_INFO_OVERFLOW_OIDS, BTREE_KEY_INFO_PAGEID, BTREE_KEY_INFO_SLOTID, BTREE_KEY_INFO_VOLUMEID, BTREE_KEY_NOTFOUND, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_prepare_bts(), btree_range_scan_resume(), btree_range_scan_start(), btree_record_get_num_oids(), btree_scan_clear_key(), BTS_KEY_IS_CONSUMED, btree_scan::C_page, btree_scan::C_vpid, btree_scan::cur_key, btree_scan::cur_leaf_lsa, db_make_int(), db_make_oid(), db_make_string(), btree_scan::end_scan, ER_BTREE_INVALID_INDEX_ID, ER_ERROR_SEVERITY, er_set(), error(), vfid::fileid, indx_scan_id::indx_info, btree_scan::key_filter, btree_scan::key_record, btree_scan::key_status, btree_scan::leaf_rec_info, LSA_COPY(), NO_ERROR, NULL, NULL_PAGEID, btree_scan::O_page, btree_scan::offset, oid_Null_oid, OID_SET_NULL, OR_OID_SIZE, leaf_rec::ovfl, btree_scan::P_page, vpid::pageid, perfmon_inc_stat(), pgbuf_get_lsa(), pgbuf_unfix_and_init, pr_clear_value(), pr_clone_value(), PSTAT_BT_NUM_RESUMES, btid::root_pageid, S_END, S_ERROR, S_SUCCESS, btree_scan::slot_id, btid_int::unique_pk, indx_info::use_desc_index, btree_scan::use_desc_index, btid::vfid, vpid::volid, vfid::volid, VPID_ISNULL, and VPID_SET_NULL.
Referenced by scan_next_index_key_info_scan().
SCAN_CODE btree_get_next_node_info | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
BTREE_NODE_SCAN * | btns, | ||
DB_VALUE ** | node_info | ||
) |
Definition at line 20162 of file btree.c.
References ARG_FILE_LINE, assert, btree_node_scan::btid_int, btree_clear_key_value(), btree_get_node_header(), btree_init_temp_key_value(), BTREE_LEAF_NODE, BTREE_NODE_INFO_FIRST_KEY, BTREE_NODE_INFO_KEY_COUNT, BTREE_NODE_INFO_LAST_KEY, BTREE_NODE_INFO_NODE_TYPE, BTREE_NODE_INFO_PAGEID, BTREE_NODE_INFO_VOLUMEID, btree_node_number_of_keys(), BTREE_NODE_SCAN_ADD_PAGE_TO_QUEUE, BTREE_NODE_SCAN_IS_QUEUE_EMPTY, BTREE_NODE_SCAN_POP_PAGE_FROM_QUEUE, BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), btree_read_record(), btree_node_scan::crt_page, btree_node_scan_queue_item::crt_vpid, btree_node_scan::crt_vpid, db_make_int(), db_make_null(), db_make_string(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), btree_node_scan::first_call, free_and_init, i, btree_node_scan_queue_item::next, NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, vpid::pageid, PEEK, PEEK_KEY_VALUE, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, pr_clear_value(), pr_clone_value(), btid::root_pageid, S_END, S_ERROR, S_SUCCESS, spage_get_record(), btid::vfid, vpid::volid, and vfid::volid.
Referenced by scan_next_index_node_info_scan().
|
static |
Definition at line 18560 of file btree.c.
References assert, btree_get_node_header(), btree_node_header::next_vpid, NULL, OLD_PAGE, PAGE_BTREE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, and VPID_ISNULL.
Referenced by btree_merge_node(), and btree_split_node().
|
static |
Definition at line 18535 of file btree.c.
References assert, btree_get_node_header(), btree_get_node_level(), ER_FAILED, btree_node_header::next_vpid, NO_ERROR, NULL, and VPID_COPY.
|
static |
Definition at line 1896 of file btree.c.
References assert, btree_get_node_header(), btree_node_header::node_level, and NULL.
Referenced by btree_get_next_page_vpid(), btree_key_insert_does_leaf_need_split(), btree_key_insert_new_key(), btree_merge_root(), btree_range_scan_resume(), and btree_split_root().
int btree_get_num_visible_from_leaf_and_ovf | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid_int, | ||
RECDES * | leaf_record, | ||
int | offset_after_key, | ||
LEAF_REC * | leaf_info, | ||
int * | max_visible_oids, | ||
MVCC_SNAPSHOT * | mvcc_snapshot, | ||
int * | num_visible | ||
) |
Definition at line 2566 of file btree.c.
References assert, ASSERT_ERROR, btree_get_num_visible_oids_from_all_ovf(), BTREE_LEAF_NODE, btree_record_get_num_visible_oids(), NO_ERROR, NULL, leaf_rec::ovfl, and VPID_ISNULL.
Referenced by btree_get_stats_key(), btree_is_slot_visible(), btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_lock_and_append_object_unique(), and btree_key_record_check_no_visible().
|
static |
Definition at line 2460 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR_AND_SET, btree_get_next_overflow_vpid(), BTREE_MAX_ALIGN, BTREE_OVERFLOW_NODE, btree_record_get_num_visible_oids(), COPY, recdes::data, DB_PAGESIZE, er_errid(), ER_FAILED, error(), IO_MAX_PAGE_SIZE, recdes::length, NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, PTR_ALIGN, S_SUCCESS, spage_get_record(), and VPID_ISNULL.
Referenced by btree_get_num_visible_from_leaf_and_ovf().
PERF_PAGE_TYPE btree_get_perf_btree_page_type | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr | ||
) |
Definition at line 33161 of file btree.c.
References assert, recdes::data, HEADER, if(), recdes::length, btree_node_header::node_level, NULL, spage_header::num_slots, PEEK, PERF_PAGE_BTREE_GENERIC, PERF_PAGE_BTREE_LEAF, PERF_PAGE_BTREE_NONLEAF, PERF_PAGE_BTREE_OVF, PERF_PAGE_BTREE_ROOT, PERF_PAGE_UNKNOWN, S_SUCCESS, and spage_get_record().
Referenced by pgbuf_get_page_type_for_stat(), and pgbuf_has_perm_pages_fixed().
int btree_get_pkey_btid | ( | THREAD_ENTRY * | thread_p, |
OID * | cls_oid, | ||
BTID * | pkey_btid | ||
) |
Definition at line 7833 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, or_index::btid, BTID_COPY, BTID_SET_NULL, BTREE_PRIMARY_KEY, ER_ERROR_SEVERITY, er_set(), ER_UNEXPECTED, error(), heap_classrepr_free_and_init, heap_classrepr_get(), i, or_classrep::indexes, NO_ERROR, NULL, NULL_REPRID, and or_index::type.
Referenced by locator_repl_prepare_force().
int btree_get_prefix_separator | ( | const DB_VALUE * | key1, |
const DB_VALUE * | key2, | ||
DB_VALUE * | prefix_key, | ||
TP_DOMAIN * | key_domain | ||
) |
Definition at line 11763 of file btree.c.
References assert, assert_release, btree_compare_key(), DB_EQ, DB_IS_NULL, DB_LT, db_string_unique_prefix(), DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, ER_FAILED, err, NO_ERROR, NULL, pr_clone_value(), pr_is_string_type(), pr_midxkey_unique_prefix(), and TP_DOMAIN_TYPE.
Referenced by btree_build_nleafs(), btree_find_split_point(), and btree_set_split_point().
void btree_get_root_vpid_from_btid | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
VPID * | root_vpid | ||
) |
Definition at line 6912 of file btree.c.
References assert, NULL, vpid::pageid, btid::root_pageid, btid::vfid, VFID_ISNULL, vpid::volid, and vfid::volid.
Referenced by btree_build_nleafs(), xbtree_add_index(), and xbtree_load_index().
|
static |
Definition at line 22701 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_fix_root_with_info(), btree_search_leaf_page(), db_value::data, DB_TYPE_MIDXKEY, DB_VALUE_TYPE, db_midxkey::domain, db_data::midxkey, NO_ERROR, btree_root_header::node, btree_node_header::node_level, NULL, and PGBUF_LATCH_READ.
Referenced by btree_search_key_and_apply_functions().
int btree_get_stats | ( | THREAD_ENTRY * | thread_p, |
BTREE_STATS * | stat_info_p, | ||
bool | with_fullscan | ||
) |
Definition at line 6959 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_stats::btid, btree_scan::btid_int, BTID_IS_NULL, btree_get_root_header(), btree_get_stats_with_AR_sampling(), btree_get_stats_with_fullscan(), btree_glean_root_header_info(), BTREE_INIT_SCAN, btree_stats_env::btree_scan, BTREE_STATS_PKEYS_NUM, db_make_null(), DB_TYPE_MIDXKEY, er_errid(), ER_FAILED, file_get_num_user_pages(), btree_stats::height, i, btid_int::key_type, btree_stats::keys, btree_stats::leafs, NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, btree_stats::pages, perfmon_inc_stat(), pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btree_stats::pkeys, btree_stats::pkeys_size, btree_stats_env::pkeys_val, btree_stats_env::pkeys_val_num, pr_clear_value(), PSTAT_BT_NUM_GET_STATS, btid::root_pageid, btree_stats_env::stat_info, STATS_SAMPLING_THRESHOLD, btid_int::sys_btid, TP_DOMAIN_TYPE, tp_valid_indextype(), btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_get_statistics(), sbtree_get_statistics(), and xstats_update_statistics().
|
static |
Definition at line 6504 of file btree.c.
References assert, btree_scan::btid_int, btree_get_num_visible_from_leaf_and_ovf(), btree_get_stats_midxkey(), btree_init_temp_key_value(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_read_record(), btree_stats_env::btree_scan, btree_scan::C_page, db_get_midxkey(), DB_IS_NULL, er_errid(), ER_FAILED, btree_stats::keys, NO_ERROR, NULL, PEEK, PEEK_KEY_VALUE, btree_stats::pkeys, btree_stats_env::pkeys_val_num, pr_clear_value(), S_SUCCESS, btree_scan::slot_id, spage_get_record(), and btree_stats_env::stat_info.
Referenced by btree_get_stats_with_AR_sampling(), and btree_get_stats_with_fullscan().
|
static |
Definition at line 6422 of file btree.c.
References assert_release, DB_EQ, er_errid(), ER_FAILED, i, db_value::need_clear, NO_ERROR, NULL, btree_stats::pkeys, btree_stats_env::pkeys_val, btree_stats_env::pkeys_val_num, pr_clear_value(), pr_clone_value(), pr_midxkey_get_element_nocopy(), btree_stats_env::stat_info, and tp_value_compare().
Referenced by btree_get_stats_key().
|
static |
Definition at line 6675 of file btree.c.
References assert, assert_release, btree_scan::btid_int, btree_find_AR_sampling_leaf(), btree_find_next_index_record(), btree_get_node_header(), btree_get_stats_key(), btree_node_number_of_keys(), btree_stats_env::btree_scan, btree_scan::C_page, btree_scan::C_vpid, er_errid(), ER_FAILED, i, btree_stats::keys, btree_stats::leafs, NO_ERROR, btree_node_header::node_level, NULL, btree_scan::O_page, btree_scan::oid_pos, btree_scan::P_page, btree_stats::pages, pgbuf_unfix_and_init, btree_stats::pkeys, btree_stats_env::pkeys_val_num, btree_scan::slot_id, btree_stats_env::stat_info, STATS_SAMPLING_LEAFS_MAX, STATS_SAMPLING_THRESHOLD, btid_int::sys_btid, and btree_scan::use_desc_index.
Referenced by btree_get_stats().
|
static |
Definition at line 6822 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, BTREE_END_OF_SCAN, btree_find_lower_bound_leaf(), btree_find_next_index_record(), btree_get_stats_key(), btree_stats_env::btree_scan, btree_scan::C_page, btree_scan::C_vpid, btree_stats::leafs, logtb_get_mvcc_snapshot(), NO_ERROR, NULL, btree_scan::O_page, btree_scan::P_page, pgbuf_unfix_and_init, btree_stats_env::stat_info, btree_scan::use_desc_index, VPID_COPY, VPID_EQ, and VPID_SET_NULL.
Referenced by btree_get_stats().
|
static |
Definition at line 8468 of file btree.c.
References btree_capacity::avg_key_len, btree_capacity::avg_pg_free_sp, btree_capacity::avg_pg_key_cnt, btree_capacity::avg_rec_len, btree_capacity::avg_val_per_key, btree_clear_key_value(), btree_get_disk_size_of_key(), btree_get_next_overflow_vpid(), btree_get_node_header(), btree_init_temp_key_value(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, BTREE_OVERFLOW_NODE, btree_read_fixed_portion_of_non_leaf_record(), btree_read_record(), btree_record_get_num_oids(), DB_PAGESIZE, btree_capacity::dis_key_cnt, er_errid(), ER_FAILED, btree_capacity::height, i, leaf_rec::key_len, btree_capacity::leaf_pg_cnt, recdes::length, btree_capacity::nleaf_pg_cnt, NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, leaf_rec::ovfl, PAGE_BTREE, PEEK, PEEK_KEY_VALUE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, S_SUCCESS, spage_get_free_space(), spage_get_record(), btree_capacity::sum_key_len, btree_capacity::sum_rec_len, btree_capacity::tot_free_space, btree_capacity::tot_pg_cnt, btree_capacity::tot_space, btree_capacity::tot_used_space, btree_capacity::tot_val_cnt, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_index_capacity().
int btree_get_unique_statistics | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
int * | oid_cnt, | ||
int * | null_cnt, | ||
int * | key_cnt | ||
) |
Definition at line 6199 of file btree.c.
References ARG_FILE_LINE, assert, btree_clear_key_value(), BTREE_CONSTRAINT_PRIMARY_KEY, BTREE_CONSTRAINT_UNIQUE, btree_get_node_header(), btree_get_root_header(), btree_init_temp_key_value(), BTREE_LEAF_NODE, btree_node_number_of_keys(), btree_read_fixed_portion_of_non_leaf_record(), btree_read_record(), BTREE_STATS_PKEYS_NUM, DB_EQ, db_get_midxkey(), DB_TYPE_MIDXKEY, er_errid(), ER_FAILED, er_log_debug, btree_stats::height, i, btid_int::key_type, btree_stats::keys, btree_stats::leafs, NO_ERROR, btree_node_header::node_level, NULL, btree_root_header::num_keys, btree_root_header::num_nulls, btree_root_header::num_oids, OLD_PAGE, PAGE_BTREE, vpid::pageid, btree_stats::pages, PEEK, PEEK_KEY_VALUE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btree_stats::pkeys, btree_stats::pkeys_size, non_leaf_rec::pnt, pr_clear_value(), pr_clone_value(), pr_midxkey_get_element_nocopy(), btid::root_pageid, S_SUCCESS, spage_get_record(), btree_stats_env::stat_info, TP_DOMAIN_TYPE, tp_value_compare(), btree_root_header::unique_pk, btid::vfid, vpid::volid, and vfid::volid.
Referenced by logtb_get_global_unique_stats_entry().
int btree_get_unique_statistics_for_count | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
int * | oid_cnt, | ||
int * | null_cnt, | ||
int * | key_cnt | ||
) |
Definition at line 6171 of file btree.c.
References ER_FAILED, log_tran_btid_unique_stats::global_stats, logtb_tran_find_btid_stats(), NO_ERROR, NULL, log_unique_stats::num_keys, log_unique_stats::num_nulls, log_unique_stats::num_oids, and log_tran_btid_unique_stats::tran_stats.
Referenced by qdata_evaluate_aggregate_optimize().
int btree_glean_root_header_info | ( | THREAD_ENTRY * | thread_p, |
BTREE_ROOT_HEADER * | root_header, | ||
BTID_INT * | btid | ||
) |
Definition at line 5797 of file btree.c.
References btree_generate_prefix_domain(), btid_int::copy_buf, btid_int::copy_buf_len, COPY_OID, btid_int::key_type, NO_ERROR, btid_int::nonleaf_key_type, NULL, or_get_domain(), or_init(), btid_int::ovfid, btree_root_header::ovfid, btree_root_header::packed_key_domain, btid_int::part_key_desc, rc, btid_int::rev_level, btree_root_header::rev_level, btid_int::topclass_oid, btree_root_header::topclass_oid, btid_int::unique_pk, and btree_root_header::unique_pk.
Referenced by btree_check_tree(), btree_dump(), btree_find_key(), btree_find_min_or_max_key(), btree_fix_ovfl_oid_pages_tree(), btree_fix_root_with_info(), btree_get_asc_desc(), btree_get_stats(), btree_index_capacity(), btree_rv_read_keyval_info_nocopy(), orc_diskrep_from_record(), scan_open_index_key_info_scan(), scan_open_index_node_info_scan(), and scan_open_index_scan().
unsigned int btree_hash_btid | ( | void * | btid, |
int | hash_size | ||
) |
Definition at line 32874 of file btree.c.
Referenced by logtb_initialize_global_unique_stats_table().
|
static |
Definition at line 19904 of file btree.c.
References ARG_FILE_LINE, assert, assert_release, btree_scan::btid_int, btree_compare_key(), BTREE_IS_PART_KEY_DESC, btree_scan_update_range(), db_midxkey::buf, btree_scan::cur_key, indx_scan_id::curr_keyno, db_value::data, DB_GT, DB_IS_NULL, DB_LT, db_make_midxkey(), db_make_null(), db_private_alloc, db_private_free, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, db_midxkey::domain, ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), GE_INF, GE_LE, GE_LT, GT_INF, GT_LE, GT_LT, i, indx_info::ils_prefix_len, btree_scan::index_scan_idp, indx_scan_id::indx_info, INF_INF, INF_LE, INF_LT, tp_domain::is_desc, key_val_range::key1, key_val_range::key2, indx_scan_id::key_vals, MAX_COLUMN, db_data::midxkey, db_midxkey::min_max_val, db_midxkey::ncolumns, db_value::need_clear, tp_domain::next, NULL, special_column::position, pr_clear_value(), pr_clone_value(), pr_midxkey_add_elements(), pr_midxkey_get_element_nocopy(), key_val_range::range, tp_domain::setdomain, db_midxkey::size, special_column::type, and btree_scan::use_desc_index.
Referenced by btree_select_visible_object_for_range_scan().
int btree_index_capacity | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
BTREE_CAPACITY * | cpc | ||
) |
Definition at line 8673 of file btree.c.
References btree_get_root_header(), btree_get_subtree_capacity(), btree_glean_root_header_info(), er_errid(), ER_FAILED, NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_dump_capacity(), and btree_scan_for_show_index_capacity().
int btree_index_end_scan | ( | THREAD_ENTRY * | thread_p, |
void ** | ptr | ||
) |
Definition at line 20769 of file btree.c.
References show_index_scan_ctx::class_oids, db_private_free_and_init, show_index_scan_ctx::index_name, NO_ERROR, and NULL.
Referenced by showstmt_scan_init().
SCAN_CODE btree_index_next_scan | ( | THREAD_ENTRY * | thread_p, |
int | cursor, | ||
DB_VALUE ** | out_values, | ||
int | out_cnt, | ||
void * | ptr | ||
) |
Definition at line 20669 of file btree.c.
References ARG_FILE_LINE, assert, or_index::btname, btree_scan_for_show_index_capacity(), btree_scan_for_show_index_header(), show_index_scan_ctx::class_oid_count, show_index_scan_ctx::class_oids, cleanup(), ER_ERROR_SEVERITY, ER_OBJ_INDEX_NOT_FOUND, er_set(), free_and_init, heap_classrepr_free_and_init, heap_classrepr_get(), heap_get_class_name(), i, show_index_scan_ctx::index_name, or_classrep::indexes, show_index_scan_ctx::indexes_count, intl_identifier_casecmp(), show_index_scan_ctx::is_all, or_classrep::n_indexes, NO_ERROR, NULL, NULL_REPRID, S_END, S_ERROR, show_index_scan_ctx::show_type, SHOWSTMT_ALL_INDEXES_CAPACITY, SHOWSTMT_ALL_INDEXES_HEADER, SHOWSTMT_INDEX_CAPACITY, and SHOWSTMT_INDEX_HEADER.
Referenced by showstmt_scan_init().
int btree_index_start_scan | ( | THREAD_ENTRY * | thread_p, |
int | show_type, | ||
DB_VALUE ** | arg_values, | ||
int | arg_cnt, | ||
void ** | ptr | ||
) |
Definition at line 20523 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, or_partition::class_oid, show_index_scan_ctx::class_oid_count, show_index_scan_ctx::class_oids, cleanup(), COPY_OID, db_get_int(), db_get_string(), DB_PARTITIONED_CLASS, db_private_alloc, db_private_free_and_init, db_private_strdup(), ER_ERROR_SEVERITY, ER_LC_UNKNOWN_CLASSNAME, er_set(), error(), heap_classrepr_free_and_init, heap_classrepr_get(), heap_clear_partition_info(), heap_get_class_partitions(), i, show_index_scan_ctx::index_name, show_index_scan_ctx::indexes_count, show_index_scan_ctx::is_all, LC_CLASSNAME_DELETED, LC_CLASSNAME_ERROR, or_classrep::n_indexes, NO_ERROR, NULL, NULL_REPRID, S_LOCK, SCH_S_LOCK, show_index_scan_ctx::show_type, SHOWSTMT_ALL_INDEXES_CAPACITY, SHOWSTMT_ALL_INDEXES_HEADER, and xlocator_find_class_oid().
Referenced by showstmt_scan_init().
Definition at line 1938 of file btree.c.
References db_make_null().
Referenced by btree_build_nleafs(), btree_check_page_key(), btree_compress_node(), btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_find_min_or_max_key(), btree_find_split_point(), btree_get_next_node_info(), btree_get_stats_key(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_leaf_is_key_between_min_max(), btree_load_check_fk(), btree_merge_node(), btree_node_common_prefix(), btree_node_size_uncompressed(), btree_read_record(), btree_recompress_record(), btree_rv_record_modify_internal(), btree_search_leaf_page(), btree_search_nonleaf_page(), btree_set_split_point(), btree_verify_leaf_node(), btree_verify_nonleaf_node(), btree_verify_subtree(), and locator_repair_btree_by_delete().
int btree_initialize_new_page | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page, | ||
void * | args | ||
) |
Definition at line 4971 of file btree.c.
References BTREE_MAX_ALIGN, DONT_FREE, DONT_SAFEGUARD_RVSPACE, log_append_undoredo_data2(), NO_ERROR, NULL, PAGE_BTREE, pgbuf_set_dirty(), pgbuf_set_page_ptype(), RVBT_GET_NEWPAGE, spage_initialize(), and UNANCHORED_KEEP_SEQUENCE.
Referenced by btree_create_file(), btree_get_new_page(), and btree_load_new_page().
int btree_insert | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | key, | ||
OID * | cls_oid, | ||
OID * | oid, | ||
int | op_type, | ||
btree_unique_stats * | unique_stat_info, | ||
int * | unique, | ||
MVCC_REC_HEADER * | p_mvcc_rec_header | ||
) |
Definition at line 25969 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, assert, assert_release, btree_insert_internal(), btree_mvcc_info_from_heap_mvcc_header(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_OP_INSERT_NEW_OBJECT, vfid::fileid, MVCC_GET_INSID, MVCCID_ALL_VISIBLE, NULL, oid_Null_oid, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_update(), locator_add_or_remove_index_internal(), locator_repair_btree_by_insert(), and locator_update_index().
|
inlinestatic |
Definition at line 35193 of file btree.c.
References btree_object_info::class_oid, btree_insert_helper::compensate_undo_nxlsa, btree_insert_helper::leaf_addr, btree_delete_helper::leaf_addr, btree_insert_helper::log_operations, btree_delete_helper::log_operations, LSA_COPY(), btree_object_info::mvcc_info, btree_insert_helper::obj_info, btree_delete_helper::object_info, log_data_addr::offset, btree_object_info::oid, log_data_addr::pgptr, btree_insert_helper::printed_key, btree_delete_helper::printed_key, btree_insert_helper::printed_key_sha1, btree_delete_helper::printed_key_sha1, btree_delete_helper::reference_lsa, btree_insert_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_delete_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, and log_data_addr::vfid.
Referenced by btree_key_online_index_IB_insert(), and btree_key_online_index_tran_insert_DF().
|
static |
Definition at line 26069 of file btree.c.
References btree_unique_stats::add_row(), assert, ASSERT_ERROR, assert_release, BTID_AS_ARGS, btree_fix_root_for_insert(), BTREE_ID_MSG, BTREE_INSERT_CLASS_OID, BTREE_INSERT_HELPER_AS_ARGS, BTREE_INSERT_HELPER_MSG, btree_insert_log, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, btree_is_insert_object_purpose(), BTREE_IS_UNIQUE, btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_object(), btree_multicol_key_is_null(), BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, btree_search_key_and_apply_functions(), BTREE_SEARCH_KEY_HELPER_INITIALIZER, btree_split_node_and_advance(), btree_insert_helper::compensate_undo_nxlsa, COPY_OID, DB_IS_NULL, db_private_free, btree_unique_stats::delete_key_and_row(), btree_unique_stats::delete_row(), ER_FAILED, btree_unique_stats::get_key_count(), btree_unique_stats::get_null_count(), btree_unique_stats::get_row_count(), HA_DISABLED, btree_unique_stats::insert_key_and_row(), btree_insert_helper::is_ha_enabled, btree_insert_helper::is_null, btree_insert_helper::is_unique_key_added_or_deleted, btree_insert_helper::is_unique_multi_update, lock_unlock_object_donot_move_to_non2pl(), btree_insert_helper::log_operations, LSA_COPY(), MULTI_ROW_UPDATE, NO_ERROR, NULL, OID_ISNULL, OID_SET_NULL, btree_insert_helper::op_type, btree_delete_helper::op_type, perfmon_inc_stat(), btree_insert_helper::printed_key, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, PSTAT_BT_NUM_INSERTS, btree_insert_helper::purpose, btree_delete_helper::purpose, btid_int::sys_btid, btree_insert_helper::time_track, btid_int::unique_pk, btree_insert_helper::unique_stats_info, and X_LOCK.
Referenced by btree_insert(), btree_mvcc_delete(), btree_physical_delete(), and btree_undo_delete_physical().
|
static |
Definition at line 21119 of file btree.c.
References assert, assert_release, BTREE_INSERT_CLASS_OID, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_INSID, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OVERFLOW_NODE, btree_record_add_delid(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_INSERT_DELID, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_REDO_SET_DEBUG_INFO, btree_rv_save_keyval_for_undo(), BTREE_RV_SET_OVERFLOW_NODE, BTREE_RV_SET_UNDO_MVCCDEL_MYOBJ, db_private_free_and_init, btree_mvcc_info::delete_mvccid, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, IO_MAX_PAGE_SIZE, recdes::length, log_append_postpone(), log_append_undoredo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NULL, btree_insert_helper::obj_info, log_data_addr::offset, pgbuf_get_lsa(), pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_DELETE_OBJECT_POSTPONE, RVBT_MARK_DELETED, RVBT_MVCC_DELETE_OBJECT, SP_SUCCESS, spage_update(), btid_int::sys_btid, log_data_addr::vfid, and btid::vfid.
Referenced by btree_key_insert_delete_mvccid().
|
static |
Definition at line 3849 of file btree.c.
References assert, btree_check_valid_record(), BTREE_GET_OID, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, BTREE_OBJECT_FIXED_SIZE, BTREE_OVERFLOW_NODE, btree_pack_object(), CEIL_PTVDIV, recdes::data, recdes::length, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), max, min, btree_object_info::mvcc_info, NULL, btree_object_info::oid, OID_EQ, OID_GT, and RECORD_MOVE_DATA.
Referenced by btree_key_append_object_to_overflow(), and btree_record_replace_object().
STATIC_INLINE void btree_insert_sysop_end | ( | THREAD_ENTRY * | thread_p, |
BTREE_INSERT_HELPER * | helper | ||
) |
Definition at line 33021 of file btree.c.
References assert, assert_release, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, btree_insert_helper::compensate_undo_nxlsa, btree_insert_helper::is_system_op_started, btree_insert_helper::leaf_addr, log_sysop_abort(), log_sysop_commit(), log_sysop_end_logical_compensate(), log_sysop_end_logical_undo(), btree_insert_helper::purpose, btree_insert_helper::rcvindex, btree_insert_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, RV_NOT_DEFINED, RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE, RVBT_ONLINE_INDEX_UNDO_TRAN_INSERT, STATIC_INLINE, and log_data_addr::vfid.
Referenced by btree_key_append_object_as_new_overflow(), and btree_key_insert_new_key().
bool btree_is_btid_online_index | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
BTID * | btid | ||
) |
Definition at line 35329 of file btree.c.
References assert, or_index::btid, BTID_IS_EQUAL, heap_classrepr_free_and_init, heap_classrepr_get(), i, or_index::index_status, or_classrep::indexes, or_classrep::n_indexes, NULL, NULL_REPRID, and OR_ONLINE_INDEX_BUILDING_IN_PROGRESS.
Referenced by logtb_tran_update_stats_online_index_rb().
|
static |
Definition at line 34762 of file btree.c.
References btree_leaf_is_flaged(), BTREE_LEAF_RECORD_CLASS_OID, BTREE_OVERFLOW_NODE, and btid_int::unique_pk.
Referenced by btree_check_valid_record(), btree_key_find_first_visible_row(), btree_online_index_change_state(), btree_record_add_delid(), and btree_record_remove_insid().
|
static |
Definition at line 34853 of file btree.c.
References BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, and BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT.
Referenced by btree_fix_root_for_delete().
|
static |
Definition at line 34874 of file btree.c.
References BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, and BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT.
Referenced by btree_fix_root_for_delete(), btree_key_delete_remove_object(), btree_leaf_record_replace_first_with_last(), btree_leaf_remove_object(), btree_overflow_record_replace_object(), btree_overflow_remove_object(), btree_record_remove_object(), btree_replace_first_oid_with_ovfl_oid(), and btree_rv_log_delete_object().
STATIC_INLINE bool btree_is_fence_key | ( | PAGE_PTR | leaf_page, |
PGSLOTID | slotid | ||
) |
Definition at line 1862 of file btree.c.
References assert, BTREE_LEAF_RECORD_FENCE, BTREE_OID_IS_RECORD_FLAG_SET, DB_PAGESIZE, NULL, spage_slot::offset_to_record, OR_OID_SIZE, or_unpack_oid(), REC_HOME, spage_slot::record_length, spage_slot::record_type, and spage_get_slot().
Referenced by btree_find_next_index_record_holding_current(), btree_find_split_point(), btree_merge_node(), btree_node_mergeable(), btree_range_scan_advance_over_filtered_keys(), and btree_verify_leaf_node().
|
inlinestatic |
Definition at line 34797 of file btree.c.
References BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_OVERFLOW_NODE, and btid_int::unique_pk.
Referenced by btree_online_index_change_state().
|
static |
Definition at line 34804 of file btree.c.
References BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, and BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE.
Referenced by btree_fix_root_for_insert().
|
static |
Definition at line 34840 of file btree.c.
References BTREE_OP_INSERT_MARK_DELETED, and BTREE_OP_INSERT_MVCC_DELID.
|
static |
Definition at line 34823 of file btree.c.
References BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, and BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE.
Referenced by btree_fix_root_for_insert(), btree_insert_internal(), btree_key_append_object_as_new_overflow(), btree_key_append_object_into_ovf(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_insert_new_object(), btree_key_relocate_last_into_ovf(), btree_rv_log_insert_object(), and btree_split_node_and_advance().
|
inlinestatic |
Definition at line 35253 of file btree.c.
References BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, and BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT.
Referenced by btree_fix_root_for_delete(), btree_fix_root_for_insert(), and btree_key_insert_new_key().
|
static |
Definition at line 35373 of file btree.c.
References assert, BTREE_LEAF_NODE, BTREE_OVERFLOW_NODE, and recdes::length.
Referenced by btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), and btree_key_online_index_tran_insert_DF().
bool btree_is_unique_type | ( | BTREE_TYPE | type | ) |
Definition at line 6046 of file btree.c.
References BTREE_PRIMARY_KEY, BTREE_REVERSE_UNIQUE, and BTREE_UNIQUE.
Referenced by heap_attrinfo_check_unique_index(), logtb_create_unique_stats_from_repr(), partition_load_aggregate_helper(), qexec_execute_build_indexes(), qexec_oid_of_duplicate_key_update(), and qexec_remove_duplicates_for_replace().
|
static |
Definition at line 19183 of file btree.c.
References ARG_FILE_LINE, assert_release, btree_scan::cur_key, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), regu_variable_node::regu_data_value::funcp, key_range::key1, key_range::key2, NO_ERROR, NULL, function_node::operand, pr_clear_value(), pr_clone_value(), index_skip_scan::skipped_range, TYPE_DBVAL, regu_variable_node::value, and regu_variable_list_node::value.
Referenced by btree_range_scan_select_visible_oids().
|
static |
Definition at line 10770 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, btree_insert_sysop_end(), btree_is_insert_object_purpose(), btree_leaf_record_change_overflow_link(), BTREE_MAX_ALIGN, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_INS_NEW_OVF, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_UNDOREDO_SET_DEBUG_INFO, btree_start_overflow_page(), DONT_FREE, ER_FAILED, error(), FREE, btree_insert_helper::is_system_op_started, btree_insert_helper::leaf_addr, recdes::length, log_append_undoredo_data(), log_check_system_op_is_started(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, log_sysop_abort(), log_sysop_start(), LSA_COPY(), NO_ERROR, NULL, pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), PGBUF_PAGE_STATE_ARGS, PGBUF_PAGE_STATE_MSG, pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_insert_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_UNDOREDO, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), and btid_int::sys_btid.
Referenced by btree_key_append_object_into_ovf().
|
static |
Definition at line 28401 of file btree.c.
References assert, ASSERT_ERROR, btree_find_free_overflow_oids_page(), btree_is_insert_object_purpose(), btree_key_append_object_as_new_overflow(), btree_key_append_object_to_overflow(), BTREE_KEY_FOUND, BTREE_SET_CREATED_OVERFLOW_PAGE_NOTIFICATION, btree_object_info::class_oid, btree_insert_helper::insert_list, btree_insert_list::m_ovf_appends, btree_insert_list::m_ovf_appends_new_page, NO_ERROR, NULL, btree_object_info::oid, OID_ISNULL, leaf_rec::ovfl, pgbuf_unfix_and_init, btree_insert_helper::purpose, btree_search_key_helper::result, btid_int::sys_btid, and btid_int::topclass_oid.
Referenced by btree_key_append_object_non_unique(), and btree_key_relocate_last_into_ovf().
|
static |
Definition at line 28020 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, btree_is_insert_object_purpose(), BTREE_IS_UNIQUE, btree_key_append_object_into_ovf(), BTREE_LEAF_NODE, BTREE_MAX_OIDCOUNT_IN_LEAF_RECORD, BTREE_MVCC_INFO_SET_FIXED_SIZE, btree_node_number_of_keys(), btree_record_append_object(), btree_record_get_num_oids(), BTREE_RV_DEBUG_ID_NON_UNIQUE, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_insert_object(), BTREE_RV_REDO_SET_DEBUG_INFO, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_insert_helper::leaf_addr, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NULL, pgbuf_get_lsa(), pgbuf_set_dirty(), btree_insert_helper::purpose, btree_insert_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, S_SUCCESS, btree_search_key_helper::slotid, spage_update(), btid_int::sys_btid, and btid_int::unique_pk.
Referenced by btree_key_insert_new_object(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
|
static |
Definition at line 10892 of file btree.c.
References recdes::area_size, assert, assert_release, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, btree_insert_object_ordered_by_oid(), btree_is_insert_object_purpose(), BTREE_MAX_ALIGN, BTREE_MVCC_INFO_SET_FIXED_SIZE, BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_INS_OLD_OVF, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_insert_object(), BTREE_RV_SET_OVERFLOW_NODE, BTREE_RV_UNDOREDO_SET_DEBUG_INFO, COPY, recdes::data, DB_PAGESIZE, DONT_FREE, ER_FAILED, IO_MAX_PAGE_SIZE, btree_insert_helper::is_system_op_started, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NULL, log_data_addr::offset, pgbuf_get_lsa(), pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, REC_HOME, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, S_SUCCESS, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, recdes::type, log_data_addr::vfid, and btid::vfid.
Referenced by btree_key_append_object_into_ovf().
|
static |
Definition at line 28135 of file btree.c.
References assert, ASSERT_ERROR, assert_release, BTREE_INSERT_CLASS_OID, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, btree_is_insert_object_purpose(), BTREE_IS_UNIQUE, BTREE_KEY_FOUND, btree_key_relocate_last_into_ovf(), btree_leaf_change_first_object(), BTREE_LEAF_NODE, BTREE_MAX_OIDCOUNT_IN_LEAF_RECORD, BTREE_MVCC_INFO_SET_FIXED_SIZE, BTREE_OBJINFO_AS_ARGS, BTREE_OBJINFO_MSG, btree_record_append_object(), btree_record_get_num_oids(), BTREE_RV_DEBUG_ID_UNIQUE, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_REDO_SET_DEBUG_INFO, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_insert_helper::leaf_addr, recdes::length, log_append_undoredo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NULL, log_data_addr::offset, btree_object_info::oid, OID_ISNULL, pgbuf_get_lsa(), pgbuf_set_dirty(), log_data_addr::pgptr, btree_insert_helper::purpose, btree_insert_helper::rcvindex, btree_search_key_helper::result, btree_insert_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, RVBT_MVCC_INSERT_OBJECT, RVBT_MVCC_INSERT_OBJECT_UNQ, RVBT_NON_MVCC_INSERT_OBJECT, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), btid_int::sys_btid, and btid_int::unique_pk.
Referenced by btree_key_lock_and_append_object_unique().
|
static |
Definition at line 30584 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_locking_for_delete_unique(), BTREE_DELETE_CLASS_OID, BTREE_DELETE_HELPER_AS_ARGS, BTREE_DELETE_HELPER_MSG, btree_delete_log, BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, btree_find_oid_and_its_page(), btree_get_num_visible_from_leaf_and_ovf(), btree_is_delete_object_purpose(), BTREE_IS_UNIQUE, BTREE_KEY_FOUND, btree_key_remove_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_multicol_key_is_null(), BTREE_MVCC_INFO_INSID, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OVERFLOW_NODE, btree_perf_track_time(), btree_perf_track_traverse_time(), btree_read_record(), BTREE_RV_BUFFER_SIZE, btree_rv_save_keyval_for_undo(), btree_set_unknown_key_error(), btree_delete_helper::check_key_deleted, COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, db_private_free_and_init, ER_BTREE_UNKNOWN_KEY, ER_FAILED, IO_MAX_PAGE_SIZE, btree_delete_helper::is_key_deleted, btree_delete_helper::leaf_addr, log_is_in_crash_recovery(), logtb_find_current_mvccid(), btree_delete_helper::match_mvccinfo, MULTI_ROW_UPDATE, mvcc_satisfies_dirty(), NO_ERROR, NOT_FOUND, NULL, btree_delete_helper::object_info, log_data_addr::offset, btree_object_info::oid, OID_ISNULL, btree_delete_helper::op_type, db_identifier::pageid, PEEK, PEEK_KEY_VALUE, pgbuf_get_latch_mode(), PGBUF_LATCH_WRITE, pgbuf_unfix_and_init, log_data_addr::pgptr, btree_delete_helper::printed_key, PTR_ALIGN, btree_delete_helper::purpose, btree_search_key_helper::result, btree_delete_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data_length, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, S_SUCCESS, btree_search_key_helper::slotid, db_identifier::slotid, mvcc_snapshot::snapshot_fnc, spage_get_record(), btid_int::sys_btid, btid_int::unique_pk, VACUUM_ER_LOG_BTREE, vacuum_er_log_warning, VACUUM_ER_LOG_WORKER, log_data_addr::vfid, btid::vfid, and db_identifier::volid.
Referenced by btree_delete_internal().
|
static |
Definition at line 28493 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_valid_record(), btree_find_oid_and_its_page(), btree_get_num_visible_from_leaf_and_ovf(), BTREE_INSERT_CLASS_OID, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, BTREE_IS_UNIQUE, BTREE_KEY_FOUND, btree_key_insert_delete_mvccid(), btree_key_record_check_no_visible(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_multicol_key_is_null(), BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, BTREE_MVCC_INFO_SET_INSID, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, btree_perf_track_time(), btree_perf_track_traverse_time(), btree_read_record(), btree_set_unknown_key_error(), COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, ER_BTREE_UNKNOWN_KEY, ER_FAILED, btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, btree_insert_helper::is_ha_enabled, btree_insert_helper::is_unique_key_added_or_deleted, btree_insert_helper::is_unique_multi_update, mvcc_satisfies_dirty(), NO_ERROR, NOT_FOUND, NULL, oid_is_db_class(), PEEK_KEY_VALUE, pgbuf_unfix_and_init, PTR_ALIGN, btree_insert_helper::purpose, REC_HOME, btree_search_key_helper::result, S_SUCCESS, btree_search_key_helper::slotid, mvcc_snapshot::snapshot_fnc, spage_get_record(), btid_int::sys_btid, recdes::type, and btid_int::unique_pk.
Referenced by btree_insert_internal().
|
static |
Definition at line 22955 of file btree.c.
References BTREE_IS_UNIQUE, btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), and btid_int::unique_pk.
Referenced by xbtree_find_unique().
|
static |
Definition at line 23213 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_get_next_overflow_vpid(), BTREE_IS_PAGE_VALID_LEAF, BTREE_IS_UNIQUE, BTREE_KEY_BETWEEN, BTREE_KEY_BIGGER, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, BTREE_KEY_SMALLER, btree_leaf_is_key_between_min_max(), BTREE_LEAF_NODE, btree_multicol_key_is_null(), BTREE_MVCC_INFO_INITIALIZER, btree_mvcc_info_to_heap_mvcc_header(), btree_or_get_object(), BTREE_OVERFLOW_NODE, btree_perf_ovf_oids_fix_time(), btree_perf_unique_lock_time(), btree_read_record(), BTREE_RECORD_OR_BUF_INIT, btree_search_leaf_page(), COPY_OID, DB_IS_NULL, DELETE_RECORD_CAN_DELETE, DELETE_RECORD_DELETE_IN_PROGRESS, DELETE_RECORD_DELETED, DELETE_RECORD_INSERT_IN_PROGRESS, DELETE_RECORD_SELF_DELETED, or_buf::endptr, ER_FAILED, error(), btree_find_unique_helper::found_object, LK_COND_LOCK, LK_GRANTED, LK_UNCOND_LOCK, lock_has_lock_on_object(), btree_find_unique_helper::lock_mode, lock_object(), lock_unlock_object_donot_move_to_non2pl(), LSA_COPY(), LSA_EQ(), btree_find_unique_helper::match_class_oid, MVCC_REC_HEADER_INITIALIZER, mvcc_satisfies_delete(), NO_ERROR, NULL, btree_find_unique_helper::oid, OID_EQ, OID_ISNULL, OID_SET_NULL, OLD_PAGE, leaf_rec::ovfl, PEEK, PEEK_KEY_VALUE, pgbuf_fix, pgbuf_fix_if_not_deallocated, pgbuf_get_latch_mode(), pgbuf_get_lsa(), pgbuf_get_vpid(), PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, PSTAT_BT_FIND_UNIQUE, PSTAT_BT_FIND_UNIQUE_TRAVERSE, PSTAT_BT_LEAF, PSTAT_BT_TRAVERSE, or_buf::ptr, btree_search_key_helper::result, S_LOCK, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), btree_find_unique_helper::time_track, btid_int::unique_pk, VPID_COPY, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by btree_key_find_and_lock_unique().
|
static |
Definition at line 22983 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, assert_release, BTREE_IS_UNIQUE, BTREE_KEY_BETWEEN, BTREE_KEY_FOUND, btree_leaf_get_first_object(), BTREE_MVCC_INFO_INITIALIZER, btree_mvcc_info_to_heap_mvcc_header(), COPY_OID, DELETE_RECORD_CAN_DELETE, DELETE_RECORD_DELETE_IN_PROGRESS, DELETE_RECORD_DELETED, DELETE_RECORD_INSERT_IN_PROGRESS, DELETE_RECORD_SELF_DELETED, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, er_set(), btree_find_unique_helper::found_object, lock_has_lock_on_object(), btree_find_unique_helper::lock_mode, lock_unlock_object_donot_move_to_non2pl(), btree_find_unique_helper::match_class_oid, MVCC_REC_HEADER_INITIALIZER, mvcc_satisfies_delete(), NO_ERROR, NULL, btree_find_unique_helper::oid, OID_EQ, OID_ISNULL, OID_SET_NULL, PEEK, PSTAT_BT_FIND_UNIQUE, PSTAT_BT_FIND_UNIQUE_TRAVERSE, PSTAT_BT_LEAF, PSTAT_BT_TRAVERSE, btree_search_key_helper::result, S_LOCK, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), btree_find_unique_helper::time_track, and btid_int::unique_pk.
Referenced by btree_key_find_and_lock_unique(), and btree_key_lock_and_append_object_unique().
|
static |
Definition at line 21003 of file btree.c.
References assert, BTREE_ACTIVE_KEY_FOUND, BTREE_ERROR_OCCURRED, btree_is_class_oid_packed(), BTREE_IS_UNIQUE, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_mvcc_info_to_heap_mvcc_header(), BTREE_OID_CLEAR_ALL_FLAGS, btree_or_get_mvccinfo(), btree_record_object_get_mvcc_flags(), COPY_OID, recdes::data, DB_ALIGN, DISK_VPID_SIZE, or_buf::endptr, error(), mvcc_snapshot::highest_completed_mvccid, INT_ALIGNMENT, recdes::length, mvcc_snapshot::lowest_active_mvccid, mvcc_satisfies_dirty(), MVCCID_IS_VALID, NO_ERROR, NULL, OID_SET_NULL, or_get_oid(), or_init(), or_seek(), or_buf::ptr, mvcc_snapshot::snapshot_fnc, SNAPSHOT_SATISFIED, btid_int::topclass_oid, and btid_int::unique_pk.
Referenced by btree_get_next_key_info(), and btree_key_find_first_visible_row_from_all_ovf().
|
static |
Definition at line 22284 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, BTREE_ERROR_OCCURRED, btree_get_next_overflow_vpid(), btree_key_find_first_visible_row(), BTREE_KEY_NOTFOUND, BTREE_MAX_ALIGN, BTREE_OVERFLOW_NODE, COPY, recdes::data, DB_PAGESIZE, error(), IO_MAX_PAGE_SIZE, recdes::length, NULL, OLD_PAGE, PAGE_BTREE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, PTR_ALIGN, S_SUCCESS, spage_get_record(), and VPID_ISNULL.
Referenced by btree_get_next_key_info().
|
static |
Definition at line 22848 of file btree.c.
References assert, ASSERT_ERROR, assert_release, BTREE_KEY_FOUND, btree_key_process_objects(), BTREE_LEAF_NODE, btree_read_record(), BTREE_REC_SATISFIES_SNAPSHOT_HELPER_INITIALIZER, btree_record_satisfies_snapshot(), COPY_OID, ER_FAILED, btree_find_unique_helper::found_object, btree_find_unique_helper::match_class_oid, btree_rec_satisfies_snapshot_helper::match_class_oid, NO_ERROR, NULL, btree_find_unique_helper::oid, btree_rec_satisfies_snapshot_helper::oid_capacity, btree_rec_satisfies_snapshot_helper::oid_cnt, OID_INITIALIZER, OID_ISNULL, btree_rec_satisfies_snapshot_helper::oid_ptr, PEEK, PEEK_KEY_VALUE, PSTAT_BT_FIND_UNIQUE, PSTAT_BT_FIND_UNIQUE_TRAVERSE, PSTAT_BT_LEAF, PSTAT_BT_TRAVERSE, btree_search_key_helper::result, S_SUCCESS, btree_search_key_helper::slotid, btree_find_unique_helper::snapshot, btree_rec_satisfies_snapshot_helper::snapshot, spage_get_record(), and btree_find_unique_helper::time_track.
Referenced by xbtree_find_unique().
|
static |
Definition at line 28647 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_insert_mvcc_delid_into_page(), BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_OVERFLOW_NODE, COPY, recdes::data, DB_PAGESIZE, ER_FAILED, IO_MAX_PAGE_SIZE, MULTI_ROW_UPDATE, NO_ERROR, btree_insert_helper::op_type, PTR_ALIGN, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), and btid_int::unique_pk.
Referenced by btree_key_find_and_insert_delete_mvccid().
|
static |
Definition at line 27625 of file btree.c.
References assert, btree_get_node_level(), BTREE_KEY_FOUND, BTREE_LEAF_NODE, BTREE_NEW_ENTRY_MAX_SIZE, BTREE_OBJECT_MAX_SIZE, btree_insert_helper::key_len_in_page, NULL, btree_search_key_helper::result, spage_get_free_space_without_saving(), and spage_max_space_for_new_record().
Referenced by btree_key_lock_and_append_object_unique(), and btree_key_online_index_tran_delete().
|
static |
Definition at line 27395 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_locking_for_insert_unique(), btree_check_valid_record(), BTREE_DEBUG_DUMP_SIMPLE, btree_get_disk_size_of_key(), BTREE_GET_KEY_LEN_IN_PAGE, btree_get_node_header(), btree_get_node_level(), BTREE_INSERT_CLASS_OID, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, btree_insert_sysop_end(), btree_is_online_index_loading(), BTREE_IS_UNIQUE, BTREE_KEY_FOUND, BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MAX_KEYLEN_INPAGE, btree_multicol_key_is_null(), btree_node_common_prefix(), btree_node_number_of_keys(), BTREE_NORMAL_KEY, BTREE_OVERFLOW_KEY, BTREE_RV_DEBUG_ID_INS_KEY, btree_rv_log_insert_object(), BTREE_RV_REDO_SET_DEBUG_INFO, BTREE_RV_SET_UPDATE_MAX_KEY_LEN, btree_split_next_pivot(), btree_verify_node(), btree_write_record(), CAST_BUFLEN, recdes::data, DB_IS_NULL, db_make_null(), DB_PAGESIZE, db_value_print(), DISK_VPID_ALIGNED_SIZE, DONT_FREE, ER_FAILED, error(), FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, IO_MAX_PAGE_SIZE, btree_insert_helper::is_system_op_started, btree_insert_helper::is_unique_key_added_or_deleted, btree_insert_helper::leaf_addr, recdes::length, log_is_in_crash_recovery(), btree_insert_helper::log_operations, LOG_RV_RECORD_INSERT, LOG_RV_RECORD_SET_MODIFY_MODE(), log_sysop_abort(), log_sysop_start(), LSA_COPY(), MAX_ALIGNMENT, btree_node_header::max_key_len, NO_ERROR, NULL, log_data_addr::offset, OR_BUF_INIT, or_get_int(), or_get_short(), or_pack_int(), vpid::pageid, pgbuf_get_latch_mode(), pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), btree_node_split_info::pivot, pr_clear_value(), pr_clone_value(), pr_midxkey_remove_prefix(), prm_get_integer_value(), PRM_ID_ER_BTREE_DEBUG, PTR_ALIGN, btree_insert_helper::purpose, rc, REC_HOME, btree_search_key_helper::result, btree_insert_helper::rv_redo_data, btree_delete_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, btree_delete_helper::rv_redo_data_ptr, btree_search_key_helper::slotid, SP_SUCCESS, spage_insert_at(), btree_node_header::split_info, btid_int::sys_btid, recdes::type, btid_int::unique_pk, vpid::volid, VPID_AS_ARGS, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
|
static |
Definition at line 27213 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_valid_record(), BTREE_INSERT_CLASS_OID, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, btree_is_insert_object_purpose(), BTREE_IS_UNIQUE, btree_key_append_object_non_unique(), BTREE_KEY_FOUND, btree_key_insert_new_key(), btree_key_lock_and_append_object_unique(), btree_key_record_check_no_visible(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_multicol_key_is_null(), BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, btree_node_number_of_keys(), BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, btree_perf_track_time(), btree_perf_track_traverse_time(), btree_read_record(), BTREE_RV_BUFFER_SIZE, btree_rv_save_keyval_for_undo(), btree_verify_node(), COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, db_private_free_and_init, ER_FAILED, error(), IO_MAX_PAGE_SIZE, btree_insert_helper::leaf_addr, NO_ERROR, NULL, btree_insert_helper::obj_info, log_data_addr::offset, oid_is_db_class(), PEEK_KEY_VALUE, pgbuf_get_latch_mode(), PGBUF_LATCH_WRITE, log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_insert_helper::rcvindex, REC_HOME, btree_search_key_helper::result, btree_insert_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, RVBT_MVCC_INSERT_OBJECT, RVBT_NON_MVCC_INSERT_OBJECT, RVBT_RECORD_MODIFY_COMPENSATE, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), btid_int::sys_btid, recdes::type, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_insert_internal().
|
static |
Definition at line 27665 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, assert_release, btree_check_locking_for_insert_unique(), btree_check_valid_record(), BTREE_FIND_UNIQUE_HELPER_INITIALIZER, btree_get_num_visible_from_leaf_and_ovf(), BTREE_INSERT_CLASS_OID, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, BTREE_IS_UNIQUE, btree_key_append_object_unique(), btree_key_find_and_lock_unique_of_unique(), BTREE_KEY_FOUND, btree_key_insert_does_leaf_need_split(), btree_key_insert_new_key(), btree_leaf_get_first_object(), BTREE_LEAF_NODE, BTREE_MVCC_INFO_DELID, BTREE_MVCC_INFO_INSID, btree_node_number_of_keys(), BTREE_OP_INSERT_NEW_OBJECT, btree_read_record(), btree_rv_save_keyval_for_undo_two_objects(), BTREE_SET_UNIQUE_VIOLATION_ERROR, btree_object_info::class_oid, COPY, COPY_OID, db_private_free, ER_BTREE_UNIQUE_FAILED, ER_ERROR_SEVERITY, ER_FAILED, ER_REPL_MULTI_UPDATE_UNIQUE_VIOLATION, er_set(), ER_UNIQUE_VIOLATION_WITHKEY, btree_find_unique_helper::found_object, IO_MAX_PAGE_SIZE, btree_insert_helper::is_ha_enabled, btree_insert_helper::is_unique_key_added_or_deleted, btree_insert_helper::is_unique_multi_update, btree_insert_helper::leaf_addr, btree_find_unique_helper::lock_mode, log_is_in_crash_recovery(), logtb_find_current_isolation(), logtb_get_mvcc_snapshot(), LSA_COPY(), LSA_EQ(), btree_object_info::mvcc_info, mvcc_satisfies_dirty(), NO_ERROR, NULL, btree_insert_helper::obj_info, log_data_addr::offset, btree_object_info::oid, OID_SET_NULL, PEEK_KEY_VALUE, pgbuf_get_lsa(), log_data_addr::pgptr, pr_valstring(), prm_get_bool_value(), PRM_ID_UNIQUE_ERROR_KEY_VALUE, btree_insert_helper::purpose, btree_insert_helper::rcvindex, btree_search_key_helper::result, btree_insert_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, RVBT_MVCC_INSERT_OBJECT, RVBT_MVCC_INSERT_OBJECT_UNQ, S_SUCCESS, btree_search_key_helper::slotid, mvcc_snapshot::snapshot_fnc, spage_get_record(), btid_int::sys_btid, TRAN_REPEATABLE_READ, btid_int::unique_pk, and X_LOCK.
Referenced by btree_key_insert_new_object().
|
static |
Definition at line 33648 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_find_oid_with_page_and_record(), btree_insert_helper_to_delete_helper(), btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, btree_is_single_object_key(), BTREE_IS_UNIQUE, btree_key_append_object_non_unique(), BTREE_KEY_FOUND, btree_key_insert_new_key(), btree_key_remove_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_INITIALIZER, btree_online_index_change_state(), btree_online_index_check_state(), btree_online_index_is_delete_flag_state(), btree_online_index_is_insert_flag_state(), btree_online_index_set_normal_state(), BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OVERFLOW_NODE, btree_read_record(), BTREE_RV_BUFFER_SIZE, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_SET_OVERFLOW_NODE, COPY, recdes::data, btree_helper::delete_helper, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_helper::insert_helper, btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, btree_insert_helper::leaf_addr, recdes::length, log_append_redo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, logtb_tran_update_unique_stats(), LSA_COPY(), NO_ERROR, NOT_FOUND, NULL, btree_insert_helper::obj_info, log_data_addr::offset, btree_object_info::oid, btree_delete_helper::op_type, PEEK_KEY_VALUE, pgbuf_get_lsa(), pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_delete_helper::purpose, btree_search_key_helper::result, btree_delete_helper::rv_keyval_data, btree_insert_helper::rv_redo_data, btree_delete_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_NO_UNDO, S_SUCCESS, SINGLE_ROW_DELETE, btree_search_key_helper::slotid, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_key_online_index_IB_insert_list().
|
static |
Definition at line 33460 of file btree.c.
References assert, ASSERT_ERROR, btree_compare_key(), BTREE_ERROR_OCCURRED, btree_get_disk_size_of_key(), btree_get_max_new_data_size(), btree_get_node_header(), BTREE_INSERT_OID, BTREE_KEY_BETWEEN, BTREE_KEY_BIGGER, BTREE_KEY_FOUND, btree_key_online_index_IB_insert(), BTREE_KEY_SMALLER, btree_leaf_is_key_between_min_max(), BTREE_LEAF_NODE, BTREE_OP_ONLINE_INDEX_IB_INSERT, btree_search_leaf_page(), btree_insert_list::check_release_latch(), COPY_OID, DB_EQ, DB_LT, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, btree_insert_list::get_key(), btree_insert_list::get_oid(), btree_search_key_helper::HAS_FENCE_KEY, btree_search_key_helper::has_fence_key, btree_helper::insert_helper, btree_insert_helper::insert_list, btree_insert_list::KEY_AVAILABLE, btid_int::key_type, btree_insert_list::m_boundaries, page_key_boundary::m_is_inf_left_key, page_key_boundary::m_is_inf_right_key, btree_insert_list::m_keep_page_iterations, btree_insert_list::m_key_type, btree_insert_list::m_keys_oids, page_key_boundary::m_left_key, btree_insert_list::m_ovf_appends, btree_insert_list::m_ovf_appends_new_page, page_key_boundary::m_right_key, btree_node_header::max_key_len, btree_insert_list::next_key(), btree_node_header::next_vpid, NO_ERROR, NULL, perfmon_inc_stat(), btree_node_header::prev_vpid, PSTAT_BT_ONLINE_INSERT_LEAF, PSTAT_BT_ONLINE_NUM_INSERTS, PSTAT_BT_ONLINE_NUM_INSERTS_SAME_PAGE_HOLD, PSTAT_BT_ONLINE_NUM_RETRY, PSTAT_BT_ONLINE_NUM_RETRY_NICE, btree_insert_helper::purpose, btree_insert_list::reset_boundary_keys(), btree_search_key_helper::result, spage_get_free_space_without_saving(), and VPID_ISNULL.
Referenced by btree_online_index_list_dispatcher().
|
static |
Definition at line 34102 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, BTREE_DELETE_CLASS_OID, btree_delete_helper_to_insert_helper(), btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, btree_find_oid_with_page_and_record(), btree_get_disk_size_of_key(), BTREE_GET_KEY_LEN_IN_PAGE, btree_is_single_object_key(), BTREE_IS_UNIQUE, btree_key_append_object_non_unique(), BTREE_KEY_FOUND, btree_key_insert_does_leaf_need_split(), btree_key_insert_new_key(), BTREE_KEY_NOTFOUND, btree_key_remove_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MAX_KEYLEN_INPAGE, BTREE_MVCC_INFO_INITIALIZER, BTREE_OID_HAS_MVCC_INSID, btree_online_index_change_state(), btree_online_index_check_state(), btree_online_index_is_insert_flag_state(), btree_online_index_is_normal_state(), btree_online_index_set_delete_flag_state(), BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OVERFLOW_NODE, btree_read_record(), BTREE_RV_BUFFER_SIZE, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_delete_object(), btree_rv_save_keyval_for_undo(), BTREE_RV_SET_OVERFLOW_NODE, COPY, recdes::data, db_private_free_and_init, btree_helper::delete_helper, DONT_FREE, ER_FAILED, btree_mvcc_info::flags, btree_helper::insert_helper, btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, btree_insert_helper::key_len_in_page, btree_delete_helper::leaf_addr, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, logtb_tran_update_unique_stats(), LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NOT_FOUND, NULL, btree_insert_helper::obj_info, btree_delete_helper::object_info, log_data_addr::offset, btree_object_info::oid, btree_insert_helper::op_type, btid_int::ovfid, PEEK_KEY_VALUE, pgbuf_get_lsa(), pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_delete_helper::purpose, btree_search_key_helper::result, btree_insert_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_delete_helper::rv_keyval_data_length, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, S_SUCCESS, SINGLE_ROW_INSERT, btree_search_key_helper::slotid, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, btid_int::unique_pk, log_data_addr::vfid, btid::vfid, and VFID_ISNULL.
Referenced by btree_online_index_list_dispatcher().
|
static |
Definition at line 33875 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_find_oid_with_page_and_record(), BTREE_INSERT_CLASS_OID, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, BTREE_IS_UNIQUE, btree_key_append_object_non_unique(), BTREE_KEY_FOUND, btree_key_insert_new_key(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_INITIALIZER, btree_online_index_change_state(), btree_online_index_check_state(), btree_online_index_is_delete_flag_state(), btree_online_index_set_insert_flag_state(), BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OVERFLOW_NODE, btree_read_record(), BTREE_RV_BUFFER_SIZE, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_insert_object(), btree_rv_save_keyval_for_undo(), BTREE_RV_SET_OVERFLOW_NODE, COPY, recdes::data, db_private_free_and_init, DONT_FREE, ER_FAILED, btree_helper::insert_helper, btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, btree_insert_helper::leaf_addr, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, logtb_tran_update_unique_stats(), LSA_COPY(), NO_ERROR, NOT_FOUND, NULL, btree_insert_helper::obj_info, log_data_addr::offset, btree_object_info::oid, PEEK_KEY_VALUE, pgbuf_get_lsa(), pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_search_key_helper::result, btree_insert_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_delete_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, btree_delete_helper::rv_redo_data_ptr, S_SUCCESS, btree_search_key_helper::slotid, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_online_index_list_dispatcher().
|
static |
Definition at line 34412 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_find_oid_with_page_and_record(), BTREE_INSERT_CLASS_OID, btree_insert_helper_to_delete_helper(), btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, BTREE_INSERT_MVCC_INFO, BTREE_INSERT_OID, btree_is_single_object_key(), BTREE_IS_UNIQUE, btree_key_append_object_non_unique(), BTREE_KEY_FOUND, btree_key_insert_new_key(), btree_key_remove_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_INITIALIZER, BTREE_OID_HAS_MVCC_INSID, btree_online_index_change_state(), btree_online_index_is_delete_flag_state(), btree_online_index_is_insert_flag_state(), btree_online_index_is_normal_state(), btree_online_index_set_delete_flag_state(), BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OVERFLOW_NODE, btree_read_record(), BTREE_RV_BUFFER_SIZE, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_insert_object(), btree_rv_save_keyval_for_undo(), BTREE_RV_SET_OVERFLOW_NODE, COPY, recdes::data, db_private_free_and_init, btree_helper::delete_helper, DONT_FREE, ER_FAILED, btree_mvcc_info::flags, btree_helper::insert_helper, btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, btree_insert_helper::leaf_addr, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, logtb_tran_update_unique_stats(), LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NOT_FOUND, NULL, btree_insert_helper::obj_info, log_data_addr::offset, btree_object_info::oid, btree_delete_helper::op_type, PEEK_KEY_VALUE, pgbuf_get_lsa(), pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_delete_helper::purpose, btree_search_key_helper::result, btree_insert_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, btree_delete_helper::rv_keyval_data_length, btree_insert_helper::rv_redo_data, btree_delete_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, btree_delete_helper::rv_redo_data_ptr, S_SUCCESS, SINGLE_ROW_DELETE, btree_search_key_helper::slotid, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_online_index_list_dispatcher().
|
static |
Definition at line 23802 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_get_next_overflow_vpid(), BTREE_LEAF_NODE, BTREE_OVERFLOW_NODE, btree_perf_ovf_oids_fix_time(), btree_record_process_objects(), er_errid(), ER_FAILED, NO_ERROR, NULL, OLD_PAGE, leaf_rec::ovfl, PEEK, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, S_SUCCESS, spage_get_record(), VPID_COPY, and VPID_ISNULL.
Referenced by btree_key_find_unique_version_oid().
|
static |
Definition at line 28712 of file btree.c.
References assert, btree_get_num_visible_from_leaf_and_ovf(), BTREE_LEAF_NODE, btree_read_record(), mvcc_satisfies_dirty(), NO_ERROR, NULL, PEEK, PEEK_KEY_VALUE, S_SUCCESS, mvcc_snapshot::snapshot_fnc, and spage_get_record().
Referenced by btree_key_find_and_insert_delete_mvccid(), and btree_key_insert_new_object().
|
static |
Definition at line 28249 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_insert_log, BTREE_INSERT_MODIFY_ARGS, BTREE_INSERT_MODIFY_MSG, btree_is_insert_object_purpose(), BTREE_IS_UNIQUE, btree_key_append_object_into_ovf(), BTREE_KEY_FOUND, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_MAX_ALIGN, BTREE_MAX_OIDCOUNT_IN_LEAF_RECORD, BTREE_OBJINFO_AS_ARGS, BTREE_OBJINFO_MSG, btree_read_record(), btree_record_get_last_object(), btree_record_get_num_oids(), btree_record_remove_last_object(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_INS_REM_LEAF_LAST, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_UNDOREDO_SET_DEBUG_INFO, btree_object_info::class_oid, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_insert_helper::is_system_op_started, btree_insert_helper::leaf_addr, recdes::length, log_append_undoredo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), LSA_COPY(), LSA_INITIALIZER, btree_object_info::mvcc_info, NO_ERROR, NULL, log_data_addr::offset, btree_object_info::oid, leaf_rec::ovfl, PEEK_KEY_VALUE, pgbuf_get_lsa(), pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_insert_helper::purpose, btree_search_key_helper::result, btree_insert_helper::rv_redo_data, btree_insert_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_UNDOREDO, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), btid_int::sys_btid, btid_int::unique_pk, and VPID_ISNULL.
Referenced by btree_key_append_object_unique().
|
static |
Definition at line 31909 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_valid_record(), BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, btree_find_oid_and_its_page(), BTREE_IS_UNIQUE, BTREE_KEY_FOUND, btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_multicol_key_is_null(), BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OVERFLOW_NODE, btree_perf_track_time(), btree_perf_track_traverse_time(), btree_read_record(), BTREE_RV_BUFFER_SIZE, btree_set_unknown_key_error(), COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, ER_BTREE_UNKNOWN_KEY, ER_FAILED, IO_MAX_PAGE_SIZE, btree_delete_helper::match_mvccinfo, NO_ERROR, NOT_FOUND, NULL, PEEK_KEY_VALUE, pgbuf_get_latch_mode(), PGBUF_LATCH_WRITE, pgbuf_unfix_and_init, PTR_ALIGN, btree_delete_helper::purpose, btree_search_key_helper::result, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), btid_int::sys_btid, and btid_int::unique_pk.
Referenced by btree_delete_internal().
|
static |
Definition at line 32347 of file btree.c.
References assert, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OVERFLOW_NODE, btree_record_remove_delid(), BTREE_RV_DEBUG_ID_REM_DELID_NON_UNIQUE, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_REDO_SET_DEBUG_INFO, BTREE_RV_SET_OVERFLOW_NODE, recdes::data, btree_mvcc_info::delete_mvccid, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, recdes::length, log_append_compensate_with_undo_nxlsa(), LOG_FIND_CURRENT_TDES(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, btree_object_info::mvcc_info, NO_ERROR, NULL, btree_delete_helper::object_info, log_data_addr::offset, pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), pgbuf_set_dirty(), log_data_addr::pgptr, btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_COMPENSATE, SP_SUCCESS, spage_update(), btid_int::sys_btid, TDE_ALGORITHM_NONE, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_key_remove_delete_mvccid().
|
static |
Definition at line 32077 of file btree.c.
References assert, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_DELETE_MVCC_INFO, btree_delete_sysop_end(), BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_HAS_DELID, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OVERFLOW_NODE, btree_remove_delete_mvccid_unique_internal(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_REM_DELID_UNIQUE, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_UNDOREDO_SET_DEBUG_INFO, recdes::data, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_delete_helper::is_system_op_started, btree_delete_helper::leaf_addr, recdes::length, log_append_compensate_with_undo_nxlsa(), log_append_undoredo_data(), LOG_FIND_CURRENT_TDES(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, log_sysop_abort(), log_sysop_start(), LSA_COPY(), NO_ERROR, NULL, log_data_addr::offset, pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_COMPENSATE, RVBT_RECORD_MODIFY_UNDOREDO, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), btid_int::sys_btid, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_key_remove_delete_mvccid().
|
static |
Definition at line 31728 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_valid_record(), BTREE_DELETE_HELPER_AS_ARGS, BTREE_DELETE_HELPER_MSG, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, btree_find_oid_and_its_page(), BTREE_KEY_FOUND, BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_multicol_key_is_null(), BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OVERFLOW_NODE, btree_perf_track_time(), btree_perf_track_traverse_time(), btree_read_record(), btree_record_remove_insid(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_REM_INSID, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_REDO_SET_DEBUG_INFO, BTREE_RV_SET_OVERFLOW_NODE, COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, IO_MAX_PAGE_SIZE, recdes::length, log_append_redo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), btree_delete_helper::match_mvccinfo, NO_ERROR, NOT_FOUND, NULL, btree_delete_helper::object_info, log_data_addr::offset, btree_object_info::oid, db_identifier::pageid, PEEK_KEY_VALUE, pgbuf_get_latch_mode(), pgbuf_get_lsa(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, btree_delete_helper::printed_key, PTR_ALIGN, btree_delete_helper::purpose, btree_search_key_helper::result, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_NO_UNDO, S_SUCCESS, btree_search_key_helper::slotid, db_identifier::slotid, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, VACUUM_ER_LOG_BTREE, vacuum_er_log_warning, VACUUM_ER_LOG_WORKER, VACUUM_IS_THREAD_VACUUM_WORKER, log_data_addr::vfid, btid::vfid, and db_identifier::volid.
Referenced by btree_delete_internal().
|
static |
Definition at line 31389 of file btree.c.
References ASSERT_ERROR, BTREE_LEAF_NODE, btree_leaf_remove_object(), btree_overflow_remove_object(), and NO_ERROR.
Referenced by btree_key_delete_remove_object(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert_DF(), and btree_key_remove_object_and_keep_visible_first().
|
static |
Definition at line 30844 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, btree_delete_sysop_end(), btree_find_oid_and_its_page(), BTREE_IS_UNIQUE, BTREE_KEY_FOUND, btree_key_remove_object(), btree_leaf_change_first_object(), btree_leaf_get_first_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_multicol_key_is_null(), BTREE_MVCC_INFO_DELID, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, BTREE_OBJINFO_AS_ARGS, BTREE_OBJINFO_MSG, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OVERFLOW_NODE, btree_overflow_remove_object(), btree_read_record(), btree_record_remove_object_internal(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_UNDO_INS_UNQ_MUPD, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_REDO_SET_DEBUG_INFO, BTREE_RV_UNDOREDO_SET_DEBUG_INFO, btree_set_unknown_key_error(), btree_object_info::class_oid, COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, ER_BTREE_UNKNOWN_KEY, ER_FAILED, btree_mvcc_info::insert_mvccid, IO_MAX_PAGE_SIZE, btree_delete_helper::is_system_op_started, btree_delete_helper::leaf_addr, recdes::length, log_append_compensate_with_undo_nxlsa(), log_append_undoredo_data(), LOG_FIND_CURRENT_TDES(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, log_sysop_start(), LSA_COPY(), btree_delete_helper::match_mvccinfo, btree_object_info::mvcc_info, NO_ERROR, NOT_FOUND, NULL, log_data_addr::offset, btree_object_info::oid, OID_EQ, PEEK_KEY_VALUE, pgbuf_get_latch_mode(), pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), PGBUF_LATCH_WRITE, pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_search_key_helper::result, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_COMPENSATE, RVBT_RECORD_MODIFY_UNDOREDO, S_SUCCESS, btree_delete_helper::second_object_info, btree_search_key_helper::slotid, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, btid_int::unique_pk, log_data_addr::vfid, and btid::vfid.
Referenced by btree_delete_internal().
DISK_ISVALID btree_keyoid_checkscan_check | ( | THREAD_ENTRY * | thread_p, |
BTREE_CHECKSCAN * | btscan, | ||
OID * | cls_oid, | ||
DB_VALUE * | key, | ||
OID * | oid | ||
) |
Definition at line 8364 of file btree.c.
References assert, ASSERT_ERROR, btree_checkscan::btid, btree_scan::btid_int, BTREE_END_OF_SCAN, BTREE_INIT_SCAN, btree_keyval_search(), btree_checkscan::btree_scan, btree_scan_clear_key(), btree_iscan_oid_list::capacity, db_value::data, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, DISK_ERROR, DISK_INVALID, DISK_VALID, db_midxkey::domain, GE_LE, key_val_range::key1, key_val_range::key2, btid_int::key_type, logtb_get_mvcc_snapshot(), db_data::midxkey, NULL, key_val_range::num_index_term, btree_iscan_oid_list::oid_cnt, OID_EQ, btree_checkscan::oid_list, btree_iscan_oid_list::oidp, pr_is_set_type(), key_val_range::range, S_SELECT, and scan_init_index_scan().
Referenced by locator_add_or_remove_index_internal(), locator_check_btree_entries(), locator_check_unique_btree_entries(), and locator_update_index().
void btree_keyoid_checkscan_end | ( | THREAD_ENTRY * | thread_p, |
BTREE_CHECKSCAN * | btscan | ||
) |
Definition at line 8445 of file btree.c.
References btree_iscan_oid_list::capacity, btree_iscan_oid_list::max_oid_cnt, btree_checkscan::oid_list, btree_iscan_oid_list::oidp, and os_free_and_init.
Referenced by locator_add_or_remove_index_internal(), locator_check_btree_entries(), locator_check_unique_btree_entries(), locator_prefetch_index_page_internal(), and locator_update_index().
int btree_keyoid_checkscan_start | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
BTREE_CHECKSCAN * | btscan | ||
) |
Definition at line 8330 of file btree.c.
References ARG_FILE_LINE, assert, btree_checkscan::btid, BTREE_INIT_SCAN, btree_checkscan::btree_scan, btree_iscan_oid_list::capacity, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ISCAN_OID_BUFFER_CAPACITY, btree_iscan_oid_list::max_oid_cnt, btree_iscan_oid_list::next_list, NO_ERROR, NULL, btree_iscan_oid_list::oid_cnt, btree_checkscan::oid_list, btree_iscan_oid_list::oidp, OR_OID_SIZE, and os_malloc.
Referenced by locator_add_or_remove_index_internal(), locator_check_btree_entries(), locator_check_unique_btree_entries(), locator_prefetch_index_page_internal(), and locator_update_index().
int btree_keyval_search | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
SCAN_OPERATION_TYPE | scan_op_type, | ||
BTREE_SCAN * | bts, | ||
key_val_range * | kv_range, | ||
OID * | class_oid, | ||
FILTER_INFO * | filter, | ||
INDX_SCAN_ID * | isidp, | ||
bool | is_all_class_srch | ||
) |
Definition at line 14751 of file btree.c.
References assert, ASSERT_ERROR, btree_prepare_bts(), btree_range_scan(), btree_range_scan_select_visible_oids(), btree_scan::n_oids_read_last_iteration, indx_scan_id::need_count_only, NO_ERROR, NULL, OID_ISNULL, and rc.
Referenced by btree_keyoid_checkscan_check(), and locator_prefetch_index_page_internal().
void btree_leaf_change_first_object | ( | THREAD_ENTRY * | thread_p, |
RECDES * | recp, | ||
BTID_INT * | btid, | ||
OID * | oidp, | ||
OID * | class_oidp, | ||
BTREE_MVCC_INFO * | mvcc_info, | ||
int * | key_offset, | ||
char ** | rv_undo_data_ptr, | ||
char ** | rv_redo_data_ptr | ||
) |
Definition at line 2798 of file btree.c.
References assert, assert_release, btree_check_valid_record(), BTREE_IS_UNIQUE, btree_leaf_get_flag(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_leaf_set_flag(), BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, BTREE_MVCC_INFO_SET_FIXED_SIZE, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, btree_online_index_is_normal_state(), btree_record_object_is_flagged(), btree_record_object_set_mvcc_flags(), recdes::data, btree_mvcc_info::delete_mvccid, or_buf::endptr, btree_mvcc_info::flags, log_global::hdr, btree_mvcc_info::insert_mvccid, log_Gl, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), MVCC_ID_PRECEDES, log_header::mvcc_next_id, MVCCID_IS_VALID, MVCCID_NULL, NO_ERROR, NULL, OID_EQ, OID_ISNULL, or_init(), OR_MVCCID_SIZE, OR_OID_SIZE, or_put_mvccid(), or_put_oid(), or_buf::ptr, RECORD_MOVE_DATA, btid_int::topclass_oid, and btid_int::unique_pk.
Referenced by btree_construct_leafs(), btree_key_append_object_unique(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_record_replace_object(), btree_remove_delete_mvccid_unique_internal(), and btree_replace_first_oid_with_ovfl_oid().
|
static |
Definition at line 3474 of file btree.c.
References assert, BTREE_LEAF_RECORD_MASK, recdes::data, OR_GET_SHORT, OR_OID_SLOTID, and OR_PUT_SHORT.
Referenced by btree_leaf_record_change_overflow_link().
int btree_leaf_get_first_object | ( | BTID_INT * | btid, |
RECDES * | recp, | ||
OID * | oidp, | ||
OID * | class_oid, | ||
BTREE_MVCC_INFO * | mvcc_info | ||
) |
Definition at line 2429 of file btree.c.
References assert, BTREE_LEAF_NODE, btree_or_get_object(), BTREE_RECORD_OR_BUF_INIT, NO_ERROR, and NULL.
Referenced by btree_construct_leafs(), btree_dump_leaf_record(), btree_key_find_and_lock_unique_of_unique(), btree_key_lock_and_append_object_unique(), btree_key_remove_object_and_keep_visible_first(), btree_remove_delete_mvccid_unique_internal(), btree_replace_first_oid_with_ovfl_oid(), and btree_verify_leaf_node().
|
static |
Definition at line 3376 of file btree.c.
References BTREE_LEAF_RECORD_MASK, recdes::data, OR_GET_SHORT, OR_OID_SLOTID, and STATIC_INLINE.
Referenced by btree_leaf_change_first_object().
|
static |
Definition at line 3133 of file btree.c.
References assert, assert_release, BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS, BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_OBJECT_FIXED_SIZE, BTREE_OVERFLOW_NODE, btree_record_object_get_mvcc_flags(), BTREE_RECORD_OR_BUF_INIT, recdes::data, DB_ALIGN, DISK_VPID_SIZE, or_buf::endptr, INT_ALIGNMENT, recdes::length, NO_ERROR, NULL, or_advance(), OR_OID_SIZE, or_buf::ptr, and btid_int::unique_pk.
Definition at line 2266 of file btree.c.
References assert, btree_leaf_is_flaged(), BTREE_LEAF_RECORD_OVERFLOW_OIDS, recdes::data, DISK_VPID_ALIGNED_SIZE, DISK_VPID_SIZE, recdes::length, NO_ERROR, or_get_int(), or_get_short(), or_init(), vpid::pageid, rc, and vpid::volid.
Referenced by btree_read_record_without_decompression().
Definition at line 3408 of file btree.c.
References assert, BTREE_LEAF_RECORD_MASK, recdes::data, OR_GET_SHORT, OR_OID_SLOTID, and STATIC_INLINE.
Referenced by btree_check_page_key(), btree_check_valid_record(), btree_compress_node(), btree_delete_overflow_key(), btree_dump_page(), btree_find_lower_bound_leaf(), btree_get_next_key_info(), btree_get_stats_key(), btree_is_class_oid_packed(), btree_is_fixed_size(), btree_key_find_first_visible_row(), btree_key_relocate_last_into_ovf(), btree_leaf_change_first_object(), btree_leaf_get_nth_oid_ptr(), btree_leaf_get_vpid_for_overflow_oids(), btree_leaf_is_key_between_min_max(), btree_leaf_record_change_overflow_link(), btree_leaf_record_handle_first_overflow(), btree_merge_root(), btree_node_common_prefix(), btree_node_is_compressed(), btree_node_size_uncompressed(), btree_range_scan_advance_over_filtered_keys(), btree_read_record(), btree_read_record_without_decompression(), btree_record_append_object(), btree_record_get_num_visible_oids(), btree_record_remove_delid(), btree_record_remove_insid(), btree_record_remove_last_object(), btree_remove_delete_mvccid_unique_internal(), btree_rv_record_modify_internal(), btree_search_leaf_page(), and btree_verify_leaf_node().
|
static |
Definition at line 5175 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_clear_key_value(), btree_compare_key(), btree_get_node_header(), btree_init_temp_key_value(), BTREE_KEY_BETWEEN, BTREE_KEY_BIGGER, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, BTREE_KEY_SMALLER, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_number_of_keys(), btree_read_record(), DB_EQ, DB_GT, DB_IS_NULL, DB_LT, DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_DOMAIN_TYPE, ER_FAILED, btid_int::key_type, NO_ERROR, NULL, PEEK, PEEK_KEY_VALUE, btree_search_key_helper::result, S_SUCCESS, btree_search_key_helper::slotid, and spage_get_record().
Referenced by btree_key_find_and_lock_unique_of_non_unique(), btree_key_online_index_IB_insert_list(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_resume(), and btree_search_leaf_page().
|
static |
void btree_leaf_record_change_overflow_link | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid_int, | ||
RECDES * | leaf_record, | ||
VPID * | new_overflow_vpid, | ||
char ** | rv_undo_data_ptr, | ||
char ** | rv_redo_data_ptr | ||
) |
Definition at line 2296 of file btree.c.
References assert, btree_check_valid_record(), btree_leaf_clear_flag(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, btree_leaf_record_handle_first_overflow(), BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_OID_HAS_MVCC_INSID_AND_DELID, btree_record_object_is_flagged(), recdes::data, DISK_INVALID, disk_is_page_sector_reserved(), DISK_VPID_ALIGNED_SIZE, recdes::length, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, OR_OID_SLOTID, OR_PUT_VPID_ALIGNED, OR_SHORT_SIZE, vpid::pageid, vpid::volid, and VPID_ISNULL.
Referenced by btree_construct_leafs(), btree_key_append_object_as_new_overflow(), and btree_modify_leaf_ovfl_vpid().
|
static |
Definition at line 2990 of file btree.c.
References assert, btree_check_valid_record(), BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_leaf_set_flag(), BTREE_OBJECT_FIXED_SIZE, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OID_HAS_MVCC_INSID_AND_DELID, btree_record_object_get_mvcc_flags(), btree_record_object_set_mvcc_flags(), recdes::data, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, OR_GET_MVCCID, OR_MVCCID_SIZE, OR_OID_SIZE, OR_OID_SLOTID, OR_PUT_MVCCID, OR_PUT_OID, OR_SHORT_SIZE, RECORD_MOVE_DATA, btid_int::topclass_oid, and btid_int::unique_pk.
Referenced by btree_leaf_record_change_overflow_link().
|
static |
Definition at line 31137 of file btree.c.
References assert, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, btree_is_delete_object_purpose(), btree_leaf_change_first_object(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_AS_ARGS, BTREE_OBJINFO_MSG, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, btree_record_remove_last_object(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_LAST_OID, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_delete_object(), BTREE_RV_UNDOREDO_SET_DEBUG_INFO, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_delete_helper::is_system_op_started, btree_delete_helper::leaf_addr, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), NO_ERROR, NULL, OID_AS_ARGS, pgbuf_get_latch_mode(), pgbuf_get_lsa(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), PTR_ALIGN, btree_delete_helper::purpose, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), and btid_int::sys_btid.
Referenced by btree_leaf_remove_object().
|
static |
Definition at line 31608 of file btree.c.
References assert, ASSERT_ERROR, btree_check_valid_record(), btree_delete_key_from_leaf(), BTREE_DELETE_OID, btree_is_delete_object_purpose(), BTREE_KEY_FOUND, BTREE_LEAF_NODE, btree_leaf_record_replace_first_with_last(), btree_record_get_last_object(), btree_record_remove_object(), btree_replace_first_oid_with_ovfl_oid(), btree_delete_helper::check_key_deleted, ER_FAILED, btree_delete_helper::is_key_deleted, btree_delete_helper::leaf_addr, NO_ERROR, NULL, OID_EQ, leaf_rec::ovfl, btree_delete_helper::purpose, btree_search_key_helper::result, btree_search_key_helper::slotid, and VPID_ISNULL.
Referenced by btree_key_remove_object().
|
static |
Definition at line 3437 of file btree.c.
References assert, BTREE_LEAF_RECORD_MASK, recdes::data, OR_GET_SHORT, OR_OID_SLOTID, and OR_PUT_SHORT.
Referenced by btree_leaf_change_first_object(), btree_leaf_record_handle_first_overflow(), btree_split_node(), btree_split_root(), btree_split_test(), and btree_write_record().
|
static |
Definition at line 2109 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, BTREE_LEAF_NODE, recdes::data, db_private_alloc, db_private_free_and_init, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), pr_type::index_readval(), btid_int::key_type, recdes::length, NO_ERROR, btid_int::nonleaf_key_type, NULL, or_init(), overflow_get(), overflow_get_length(), S_SUCCESS, and tp_domain::type.
Referenced by btree_read_record_without_decompression().
int btree_locate_key | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid_int, | ||
DB_VALUE * | key, | ||
VPID * | pg_vpid, | ||
INT16 * | slot_id, | ||
PAGE_PTR * | leaf_page_out, | ||
bool * | found_p | ||
) |
Definition at line 14151 of file btree.c.
References assert, ASSERT_ERROR, btree_advance_and_find_key(), BTREE_INVALID_INDEX_ID, BTREE_KEY_FOUND, btree_multicol_key_is_null(), btree_search_key_and_apply_functions(), BTREE_SEARCH_KEY_HELPER_INITIALIZER, DB_IS_NULL, error(), NO_ERROR, NULL, pgbuf_get_vpid(), btree_search_key_helper::result, btree_search_key_helper::slotid, and btid_int::sys_btid.
Referenced by btree_load_check_fk(), btree_range_scan_resume(), and btree_range_scan_start().
|
static |
Definition at line 10026 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_clear_key_value(), BTREE_DEBUG_DUMP_SIMPLE, btree_delete_overflow_key(), btree_get_next_page(), btree_get_node_header(), btree_init_temp_key_value(), btree_is_fence_key(), BTREE_LEAF_NODE, BTREE_MAX_ALIGN, btree_node_common_prefix(), btree_node_number_of_keys(), btree_node_size_uncompressed(), BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), btree_read_record_without_decompression(), btree_recompress_record(), btree_rv_write_log_record(), btree_set_vpid_previous_vpid(), btree_verify_node(), btree_write_default_split_info(), COPY, recdes::data, DB_IS_NULL, DB_PAGESIZE, db_private_alloc, db_private_free_and_init, DB_TYPE_MIDXKEY, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, i, IO_MAX_PAGE_SIZE, non_leaf_rec::key_len, btid_int::key_type, log_append_redo_data2(), log_append_undo_data(), log_append_undo_data2(), log_append_undoredo_data2(), MAX_ALIGNMENT, btree_node_header::max_key_len, MAX_LEAF_REC_NUM, MAX_MERGE_ALIGN_WASTE, NEXT_MERGE_RECORD, btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, NULL, NULL_SLOTID, log_data_addr::offset, PAGE_BTREE, vpid::pageid, PEEK, PEEK_KEY_VALUE, perfmon_inc_stat(), pgbuf_check_page_ptype(), pgbuf_get_vpid_ptr(), pgbuf_set_dirty(), pgbuf_unfix_and_init, log_data_addr::pgptr, pr_midxkey_common_prefix(), btree_node_header::prev_vpid, prm_get_integer_value(), PRM_ID_ER_BTREE_DEBUG, PSTAT_BT_NUM_MERGES, PTR_ALIGN, RVBT_COPYPAGE, RVBT_MARK_DEALLOC_PAGE, RVBT_NDRECORD_DEL, S_SUCCESS, SP_SUCCESS, spage_delete(), spage_get_record(), spage_insert(), btree_node_header::split_info, btid_int::sys_btid, TP_DOMAIN_TYPE, log_data_addr::vfid, btid::vfid, vpid::volid, VPID_COPY, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_merge_node_and_advance().
|
static |
Definition at line 29986 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_delete_log, btree_get_node_header(), BTREE_MERGE_NO, btree_merge_node(), btree_merge_root(), BTREE_MERGE_TRY, btree_multicol_key_is_null(), btree_node_mergeable(), btree_node_number_of_keys(), btree_read_fixed_portion_of_non_leaf_record(), btree_search_leaf_page(), btree_search_nonleaf_page(), CAN_MERGE_WHEN_EMPTY, DB_IS_NULL, DB_PAGESIZE, er_clear(), er_errid(), ER_FAILED, ER_PAGE_LATCH_PROMOTE_FAIL, error(), FILE_BTREE, file_dealloc(), FORCE_MERGE_WHEN_EMPTY, btree_delete_helper::is_root, btree_delete_helper::is_system_op_started, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), LSA_INITIALIZER, btree_node_header::max_key_len, NO_ERROR, btree_node_header::node_level, btree_delete_helper::nonleaf_latch_mode, NULL, OLD_PAGE, OLD_PAGE_IF_IN_BUFFER, PAGE_BTREE, PEEK, pgbuf_check_page_ptype(), pgbuf_fix, pgbuf_get_latch_mode(), pgbuf_get_lsa(), pgbuf_is_io_stressful(), PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, PGBUF_PAGE_MODIFY_ARGS, PGBUF_PAGE_MODIFY_MSG, PGBUF_PROMOTE_ONLY_READER, pgbuf_promote_read_latch, PGBUF_PROMOTE_SHARED_READER, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, S_SUCCESS, btree_search_key_helper::slotid, spage_check_num_slots(), spage_get_free_space(), spage_get_record(), spage_number_of_slots(), btid_int::sys_btid, btid::vfid, VPID_AS_ARGS, VPID_COPY, VPID_EQ, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by btree_delete_internal(), and btree_online_index_list_dispatcher().
|
static |
Definition at line 9753 of file btree.c.
References assert, assert_release, BTREE_DEBUG_DUMP_SIMPLE, btree_delete_meta_record(), btree_get_node_header(), btree_get_node_level(), btree_get_root_header(), btree_leaf_is_flaged(), BTREE_LEAF_RECORD_FENCE, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_MAX_ALIGN, btree_node_header_redo_log(), btree_node_header_undo_log(), btree_node_number_of_keys(), btree_rv_util_save_page_records(), btree_verify_node(), btree_write_default_split_info(), DONT_FREE, er_errid(), ER_FAILED, recset_header::first_slotid, i, IO_MAX_PAGE_SIZE, log_append_undo_data(), log_append_undo_data2(), log_append_undoredo_data2(), btree_node_header::max_key_len, btree_node_header::next_vpid, NO_ERROR, btree_root_header::node, btree_node_header::node_level, NULL, log_data_addr::offset, vpid::pageid, PEEK, perfmon_inc_stat(), pgbuf_get_vpid_ptr(), pgbuf_set_dirty(), log_data_addr::pgptr, btree_node_header::prev_vpid, prm_get_integer_value(), PRM_ID_ER_BTREE_DEBUG, PSTAT_BT_NUM_MERGES, PTR_ALIGN, recset_header::rec_cnt, RVBT_INS_PGRECORDS, RVBT_MARK_DEALLOC_PAGE, S_SUCCESS, SP_SUCCESS, spage_get_record(), spage_insert_at(), btree_node_header::split_info, btid_int::sys_btid, log_data_addr::vfid, btid::vfid, vpid::volid, and VPID_SET_NULL.
Referenced by btree_merge_node_and_advance().
|
static |
Definition at line 9447 of file btree.c.
References assert, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_KEY_FOUND, btree_leaf_record_change_overflow_link(), BTREE_MAX_ALIGN, BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_OVF_LINK, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_UNDOREDO_SET_DEBUG_INFO, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_delete_helper::is_system_op_started, btree_delete_helper::leaf_addr, recdes::length, log_append_undoredo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), NO_ERROR, NULL, pgbuf_get_lsa(), pgbuf_set_dirty(), PTR_ALIGN, btree_search_key_helper::result, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_UNDOREDO, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), btid_int::sys_btid, and VPID_AS_ARGS.
Referenced by btree_overflow_remove_object().
|
static |
Definition at line 9523 of file btree.c.
References recdes::area_size, assert, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, BTREE_MAX_ALIGN, BTREE_RV_BUFFER_SIZE, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_SET_OVERFLOW_NODE, COPY, recdes::data, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, HEADER, btree_delete_helper::is_system_op_started, recdes::length, log_append_undoredo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_ALL, LSA_COPY(), btree_overflow_header::next_vpid, NO_ERROR, NULL, log_data_addr::offset, pgbuf_get_lsa(), pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_UNDOREDO, S_SUCCESS, SP_SUCCESS, spage_get_record(), spage_update(), btid_int::sys_btid, log_data_addr::vfid, btid::vfid, VPID_AS_ARGS, and VPID_COPY.
Referenced by btree_overflow_remove_object().
int btree_multicol_key_has_null | ( | DB_VALUE * | key | ) |
Definition at line 18079 of file btree.c.
References assert, db_midxkey::buf, db_get_midxkey(), DB_IS_NULL, DB_TYPE_MIDXKEY, DB_VALUE_TYPE, i, db_midxkey::ncolumns, NULL, and OR_MULTI_ATT_IS_UNBOUND.
Referenced by btree_check_foreign_key(), btree_load_check_fk(), btree_sort_get_next(), and locator_check_foreign_key().
Definition at line 18033 of file btree.c.
References assert, db_midxkey::buf, db_get_midxkey(), DB_IS_NULL, DB_TYPE_MIDXKEY, DB_VALUE_TYPE, i, db_midxkey::min_max_val, db_midxkey::ncolumns, NULL, OR_MULTI_BOUND_BIT_BYTES, and special_column::position.
Referenced by index_builder_loader_task::add_key(), btree_fix_root_for_delete(), btree_insert_internal(), btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_locate_key(), btree_merge_node_and_advance(), btree_online_index_list_dispatcher(), btree_prepare_bts(), btree_scan_update_range(), btree_sort_get_next(), btree_split_node_and_advance(), locator_add_or_remove_index_internal(), locator_check_btree_entries(), locator_check_unique_btree_entries(), locator_update_index(), and xbtree_find_unique().
int btree_mvcc_delete | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | key, | ||
OID * | class_oid, | ||
OID * | oid, | ||
int | op_type, | ||
btree_unique_stats * | unique_stat_info, | ||
int * | unique, | ||
MVCC_REC_HEADER * | p_mvcc_rec_header | ||
) |
Definition at line 26021 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, assert, btree_insert_internal(), btree_mvcc_info_from_heap_mvcc_header(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_OP_INSERT_MVCC_DELID, vfid::fileid, MVCC_GET_DELID, NULL, oid_Null_oid, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_update(), locator_add_or_remove_index_internal(), and locator_update_index().
void btree_mvcc_info_from_heap_mvcc_header | ( | MVCC_REC_HEADER * | mvcc_header, |
BTREE_MVCC_INFO * | mvcc_info | ||
) |
Definition at line 28752 of file btree.c.
References assert, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, btree_mvcc_info::delete_mvccid, btree_mvcc_info::flags, btree_mvcc_info::insert_mvccid, MVCC_GET_DELID, MVCC_GET_INSID, MVCC_IS_FLAG_SET, MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, OR_MVCC_FLAG_VALID_DELID, and OR_MVCC_FLAG_VALID_INSID.
Referenced by btree_construct_leafs(), btree_first_oid(), btree_insert(), and btree_mvcc_delete().
void btree_mvcc_info_to_heap_mvcc_header | ( | BTREE_MVCC_INFO * | mvcc_info, |
MVCC_REC_HEADER * | mvcc_header | ||
) |
Definition at line 28787 of file btree.c.
References assert, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, btree_mvcc_info::delete_mvccid, btree_mvcc_info::insert_mvccid, mvcc_rec_header::mvcc_flag, MVCC_SET_DELID, MVCC_SET_INSID, MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, OR_MVCC_FLAG_VALID_DELID, and OR_MVCC_FLAG_VALID_INSID.
Referenced by btree_construct_leafs(), btree_fk_object_does_exist(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_and_lock_unique_of_unique(), btree_key_find_first_visible_row(), btree_record_get_num_visible_oids(), btree_record_satisfies_snapshot(), and btree_select_visible_object_for_range_scan().
|
static |
Definition at line 12380 of file btree.c.
References assert, btree_clear_key_value(), btree_init_temp_key_value(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, BTREE_LEAF_RECORD_OVERFLOW_KEY, btree_node_is_compressed(), btree_node_number_of_keys(), btree_read_record_without_decompression(), cleanup(), DB_TYPE_MIDXKEY, DB_VALUE_TYPE, error(), NO_ERROR, PEEK, PEEK_KEY_VALUE, pr_midxkey_common_prefix(), and spage_get_record().
Referenced by btree_compress_node(), btree_key_insert_new_key(), btree_merge_node(), btree_node_size_uncompressed(), btree_read_record(), btree_search_leaf_page(), and btree_verify_leaf_node().
|
static |
Definition at line 12322 of file btree.c.
References assert, btree_get_node_header(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, DB_TYPE_MIDXKEY, btid_int::key_type, btree_node_header::node_level, NULL, PEEK, S_SUCCESS, spage_get_record(), and TP_DOMAIN_TYPE.
Referenced by btree_node_common_prefix().
|
static |
Definition at line 10612 of file btree.c.
References assert, assert_release, btree_get_node_header(), btree_is_fence_key(), BTREE_LEAF_NODE, BTREE_MERGE_FORCE, BTREE_MERGE_NO, BTREE_MERGE_TRY, btree_node_number_of_keys(), btree_node_size_uncompressed(), BTREE_NON_LEAF_NODE, CAN_MERGE_WHEN_EMPTY, DB_PAGESIZE, FORCE_MERGE_WHEN_EMPTY, btree_node_header::node_level, NULL, and spage_get_free_space().
Referenced by btree_merge_node_and_advance().
|
static |
Definition at line 10537 of file btree.c.
References assert, btree_clear_key_value(), btree_get_node_header(), btree_init_temp_key_value(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, BTREE_LEAF_RECORD_OVERFLOW_KEY, btree_node_common_prefix(), btree_node_number_of_keys(), btree_read_record_without_decompression(), db_get_midxkey(), DB_PAGESIZE, DB_TYPE_MIDXKEY, DB_VALUE_TYPE, error(), NO_ERROR, btree_node_header::node_level, NULL, PEEK, PEEK_KEY_VALUE, pr_midxkey_get_element_offset(), S_SUCCESS, spage_get_free_space(), and spage_get_record().
Referenced by btree_merge_node(), and btree_node_mergeable().
|
static |
Definition at line 34697 of file btree.c.
References assert, btree_add_mvccid(), btree_check_valid_record(), btree_is_class_oid_packed(), btree_is_fixed_size(), BTREE_OID_HAS_MVCC_INSID, btree_online_index_is_normal_state(), btree_record_object_is_flagged(), btree_record_remove_insid(), btree_set_mvccid(), recdes::data, NULL, and OR_OID_SIZE.
Referenced by btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
|
inlinestatic |
Definition at line 33216 of file btree.c.
References assert, BTREE_ONLINE_INDEX_DELETE_FLAG_STATE, BTREE_ONLINE_INDEX_INSERT_FLAG_STATE, and BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE.
Referenced by btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), and btree_key_online_index_tran_insert().
int btree_online_index_check_unique_constraint | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
const char * | index_name, | ||
OID * | class_oid | ||
) |
Definition at line 35273 of file btree.c.
References ASSERT_ERROR, BTREE_SET_UNIQUE_VIOLATION_ERROR, ER_BTREE_UNIQUE_FAILED, ER_FAILED, logtb_get_global_unique_stats(), logtb_tran_find_btid_stats(), NO_ERROR, NULL, log_unique_stats::num_keys, log_unique_stats::num_nulls, log_unique_stats::num_oids, and log_tran_btid_unique_stats::tran_stats.
Referenced by xbtree_load_online_index().
int btree_online_index_dispatcher | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | key, | ||
OID * | cls_oid, | ||
OID * | oid, | ||
int | unique, | ||
BTREE_OP_PURPOSE | purpose, | ||
LOG_LSA * | undo_nxlsa | ||
) |
Definition at line 33272 of file btree.c.
References btree_online_index_list_dispatcher().
Referenced by btree_rv_keyval_undo_online_index_tran_delete(), btree_rv_keyval_undo_online_index_tran_insert(), locator_add_or_remove_index_internal(), and locator_update_index().
Definition at line 33229 of file btree.c.
References BTREE_ONLINE_INDEX_DELETE_FLAG_STATE.
Referenced by btree_key_online_index_IB_insert(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), and btree_rv_log_insert_object().
Definition at line 33223 of file btree.c.
References BTREE_ONLINE_INDEX_INSERT_FLAG_STATE.
Referenced by btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), and btree_key_online_index_tran_insert_DF().
Definition at line 33235 of file btree.c.
References BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE.
Referenced by btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert_DF(), btree_leaf_change_first_object(), and btree_online_index_change_state().
int btree_online_index_list_dispatcher | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
OID * | class_oid, | ||
btree_insert_list * | insert_list, | ||
int | unique, | ||
BTREE_OP_PURPOSE | purpose, | ||
LOG_LSA * | undo_nxlsa | ||
) |
Definition at line 33293 of file btree.c.
References assert, BTREE_DELETE_CLASS_OID, BTREE_DELETE_OID, btree_fix_root_for_delete(), btree_fix_root_for_insert(), BTREE_INSERT_CLASS_OID, BTREE_INSERT_OID, BTREE_IS_UNIQUE, BTREE_KEY_NOTFOUND, btree_key_online_index_IB_insert_list(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_merge_node_and_advance(), btree_multicol_key_is_null(), BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, btree_search_key_and_apply_functions(), BTREE_SEARCH_KEY_HELPER_INITIALIZER, btree_split_node_and_advance(), btree_insert_helper::compensate_undo_nxlsa, COPY_OID, DB_IS_NULL, db_private_free, btree_helper::delete_helper, ER_FAILED, btree_insert_list::get_key(), btree_insert_list::get_oid(), btree_helper::insert_helper, btree_insert_helper::insert_list, btree_insert_helper::log_operations, btree_delete_helper::log_operations, logtb_tran_update_unique_stats(), LSA_COPY(), NO_ERROR, NULL, OID_SET_NULL, btree_insert_helper::op_type, btree_delete_helper::op_type, btree_insert_helper::printed_key, btree_delete_helper::printed_key, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btree_insert_helper::purpose, btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_search_key_helper::result, SINGLE_ROW_DELETE, and SINGLE_ROW_INSERT.
Referenced by btree_online_index_dispatcher(), and index_builder_loader_task::execute().
|
inlinestatic |
Definition at line 33247 of file btree.c.
References BTREE_ONLINE_INDEX_DELETE_FLAG_STATE.
Referenced by btree_key_online_index_tran_delete(), and btree_key_online_index_tran_insert_DF().
|
inlinestatic |
Definition at line 33241 of file btree.c.
References BTREE_ONLINE_INDEX_INSERT_FLAG_STATE.
Referenced by btree_key_online_index_tran_insert().
|
inlinestatic |
Definition at line 33253 of file btree.c.
References BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE.
Referenced by btree_key_online_index_IB_insert().
STATIC_INLINE const char * btree_op_type_to_string | ( | int | op_type | ) |
Definition at line 33129 of file btree.c.
References assert, MULTI_ROW_DELETE, MULTI_ROW_INSERT, MULTI_ROW_UPDATE, SINGLE_ROW_DELETE, SINGLE_ROW_INSERT, SINGLE_ROW_MODIFY, and SINGLE_ROW_UPDATE.
|
static |
Definition at line 21426 of file btree.c.
References BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS, btree_unpack_mvccinfo(), or_buf::endptr, NO_ERROR, or_overflow(), and or_buf::ptr.
Referenced by btree_key_find_first_visible_row(), btree_or_get_object(), and btree_record_get_num_visible_oids().
|
static |
Definition at line 21553 of file btree.c.
References assert, ASSERT_ALIGN, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_OID_CLEAR_ALL_FLAGS, BTREE_OID_IS_RECORD_FLAG_SET, btree_or_get_mvccinfo(), BTREE_OVERFLOW_NODE, btree_record_object_get_mvcc_flags(), or_buf::buffer, COPY_OID, INT_ALIGNMENT, NO_ERROR, NULL, or_get_oid(), or_seek(), or_buf::ptr, btid_int::topclass_oid, and btid_int::unique_pk.
Referenced by btree_find_oid_from_leaf(), btree_key_find_and_lock_unique_of_non_unique(), btree_leaf_get_first_object(), btree_record_get_last_object(), btree_record_process_objects(), and btree_unpack_object().
|
static |
Definition at line 21451 of file btree.c.
References BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, btree_mvcc_info::delete_mvccid, btree_mvcc_info::insert_mvccid, NO_ERROR, and or_put_mvccid().
Referenced by btree_or_put_object().
|
static |
Definition at line 21646 of file btree.c.
References assert, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, BTREE_OID_SET_MVCC_FLAG, btree_or_put_mvccinfo(), or_buf::buffer, btree_object_info::class_oid, COPY_OID, btree_mvcc_info::flags, btree_object_info::mvcc_info, NO_ERROR, NULL, btree_object_info::oid, OID_EQ, or_put_oid(), or_buf::ptr, db_identifier::slotid, btid_int::topclass_oid, and btid_int::unique_pk.
Referenced by btree_pack_object().
|
static |
Definition at line 32430 of file btree.c.
References assert, assert_release, btree_is_delete_object_purpose(), BTREE_MAX_ALIGN, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OVERFLOW_NODE, btree_record_replace_object(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_OVF_REPLACE, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_SET_OVERFLOW_NODE, BTREE_RV_UNDOREDO_SET_DEBUG_INFO, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_delete_helper::is_system_op_started, recdes::length, log_append_undoredo_data(), NO_ERROR, NULL, log_data_addr::offset, pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::purpose, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_UNDOREDO, SP_SUCCESS, spage_update(), btid_int::sys_btid, log_data_addr::vfid, and btid::vfid.
Referenced by btree_remove_delete_mvccid_unique_internal(), and btree_replace_first_oid_with_ovfl_oid().
|
static |
Definition at line 31435 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, assert_release, btree_check_valid_record(), BTREE_DELETE_CLASS_OID, BTREE_DELETE_OID, btree_delete_sysop_end(), btree_get_next_overflow_vpid(), btree_is_delete_object_purpose(), BTREE_KEY_FOUND, BTREE_MAX_ALIGN, btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), BTREE_OBJECT_FIXED_SIZE, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OVERFLOW_NODE, btree_record_remove_object(), BTREE_SET_DELETED_OVERFLOW_PAGE_NOTIFICATION, COPY, recdes::data, DB_PAGESIZE, ER_FAILED, error(), FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, FILE_BTREE, file_dealloc(), IO_MAX_PAGE_SIZE, btree_delete_helper::is_system_op_started, recdes::length, log_sysop_start(), NO_ERROR, NULL, log_data_addr::offset, OID_ISNULL, pgbuf_get_vpid(), pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::purpose, btree_search_key_helper::result, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), btid_int::sys_btid, btid_int::topclass_oid, log_data_addr::vfid, btid::vfid, and VPID_INITIALIZER.
Referenced by btree_key_remove_object(), btree_key_remove_object_and_keep_visible_first(), and btree_replace_first_oid_with_ovfl_oid().
char* btree_pack_mvccinfo | ( | char * | ptr, |
BTREE_MVCC_INFO * | mvcc_info | ||
) |
Definition at line 21369 of file btree.c.
References BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, btree_mvcc_info::delete_mvccid, btree_mvcc_info::insert_mvccid, NULL, and or_pack_mvccid().
Referenced by btree_construct_leafs().
|
static |
Definition at line 21518 of file btree.c.
References recdes::area_size, assert, btree_or_put_object(), recdes::data, NO_ERROR, NULL, OR_BUF_INIT, and or_buf::ptr.
Referenced by btree_insert_object_ordered_by_oid(), btree_record_append_object(), btree_record_replace_object(), and btree_remove_delete_mvccid_unique_internal().
int btree_packed_mvccinfo_size | ( | BTREE_MVCC_INFO * | mvcc_info | ) |
Definition at line 21394 of file btree.c.
References BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, NULL, and OR_MVCCID_SIZE.
Referenced by btree_construct_leafs().
|
inlinestatic |
Definition at line 979 of file btree.c.
References PSTAT_BT_FIX_OVF_OIDS.
Referenced by btree_find_free_overflow_oids_page(), btree_find_oid_and_its_page(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_process_objects(), and btree_range_scan_select_visible_oids().
|
inlinestatic |
Definition at line 889 of file btree.c.
References assert, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, PSTAT_BT_DELETE, PSTAT_BT_INSERT, PSTAT_BT_LEAF, PSTAT_BT_MARK_DELETE, PSTAT_BT_MVCC_DELETE, PSTAT_BT_UNDO_DELETE, PSTAT_BT_UNDO_INSERT, PSTAT_BT_UNDO_MVCC_DELETE, PSTAT_BT_VACUUM, and PSTAT_BT_VACUUM_INSID.
Referenced by btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_object(), btree_key_remove_delete_mvccid(), and btree_key_remove_insert_mvccid().
|
inlinestatic |
Definition at line 934 of file btree.c.
References assert, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, PSTAT_BT_DELETE_TRAVERSE, PSTAT_BT_INSERT_TRAVERSE, PSTAT_BT_MARK_DELETE_TRAVERSE, PSTAT_BT_MVCC_DELETE_TRAVERSE, PSTAT_BT_TRAVERSE, PSTAT_BT_UNDO_DELETE_TRAVERSE, PSTAT_BT_UNDO_INSERT_TRAVERSE, PSTAT_BT_UNDO_MVCC_DELETE_TRAVERSE, PSTAT_BT_VACUUM_INSID_TRAVERSE, and PSTAT_BT_VACUUM_TRAVERSE.
Referenced by btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_insert_new_object(), btree_key_remove_delete_mvccid(), and btree_key_remove_insert_mvccid().
|
inlinestatic |
Definition at line 985 of file btree.c.
References PSTAT_BT_UNIQUE_RLOCKS, PSTAT_BT_UNIQUE_WLOCKS, and S_LOCK.
Referenced by btree_key_find_and_lock_unique_of_non_unique().
int btree_physical_delete | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | key, | ||
OID * | oid, | ||
OID * | class_oid, | ||
int * | unique, | ||
int | op_type, | ||
btree_unique_stats * | unique_stat_info | ||
) |
Definition at line 29340 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_delete_internal(), btree_insert_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_SET_DELID, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_INSERT_MARK_DELETED, vfid::fileid, logtb_get_current_mvccid(), NULL, oid_is_serial(), db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_update(), locator_add_or_remove_index_internal(), locator_repair_btree_by_delete(), locator_update_index(), and xlocator_remove_class_from_index().
int btree_prepare_bts | ( | THREAD_ENTRY * | thread_p, |
BTREE_SCAN * | bts, | ||
BTID * | btid, | ||
INDX_SCAN_ID * | index_scan_id_p, | ||
key_val_range * | kv_range, | ||
FILTER_INFO * | filter, | ||
const OID * | match_class_oid, | ||
DB_BIGINT * | key_limit_upper, | ||
DB_BIGINT * | key_limit_lower, | ||
bool | need_to_check_null, | ||
void * | bts_other | ||
) |
Definition at line 15049 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, assert_release, scan_attrs::attr_ids, btree_scan::btid_int, filter_info::btree_attr_ids, btree_fix_root_with_info(), btree_get_creator_mvccid(), BTREE_IS_PART_KEY_DESC, btree_multicol_key_is_null(), btree_scan::bts_other, btree_scan::C_vpid, indx_scan_id::check_not_vacuumed, btid_int::copy_buf, indx_scan_id::copy_buf, btid_int::copy_buf_len, indx_scan_id::copy_buf_len, COPY_OID, db_get_midxkey(), DB_IS_NULL, db_make_null(), DB_TYPE_MIDXKEY, DB_VALUE_TYPE, db_midxkey::domain, EQ_NA, ER_BTREE_INVALID_RANGE, ER_ERROR_SEVERITY, ER_FAILED, er_set(), GE_INF, GE_LE, GE_LT, GT_INF, GT_LE, GT_LT, i, btree_scan::index_scan_idp, indx_scan_id::indx_info, INF_INF, INF_LE, INF_LT, btree_scan::is_btid_int_valid, btree_scan::is_scan_started, key_val_range::is_truncated, key_val_range::key1, key_val_range::key2, btree_scan::key_filter, btree_scan::key_filter_storage, btree_scan::key_limit_lower, btree_scan::key_limit_upper, btree_scan::key_range, btree_scan::key_range_max_value_equal, btid_int::key_type, LOG_CHECK_LOG_APPLIER, btree_keyrange::lower_key, btree_scan::match_class_oid, MVCCID_IS_VALID, btree_scan::n_oids_read, btree_scan::n_oids_read_last_iteration, db_midxkey::ncolumns, btree_scan::need_to_check_null, tp_domain::next, NO_ERROR, NULL, scan_attrs::num_attrs, key_val_range::num_index_term, btree_keyrange::num_index_term, filter_info::num_vstr_ptr, OID_ISNULL, indx_scan_id::oid_list, btree_scan::oid_ptr, btree_iscan_oid_list::oidp, vpid::pageid, btid_int::part_key_desc, PGBUF_LATCH_READ, pgbuf_unfix_and_init, tp_domain::precision, prm_get_bool_value(), PRM_ID_ORACLE_STYLE_EMPTY_STRING, btree_scan::qualified_keys, key_val_range::range, btree_keyrange::range, range_reverse(), btree_scan::read_keys, btid::root_pageid, filter_info::scan_attrs, tp_domain::setdomain, btid_int::topclass_oid, tp_domain_free(), TP_DOMAIN_TYPE, btree_keyrange::upper_key, indx_info::use_desc_index, btree_scan::use_desc_index, vacuum_is_mvccid_vacuumed(), btid::vfid, vpid::volid, vfid::volid, VPID_ISNULL, and filter_info::vstr_ids.
Referenced by btree_find_foreign_key(), btree_get_next_key_info(), btree_keyval_search(), btree_load_check_fk(), locator_check_btree_entries(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_check_unique_btree_entries(), and scan_get_index_oidset().
|
static |
Definition at line 8820 of file btree.c.
Referenced by btree_dump_leaf_record(), btree_dump_non_leaf_record(), and btree_dump_page().
STATIC_INLINE const char * btree_purpose_to_string | ( | BTREE_OP_PURPOSE | purpose | ) |
Definition at line 33076 of file btree.c.
References assert, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_DELID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_INSID, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, and STATIC_INLINE.
|
static |
Definition at line 18845 of file btree.c.
References ARG_FILE_LINE, assert, btree_compare_individual_key_value(), btree_top_n_items_binary_search(), multi_range_opt::buffer, multi_range_opt::cnt, COPY_OID, btree_scan::cur_key, db_get_midxkey(), db_make_null(), db_private_alloc, db_private_free_and_init, DB_TYPE_MIDXKEY, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), multi_range_opt::has_null_domain, i, range_opt_item::index_value, range_opt_item::inst_oid, multi_range_opt::is_desc_order, NO_ERROR, NULL, multi_range_opt::num_attrs, pr_clear_value(), pr_clone_value(), pr_midxkey_get_element_nocopy(), multi_range_opt::size, multi_range_opt::sort_att_idx, multi_range_opt::sort_col_dom, multi_range_opt::top_n_items, tp_domain_resolve_value(), tp_Null_domain, and multi_range_opt::use.
Referenced by btree_select_visible_object_for_range_scan().
int btree_range_scan | ( | THREAD_ENTRY * | thread_p, |
BTREE_SCAN * | bts, | ||
BTREE_RANGE_SCAN_PROCESS_KEY_FUNC * | key_func | ||
) |
Definition at line 24922 of file btree.c.
References assert, ASSERT_ERROR, btree_log_if_enabled, btree_range_scan_advance_over_filtered_keys(), btree_range_scan_resume(), btree_range_scan_start(), btree_scan_clear_key(), BTS_IS_INDEX_ILS, BTS_KEY_IS_CONSUMED, BTS_KEY_IS_VERIFIED, bts_reset_scan(), btree_scan::C_page, btree_scan::C_vpid, btree_scan::cur_leaf_lsa, btree_scan::end_one_iteration, btree_scan::end_scan, ER_FAILED, btree_scan::force_restart_from_root, btree_scan::index_scan_idp, btree_scan::is_interrupted, btree_scan::is_scan_started, btree_scan::key_limit_upper, btree_scan::key_status, LSA_COPY(), LSA_SET_NULL(), btree_scan::n_oids_read_last_iteration, NO_ERROR, NULL, btree_scan::O_page, btree_scan::O_vpid, indx_scan_id::oid_list, btree_scan::oid_ptr, btree_iscan_oid_list::oidp, btree_scan::P_page, btree_scan::P_vpid, pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), pgbuf_unfix_and_init, PSTAT_BT_LEAF, PSTAT_BT_RANGE_SEARCH, PSTAT_BT_RANGE_SEARCH_TRAVERSE, PSTAT_BT_TRAVERSE, btree_scan::time_track, btree_scan::use_desc_index, VPID_EQ, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_find_foreign_key(), btree_keyval_search(), locator_check_btree_entries(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_check_unique_btree_entries(), and scan_get_index_oidset().
|
static |
Definition at line 24479 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_apply_key_range_and_filter(), btree_get_node_header(), btree_is_fence_key(), btree_leaf_is_flaged(), BTREE_LEAF_RECORD_FENCE, btree_node_number_of_keys(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_read_record(), BTS_IS_INDEX_ISS, BTS_KEY_IS_CONSUMED, BTS_KEY_IS_NOT_VERIFIED, BTS_KEY_IS_VERIFIED, btree_scan::C_page, btree_scan::C_vpid, btree_scan::end_scan, ER_FAILED, btree_scan::force_restart_from_root, btree_scan::key_range_max_value_equal, btree_scan::key_record, btree_scan::key_status, btree_scan::need_to_check_null, btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, PEEK, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, btree_node_header::prev_vpid, btree_scan::read_keys, S_SUCCESS, btree_scan::slot_id, spage_get_record(), btree_scan::use_desc_index, VPID_COPY, and VPID_ISNULL.
Referenced by btree_range_scan(), btree_range_scan_resume(), and btree_range_scan_start().
|
static |
Definition at line 24178 of file btree.c.
References ASSERT_ERROR, btree_scan::btid_int, BTREE_LEAF_NODE, BTREE_MAX_OIDCOUNT_IN_OVERFLOW_RECORD, btree_record_get_num_oids(), btree_scan::key_record, btree_scan::leaf_rec_info, btree_scan::offset, leaf_rec::ovfl, and VPID_ISNULL.
Referenced by btree_range_scan_select_visible_oids().
|
static |
Definition at line 24696 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_scan::btid_int, btree_get_node_header(), BTREE_IS_PAGE_VALID_LEAF, BTREE_KEY_BETWEEN, BTREE_KEY_BIGGER, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, BTREE_KEY_SMALLER, btree_leaf_is_key_between_min_max(), btree_node_number_of_keys(), BTREE_SEARCH_KEY_HELPER_INITIALIZER, btree_search_leaf_page(), btree_scan::C_page, btree_scan::C_vpid, btree_scan::clear_cur_key, btree_scan::cur_key, DB_IS_NULL, ER_FAILED, btree_scan::force_restart_from_root, btree_scan::is_scan_started, btree_scan::key_range, btree_keyrange::lower_key, NO_ERROR, NULL, OLD_PAGE, PGBUF_CONDITIONAL_LATCH, pgbuf_fix, pgbuf_fix_if_not_deallocated, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, pr_clone_value(), btree_search_key_helper::result, btree_scan::slot_id, btree_search_key_helper::slotid, btree_scan::use_desc_index, VPID_COPY, and VPID_EQ.
Referenced by btree_range_scan_advance_over_filtered_keys().
|
static |
Definition at line 25658 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_scan::btid_int, btree_fk_object_does_exist(), btree_get_next_overflow_vpid(), BTREE_LEAF_NODE, BTREE_OVERFLOW_NODE, btree_record_process_objects(), btree_scan::bts_other, btree_scan::end_scan, ER_FAILED, btree_scan::is_interrupted, btree_scan::key_record, btree_scan::leaf_rec_info, NO_ERROR, NULL, btree_scan::O_page, btree_scan::offset, OID_ISNULL, OLD_PAGE, leaf_rec::ovfl, PEEK, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, S_SUCCESS, spage_get_record(), VPID_COPY, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by btree_find_foreign_key().
|
static |
Definition at line 24462 of file btree.c.
References btree_scan::btid_int, btree_read_record(), btree_scan_clear_key(), btree_scan::C_page, btree_scan::clear_cur_key, COPY_KEY_VALUE, btree_scan::cur_key, btree_scan::key_record, btree_scan::leaf_rec_info, btree_scan::node_type, and btree_scan::offset.
Referenced by btree_range_scan_advance_over_filtered_keys().
|
static |
Definition at line 24304 of file btree.c.
References assert, ASSERT_ERROR, btree_scan::btid_int, btree_get_node_level(), BTREE_IS_PAGE_VALID_LEAF, BTREE_KEY_BETWEEN, BTREE_KEY_BIGGER, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, BTREE_KEY_SMALLER, btree_leaf_is_key_between_min_max(), btree_locate_key(), btree_node_number_of_keys(), btree_range_scan_advance_over_filtered_keys(), BTREE_SEARCH_KEY_HELPER_INITIALIZER, btree_search_leaf_page(), BTS_IS_INDEX_ILS, BTS_KEY_IS_NOT_VERIFIED, btree_scan::C_page, btree_scan::C_vpid, btree_scan::cur_key, btree_scan::cur_leaf_lsa, DB_IS_NULL, btree_scan::end_scan, ER_FAILED, btree_scan::force_restart_from_root, btree_scan::key_status, LSA_EQ(), NO_ERROR, NULL, pgbuf_fix_if_not_deallocated, pgbuf_get_lsa(), PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btree_search_key_helper::result, btree_scan::slot_id, btree_search_key_helper::slotid, btree_scan::use_desc_index, and VPID_ISNULL.
Referenced by btree_get_next_key_info(), and btree_range_scan().
int btree_range_scan_select_visible_oids | ( | THREAD_ENTRY * | thread_p, |
BTREE_SCAN * | bts | ||
) |
Definition at line 25122 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_scan::btid_int, btree_get_next_overflow_vpid(), BTREE_IS_UNIQUE, btree_iss_set_key(), BTREE_LEAF_NODE, BTREE_OVERFLOW_NODE, btree_perf_ovf_oids_fix_time(), btree_range_scan_count_oids_leaf_and_one_ovf(), btree_record_get_num_oids(), btree_record_process_objects(), btree_select_visible_object_for_range_scan(), BTS_IS_HARD_CAPACITY_ENOUGH, BTS_IS_INDEX_COVERED, BTS_IS_INDEX_ISS, BTS_IS_INDEX_MRO, BTS_IS_SOFT_CAPACITY_ENOUGH, BTS_KEY_IS_CONSUMED, BTS_NEED_COUNT_ONLY, btree_scan::C_page, btree_scan::C_vpid, index_skip_scan::current_op, btree_scan::end_one_iteration, btree_scan::end_scan, ER_FAILED, btree_scan::index_scan_idp, btree_scan::is_interrupted, btree_scan::is_key_partially_processed, indx_scan_id::iss, ISS_OP_DO_RANGE_SEARCH, ISS_OP_GET_FIRST_KEY, ISS_OP_SEARCH_NEXT_DISTINCT_KEY, btree_scan::key_record, btree_scan::key_status, btree_scan::leaf_rec_info, btree_scan::n_oids_read_last_iteration, NO_ERROR, NULL, btree_scan::O_vpid, btree_scan::offset, OLD_PAGE, OR_OID_SIZE, leaf_rec::ovfl, PEEK, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, S_SUCCESS, spage_get_record(), btid_int::unique_pk, VPID_COPY, VPID_INITIALIZER, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_keyval_search(), locator_check_btree_entries(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_check_unique_btree_entries(), and scan_get_index_oidset().
|
static |
Definition at line 24216 of file btree.c.
References assert, ASSERT_ERROR, btree_scan::btid_int, btree_find_lower_bound_leaf(), btree_locate_key(), btree_range_scan_advance_over_filtered_keys(), btree_scan_clear_key(), BTS_KEY_IS_CONSUMED, BTS_KEY_IS_NOT_VERIFIED, btree_scan::C_page, btree_scan::C_vpid, btree_scan::end_scan, btree_scan::force_restart_from_root, GT_INF, GT_LE, GT_LT, btree_scan::is_scan_started, btree_scan::key_range, btree_scan::key_status, btree_keyrange::lower_key, NO_ERROR, NULL, pgbuf_unfix_and_init, btree_keyrange::range, btree_scan::slot_id, btree_scan::use_desc_index, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_get_next_key_info(), and btree_range_scan().
|
static |
Definition at line 3538 of file btree.c.
References assert, recdes::data, non_leaf_rec::key_len, OR_GET_INT, OR_GET_SHORT, OR_INT_SIZE, OR_SHORT_SIZE, vpid::pageid, non_leaf_rec::pnt, vpid::volid, and VPID_ISNULL.
Referenced by btree_check_pages(), btree_delete_meta_record(), btree_dump_page_with_subtree(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), btree_find_key_from_nleaf(), btree_get_next_node_info(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_merge_node(), btree_merge_node_and_advance(), btree_repair_prev_link_by_btid(), and btree_search_nonleaf_page().
|
static |
Definition at line 3581 of file btree.c.
References assert, non_leaf_rec::key_len, NO_ERROR, or_get_int(), or_get_short(), vpid::pageid, non_leaf_rec::pnt, rc, vpid::volid, and VPID_ISNULL.
Referenced by btree_read_record_without_decompression().
TP_DOMAIN* btree_read_key_type | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid | ||
) |
Definition at line 9079 of file btree.c.
References btree_get_root_header(), NULL, OLD_PAGE, or_unpack_domain(), btree_root_header::packed_key_domain, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by partition_attrinfo_get_key().
int btree_read_record | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid, | ||
PAGE_PTR | pgptr, | ||
RECDES * | rec, | ||
DB_VALUE * | key, | ||
void * | rec_header, | ||
BTREE_NODE_TYPE | node_type, | ||
bool * | clear_key, | ||
int * | offset, | ||
int | copy_key, | ||
BTREE_SCAN * | bts | ||
) |
Definition at line 4233 of file btree.c.
References assert, btree_clear_key_value(), btree_init_temp_key_value(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, BTREE_LEAF_RECORD_OVERFLOW_KEY, btree_node_common_prefix(), btree_read_record_without_decompression(), btree_scan::common_prefix, COMMON_PREFIX_UNKNOWN, DB_TYPE_MIDXKEY, DB_VALUE_TYPE, error(), NO_ERROR, NULL, PEEK, PEEK_KEY_VALUE, pr_midxkey_add_prefix(), REC_HOME, spage_get_record(), and recdes::type.
Referenced by btree_build_nleafs(), btree_check_page_key(), btree_delete_meta_record(), btree_find_key_from_leaf(), btree_find_min_or_max_key(), btree_find_split_point(), btree_fix_ovfl_oid_page(), btree_get_next_node_info(), btree_get_stats_key(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_get_value_from_leaf_slot(), btree_is_slot_visible(), btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_unique_version_oid(), btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_record_check_no_visible(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_is_key_between_min_max(), btree_range_scan_read_record(), btree_rv_record_modify_internal(), btree_set_split_point(), and btree_verify_subtree().
|
static |
Definition at line 4323 of file btree.c.
References assert, btree_clear_key_value(), BTREE_IS_UNIQUE, btree_leaf_get_vpid_for_overflow_oids(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_load_overflow_key(), btree_log_if_enabled, BTREE_NORMAL_KEY, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OVERFLOW_KEY, btree_read_fixed_portion_of_non_leaf_record_from_orbuf(), btree_record_object_is_flagged(), or_buf::buffer, CAST_BUFLEN, btid_int::copy_buf, btid_int::copy_buf_len, COPY_KEY_VALUE, recdes::data, DB_IS_NULL, db_make_null(), DB_TYPE_MIDXKEY, pr_type::id, pr_type::index_readval(), non_leaf_rec::key_len, leaf_rec::key_len, btid_int::key_type, recdes::length, db_value::need_clear, NO_ERROR, btid_int::nonleaf_key_type, NULL, or_advance(), or_get_int(), or_get_short(), or_init(), OR_INT_SIZE, OR_MVCCID_SIZE, OR_OID_SIZE, leaf_rec::ovfl, vpid::pageid, or_buf::ptr, PTR_ALIGN, QSTR_IS_ANY_CHAR_OR_BIT, rc, REC_HOME, tp_domain::type, recdes::type, btid_int::unique_pk, vpid::volid, and VPID_SET_NULL.
Referenced by btree_compress_node(), btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_merge_node(), btree_node_common_prefix(), btree_node_size_uncompressed(), btree_read_record(), btree_recompress_record(), btree_search_leaf_page(), btree_search_nonleaf_page(), btree_verify_leaf_node(), btree_verify_nonleaf_node(), and page_key_boundary::set_value().
|
static |
Definition at line 12457 of file btree.c.
References assert, ASSERT_ERROR, btree_clear_key_value(), btree_get_disk_size_of_key(), btree_init_temp_key_value(), BTREE_LEAF_NODE, btree_read_record_without_decompression(), recdes::data, DB_ALIGN, DB_IS_NULL, db_make_null(), or_buf::endptr, pr_type::index_writeval(), INT_ALIGNMENT, btid_int::key_type, NO_ERROR, NULL, or_align(), or_init(), PEEK_KEY_VALUE, pr_clear_value(), pr_clone_value(), pr_midxkey_add_prefix(), pr_midxkey_remove_prefix(), or_buf::ptr, RECORD_MOVE_DATA, and tp_domain::type.
Referenced by btree_merge_node().
|
static |
Definition at line 32634 of file btree.c.
References assert, btree_add_mvccid(), btree_check_valid_record(), btree_is_class_oid_packed(), BTREE_LEAF_NODE, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OVERFLOW_NODE, btree_record_object_is_flagged(), btree_set_mvccid(), recdes::data, NULL, OR_MVCCID_SIZE, and OR_OID_SIZE.
Referenced by btree_insert_mvcc_delid_into_page().
|
static |
Definition at line 3774 of file btree.c.
References assert, btree_check_valid_record(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_pack_object(), CAST_BUFLEN, recdes::data, DISK_VPID_ALIGNED_SIZE, recdes::length, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, OR_GET_VPID, OR_PUT_VPID_ALIGNED, VPID_INITIALIZER, and VPID_ISNULL.
Referenced by btree_key_append_object_non_unique(), btree_key_append_object_unique(), and btree_start_overflow_page().
|
static |
Definition at line 3223 of file btree.c.
References assert, ASSERT_ERROR, assert_release, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_OBJECT_FIXED_SIZE, btree_or_get_object(), BTREE_OVERFLOW_NODE, BTREE_RECORD_OR_BUF_INIT, btree_unpack_object(), or_buf::buffer, CAST_BUFLEN, recdes::data, or_buf::endptr, NO_ERROR, NULL, or_seek(), or_buf::ptr, and btid_int::unique_pk.
Referenced by btree_key_relocate_last_into_ovf(), btree_leaf_remove_object(), and btree_replace_first_oid_with_ovfl_oid().
|
static |
Definition at line 2733 of file btree.c.
References assert, BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, BTREE_OBJECT_FIXED_SIZE, btree_record_object_get_mvcc_flags(), BTREE_RECORD_OR_BUF_INIT, CAST_BUFLEN, CEIL_PTVDIV, or_buf::endptr, recdes::length, NULL, OR_OID_SIZE, or_seek(), or_buf::ptr, and btid_int::unique_pk.
Referenced by btree_dump_leaf_record(), btree_find_oid_from_ovfl(), btree_get_next_key_info(), btree_get_subtree_capacity(), btree_key_append_object_non_unique(), btree_key_append_object_unique(), btree_key_relocate_last_into_ovf(), btree_range_scan_count_oids_leaf_and_one_ovf(), btree_range_scan_select_visible_oids(), and btree_verify_leaf_node().
|
static |
Definition at line 2629 of file btree.c.
References assert, BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_OIDS, btree_mvcc_info_to_heap_mvcc_header(), BTREE_NON_LEAF_NODE, btree_or_get_mvccinfo(), BTREE_OVERFLOW_NODE, btree_record_object_get_mvcc_flags(), recdes::data, DB_ALIGN, DISK_VPID_SIZE, or_buf::endptr, ER_FAILED, INT_ALIGNMENT, recdes::length, NO_ERROR, NULL, or_advance(), or_init(), OR_OID_SIZE, or_seek(), or_buf::ptr, mvcc_snapshot::snapshot_fnc, SNAPSHOT_SATISFIED, and btid_int::unique_pk.
Referenced by btree_get_num_visible_from_leaf_and_ovf(), and btree_get_num_visible_oids_from_all_ovf().
|
static |
Definition at line 3493 of file btree.c.
References assert, BTREE_OID_MVCC_FLAGS_MASK, OR_GET_SHORT, OR_OID_VOLID, and OR_PUT_SHORT.
Referenced by btree_remove_mvccid().
|
static |
Definition at line 3391 of file btree.c.
References assert, BTREE_OID_MVCC_FLAGS_MASK, NULL, OR_GET_SHORT, and OR_OID_VOLID.
Referenced by btree_check_valid_record(), btree_dump_leaf_record(), btree_key_find_first_visible_row(), btree_leaf_get_nth_oid_ptr(), btree_leaf_record_handle_first_overflow(), btree_or_get_object(), btree_record_get_num_oids(), btree_record_get_num_visible_oids(), btree_record_remove_object_internal(), btree_record_replace_object(), and btree_verify_leaf_node().
|
static |
Definition at line 3423 of file btree.c.
References assert, BTREE_OID_MVCC_FLAGS_MASK, OR_GET_SHORT, and OR_OID_VOLID.
Referenced by btree_add_mvccid(), btree_delete_overflow_key(), btree_leaf_change_first_object(), btree_leaf_record_change_overflow_link(), btree_online_index_change_state(), btree_read_record_without_decompression(), btree_record_add_delid(), and btree_record_remove_delid().
|
static |
Definition at line 3456 of file btree.c.
References assert, BTREE_OID_MVCC_FLAGS_MASK, OR_GET_SHORT, OR_OID_VOLID, and OR_PUT_SHORT.
Referenced by btree_add_mvccid(), btree_leaf_change_first_object(), btree_leaf_record_handle_first_overflow(), and btree_write_record().
|
static |
Definition at line 23728 of file btree.c.
References assert, BTREE_LEAF_NODE, btree_or_get_object(), BTREE_OVERFLOW_NODE, BTREE_RECORD_OR_BUF_INIT, or_buf::endptr, NO_ERROR, NULL, and or_buf::ptr.
Referenced by btree_key_process_objects(), btree_range_scan_find_fk_any_object(), and btree_range_scan_select_visible_oids().
|
static |
Definition at line 32568 of file btree.c.
References assert, btree_check_valid_record(), BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OVERFLOW_NODE, btree_record_object_is_flagged(), btree_remove_mvccid(), btree_set_mvccid(), recdes::data, MVCCID_NULL, NULL, OR_MVCCID_SIZE, OR_OID_SIZE, and btid_int::unique_pk.
Referenced by btree_key_remove_delete_mvccid_non_unique(), and btree_remove_delete_mvccid_unique_internal().
|
static |
Definition at line 32508 of file btree.c.
References assert, btree_check_valid_record(), btree_is_class_oid_packed(), BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_OID_HAS_MVCC_INSID, BTREE_OVERFLOW_NODE, btree_remove_mvccid(), btree_set_mvccid(), MVCCID_ALL_VISIBLE, NULL, OR_MVCCID_SIZE, OR_OID_SIZE, and btid_int::unique_pk.
Referenced by btree_key_remove_insert_mvccid(), and btree_online_index_change_state().
|
static |
Definition at line 3317 of file btree.c.
References assert, btree_check_valid_record(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, recdes::data, DISK_VPID_ALIGNED_SIZE, recdes::length, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, object_size(), and VPID_COPY.
Referenced by btree_key_relocate_last_into_ovf(), and btree_leaf_record_replace_first_with_last().
|
static |
Definition at line 31228 of file btree.c.
References assert, assert_release, btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, btree_is_delete_object_purpose(), BTREE_KEY_FOUND, BTREE_LEAF_NODE, BTREE_MAX_ALIGN, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OVERFLOW_NODE, btree_record_remove_object_internal(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_REM_OBJ, BTREE_RV_GET_DATA_LENGTH(), btree_rv_log_delete_object(), BTREE_RV_SET_OVERFLOW_NODE, BTREE_RV_UNDOREDO_SET_DEBUG_INFO, DONT_FREE, ER_FAILED, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_delete_helper::is_system_op_started, recdes::length, LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, LSA_COPY(), NO_ERROR, NULL, log_data_addr::offset, pgbuf_get_lsa(), pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::purpose, btree_search_key_helper::result, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, btree_search_key_helper::slotid, SP_SUCCESS, spage_update(), and btid_int::sys_btid.
Referenced by btree_leaf_remove_object(), and btree_overflow_remove_object().
|
static |
Definition at line 31321 of file btree.c.
References assert, btree_check_valid_record(), BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_OVERFLOW_NODE, btree_record_object_get_mvcc_flags(), recdes::data, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, OR_OID_SIZE, RECORD_MOVE_DATA, and btid_int::unique_pk.
Referenced by btree_key_remove_object_and_keep_visible_first(), btree_record_remove_object(), and btree_record_replace_object().
|
static |
Definition at line 32697 of file btree.c.
References assert, btree_check_valid_record(), BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS, btree_insert_object_ordered_by_oid(), BTREE_IS_UNIQUE, btree_leaf_change_first_object(), BTREE_LEAF_NODE, BTREE_MVCC_INFO_SET_FIXED_SIZE, BTREE_OBJECT_FIXED_SIZE, btree_pack_object(), btree_record_object_get_mvcc_flags(), btree_record_remove_object_internal(), CAST_BUFLEN, btree_object_info::class_oid, recdes::data, btree_mvcc_info::flags, recdes::length, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), btree_object_info::mvcc_info, NULL, btree_object_info::oid, OR_OID_SIZE, RECORD_MOVE_DATA, and btid_int::unique_pk.
Referenced by btree_overflow_record_replace_object().
|
static |
Definition at line 23912 of file btree.c.
References ARG_FILE_LINE, assert, BTREE_IS_UNIQUE, btree_mvcc_info_to_heap_mvcc_header(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, er_set(), btree_rec_satisfies_snapshot_helper::match_class_oid, NO_ERROR, NULL, btree_rec_satisfies_snapshot_helper::oid_capacity, btree_rec_satisfies_snapshot_helper::oid_cnt, OID_EQ, OID_ISNULL, btree_rec_satisfies_snapshot_helper::oid_ptr, btree_rec_satisfies_snapshot_helper::snapshot, mvcc_snapshot::snapshot_fnc, SNAPSHOT_SATISFIED, and btid_int::unique_pk.
Referenced by btree_key_find_unique_version_oid().
int btree_reflect_global_unique_statistics | ( | THREAD_ENTRY * | thread_p, |
GLOBAL_UNIQUE_STATS * | unique_stat_info, | ||
bool | only_active_tran | ||
) |
Definition at line 14049 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, assert_release, global_unique_stats::btid, btree_get_root_header(), BTREE_IS_UNIQUE, DONT_FREE, ER_FAILED, vfid::fileid, global_unique_stats::last_log_lsa, logtb_is_current_active(), LSA_LT(), NO_ERROR, NULL, btree_root_header::num_keys, log_unique_stats::num_keys, btree_root_header::num_nulls, log_unique_stats::num_nulls, btree_root_header::num_oids, log_unique_stats::num_oids, log_lsa::offset, OLD_PAGE, PAGE_BTREE, log_lsa::pageid, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, pgbuf_get_lsa(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), pgbuf_set_lsa(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, prm_get_bool_value(), PRM_ID_LOG_UNIQUE_STATS, btid::root_pageid, btree_root_header::unique_pk, global_unique_stats::unique_stats, btid::vfid, vpid::volid, and vfid::volid.
Referenced by logtb_reflect_global_unique_stats_to_btree().
|
static |
Definition at line 32204 of file btree.c.
References assert, ASSERT_ERROR, assert_release, BTID_AS_ARGS, btree_check_valid_record(), BTREE_DELETE_CLASS_OID, BTREE_DELETE_HELPER_AS_ARGS, BTREE_DELETE_HELPER_MSG, btree_delete_log, BTREE_DELETE_MVCC_INFO, BTREE_DELETE_OID, BTREE_ID_MSG, btree_leaf_change_first_object(), btree_leaf_get_first_object(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_OIDS, BTREE_MVCC_INFO_CLEAR_DELID, BTREE_MVCC_INFO_CLEAR_FIXED_SIZE, BTREE_MVCC_INFO_SET_FIXED_SIZE, BTREE_OBJECT_FIXED_SIZE, BTREE_OBJECT_INFO_INITIALIZER, BTREE_OBJINFO_AS_ARGS, BTREE_OBJINFO_MSG, BTREE_OP_DELETE_UNDO_INSERT_DELID, btree_overflow_record_replace_object(), btree_pack_object(), btree_record_remove_delid(), btree_object_info::class_oid, recdes::data, btree_mvcc_info::delete_mvccid, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, btree_delete_helper::is_system_op_started, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), btree_delete_helper::match_mvccinfo, btree_object_info::mvcc_info, NO_ERROR, NULL, btree_object_info::oid, PGBUF_PAGE_STATE_ARGS, PGBUF_PAGE_STATE_MSG, btree_delete_helper::purpose, and btid_int::sys_btid.
Referenced by btree_key_remove_delete_mvccid_unique().
|
inlinestatic |
Definition at line 3727 of file btree.c.
References btree_record_object_clear_mvcc_flags(), recdes::data, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, OR_MVCCID_SIZE, OR_OID_VOLID, OR_SHORT_SIZE, and RECORD_MOVE_DATA.
Referenced by btree_record_remove_delid(), and btree_record_remove_insid().
DISK_ISVALID btree_repair_prev_link | ( | THREAD_ENTRY * | thread_p, |
OID * | oid, | ||
BTID * | index_btid, | ||
bool | repair | ||
) |
Definition at line 8203 of file btree.c.
References ASSERT_ERROR, btree_get_btid_from_file(), btree_repair_prev_link_by_btid(), btree_repair_prev_link_by_class_oid(), DISK_ERROR, DISK_VALID, FILE_BTREE, file_tracker_interruptable_iterate(), heap_get_indexinfo_of_btid(), lock_unlock_object(), NO_ERROR, NULL, OID_INITIALIZER, OID_ISNULL, oid_Root_class_oid, SCH_S_LOCK, btid::vfid, VFID_ISNULL, and VFID_SET_NULL.
Referenced by xboot_check_db_consistency(), and xboot_checkdb_table().
|
static |
Definition at line 7949 of file btree.c.
References ARG_FILE_LINE, assert, btree_get_node_header(), BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), btree_set_vpid_previous_vpid(), DISK_ERROR, DISK_INVALID, DISK_VALID, ER_BTREE_CORRUPT_PREV_LINK, ER_BTREE_REPAIR_PREV_LINK, ER_ERROR_SEVERITY, ER_NOTIFICATION_SEVERITY, er_set(), log_sysop_abort(), log_sysop_commit(), log_sysop_start(), btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, PEEK, pgbuf_check_page_ptype(), PGBUF_CONDITIONAL_LATCH, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, pgbuf_unfix_and_init, non_leaf_rec::pnt, btree_node_header::prev_vpid, btid::root_pageid, S_SUCCESS, spage_get_record(), btid_int::sys_btid, thread_sleep(), btid::vfid, vpid::volid, vfid::volid, VPID_EQ, VPID_ISNULL, VPID_SET, VPID_SET_NULL, and xcallback_console_print().
Referenced by btree_repair_prev_link(), and btree_repair_prev_link_by_class_oid().
|
static |
Definition at line 8149 of file btree.c.
References or_index::btid, BTID_IS_EQUAL, btree_repair_prev_link_by_btid(), DISK_ERROR, DISK_VALID, free_and_init, heap_classrepr_free_and_init, heap_classrepr_get(), heap_get_indexinfo_of_btid(), i, or_classrep::indexes, IS_LOCK, LK_GRANTED, LK_UNCOND_LOCK, lock_object(), lock_unlock_object(), NULL, NULL_REPRID, and oid_Root_class_oid.
Referenced by btree_repair_prev_link().
|
static |
Definition at line 9250 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_check_valid_record(), btree_delete_log, BTREE_DELETE_MODIFY_ARGS, BTREE_DELETE_MODIFY_MSG, btree_is_delete_object_purpose(), BTREE_KEY_FOUND, btree_leaf_change_first_object(), btree_leaf_get_first_object(), BTREE_MAX_ALIGN, BTREE_OBJINFO_AS_ARGS, BTREE_OBJINFO_MSG, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OVERFLOW_NODE, btree_overflow_record_replace_object(), btree_overflow_remove_object(), btree_record_get_last_object(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_SWAP_LEAF, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_UNDOREDO_SET_DEBUG_INFO, btree_object_info::class_oid, COPY, COPY_OID, recdes::data, DB_PAGESIZE, DONT_FREE, ER_FAILED, IO_MAX_PAGE_SIZE, btree_delete_helper::is_system_op_started, btree_delete_helper::leaf_addr, recdes::length, log_append_undoredo_data(), LOG_RV_RECORD_SET_MODIFY_MODE(), LOG_RV_RECORD_UPDATE_PARTIAL, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), LSA_COPY(), btree_object_info::mvcc_info, NO_ERROR, NULL, btree_delete_helper::object_info, log_data_addr::offset, btree_object_info::oid, OID_EQ, OLD_PAGE, PAGE_BTREE, pgbuf_check_page_ptype(), pgbuf_fix, pgbuf_get_lsa(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, log_data_addr::pgptr, PTR_ALIGN, btree_delete_helper::purpose, btree_search_key_helper::result, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_UNDOREDO, S_SUCCESS, btree_search_key_helper::slotid, SP_SUCCESS, spage_get_record(), spage_update(), and btid_int::sys_btid.
Referenced by btree_leaf_remove_object().
|
static |
Definition at line 1111 of file btree.c.
References assert, BTREE_RV_BUFFER_SIZE, CAST_BUFLEN, and NULL.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_append_object_unique(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid_non_unique(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_record_remove_object(), btree_replace_first_oid_with_ovfl_oid(), and btree_start_overflow_page().
void btree_rv_keyval_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 17947 of file btree.c.
References BTREE_LEAF_RECORD_CLASS_OID, BTREE_OID_CLEAR_ALL_FLAGS, BTREE_OID_GET_MVCC_FLAGS, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OID_IS_RECORD_FLAG_SET, CAST_BUFLEN, vfid::fileid, log_rv_dump_hexa(), or_unpack_btid(), or_unpack_mvccid(), or_unpack_oid(), db_identifier::pageid, btid::root_pageid, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
int btree_rv_keyval_undo_delete | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17864 of file btree.c.
References assert, ASSERT_ERROR, btree_rv_read_keyval_info_nocopy(), btree_undo_delete_physical(), log_rcv::data, ER_BTREE_DUPLICATE_OID, ER_INTERRUPTED, log_rcv::length, NO_ERROR, OID_ISNULL, log_rcv::reference_lsa, and btid_int::sys_btid.
int btree_rv_keyval_undo_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17696 of file btree.c.
References assert, ASSERT_ERROR, btree_rv_read_keybuf_nocopy(), btree_undo_insert_object(), log_rcv::data, ER_BTREE_UNKNOWN_KEY, ER_INTERRUPTED, err, log_rcv::length, log_rcv::mvcc_id, MVCCID_ALL_VISIBLE, MVCCID_IS_VALID, NO_ERROR, OID_ISNULL, log_rcv::reference_lsa, and btid_int::sys_btid.
int btree_rv_keyval_undo_insert_mvcc_delid | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17801 of file btree.c.
References assert, ASSERT_ERROR, BTREE_MVCC_INFO_DELID, BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_MVCC_INFO_SET_DELID, BTREE_MVCC_INFO_SET_INSID, BTREE_RV_IS_UNDO_MVCCDEL_MYOBJ, btree_rv_read_keybuf_nocopy(), btree_undo_mvcc_delete(), log_rcv::data, btree_mvcc_info::delete_mvccid, ER_BTREE_UNKNOWN_KEY, ER_INTERRUPTED, err, log_rcv::length, btree_delete_helper::match_mvccinfo, log_rcv::mvcc_id, MVCCID_IS_VALID, MVCCID_NULL, NO_ERROR, log_rcv::offset, OID_ISNULL, log_rcv::reference_lsa, and btid_int::sys_btid.
int btree_rv_keyval_undo_insert_unique | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17750 of file btree.c.
References assert_release, BTREE_OBJECT_INFO_INITIALIZER, btree_rv_read_keybuf_two_objects(), btree_undo_insert_object_unique_multiupd(), log_rcv::data, ER_FAILED, err, log_rcv::length, log_rcv::mvcc_id, MVCCID_ALL_VISIBLE, MVCCID_IS_VALID, MVCCID_NULL, NO_ERROR, log_rcv::reference_lsa, and btid_int::sys_btid.
int btree_rv_keyval_undo_online_index_tran_delete | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 35100 of file btree.c.
References assert, ASSERT_ERROR, btree_online_index_dispatcher(), BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, btree_rv_read_keyval_info_nocopy(), log_rcv::data, log_rcv::length, NO_ERROR, OID_ISNULL, pr_clear_value(), log_rcv::reference_lsa, btid_int::sys_btid, and btid_int::unique_pk.
int btree_rv_keyval_undo_online_index_tran_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 35150 of file btree.c.
References assert, ASSERT_ERROR, btree_online_index_dispatcher(), BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, btree_rv_read_keyval_info_nocopy(), log_rcv::data, err, log_rcv::length, NO_ERROR, OID_ISNULL, pr_clear_value(), log_rcv::reference_lsa, btid_int::sys_btid, and btid_int::unique_pk.
|
static |
Definition at line 34904 of file btree.c.
References assert, btree_is_delete_object_purpose(), BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED, BTREE_OP_DELETE_UNDO_INSERT, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, BTREE_OP_DELETE_VACUUM_OBJECT, BTREE_OP_ONLINE_INDEX_IB_DELETE, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT, btree_delete_helper::is_system_op_started, log_append_compensate_with_undo_nxlsa(), log_append_redo_data(), log_append_run_postpone(), log_append_undoredo_data(), LOG_FIND_CURRENT_TDES(), log_data_addr::offset, pgbuf_get_vpid_ptr(), log_data_addr::pgptr, btree_delete_helper::purpose, btree_delete_helper::reference_lsa, btree_delete_helper::rv_keyval_data, btree_delete_helper::rv_keyval_data_length, RVBT_DELETE_OBJECT_PHYSICAL, RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE, RVBT_RECORD_MODIFY_COMPENSATE, RVBT_RECORD_MODIFY_UNDOREDO, and TDE_ALGORITHM_NONE.
Referenced by btree_delete_key_from_leaf(), btree_key_online_index_tran_delete(), btree_leaf_record_replace_first_with_last(), and btree_record_remove_object().
|
static |
Definition at line 34965 of file btree.c.
References assert, btree_is_insert_object_purpose(), btree_online_index_is_delete_flag_state(), BTREE_OP_INSERT_NEW_OBJECT, BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, BTREE_OP_ONLINE_INDEX_IB_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT, BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF, BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE, btree_insert_helper::compensate_undo_nxlsa, btree_mvcc_info::insert_mvccid, btree_insert_helper::is_system_op_started, log_append_compensate_with_undo_nxlsa(), log_append_redo_data(), log_append_undoredo_data(), LOG_FIND_CURRENT_TDES(), btree_object_info::mvcc_info, btree_insert_helper::obj_info, log_data_addr::offset, pgbuf_get_vpid_ptr(), log_data_addr::pgptr, btree_insert_helper::purpose, btree_insert_helper::rcvindex, btree_insert_helper::rv_keyval_data, btree_insert_helper::rv_keyval_data_length, RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE, RVBT_ONLINE_INDEX_UNDO_TRAN_INSERT, RVBT_RECORD_MODIFY_COMPENSATE, RVBT_RECORD_MODIFY_NO_UNDO, RVBT_RECORD_MODIFY_UNDOREDO, and TDE_ALGORITHM_NONE.
Referenced by btree_key_append_object_non_unique(), btree_key_append_object_to_overflow(), btree_key_insert_new_key(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
int btree_rv_newpage_redo_init | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17442 of file btree.c.
References BTREE_MAX_ALIGN, DONT_SAFEGUARD_RVSPACE, NO_ERROR, PAGE_BTREE, pgbuf_set_page_ptype(), log_rcv::pgptr, spage_initialize(), and UNANCHORED_KEEP_SEQUENCE.
int btree_rv_nodehdr_redo_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17142 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, log_rcv::data, recdes::data, DONT_FREE, er_errid(), ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), HEADER, log_rcv::length, recdes::length, NO_ERROR, pgbuf_set_dirty(), log_rcv::pgptr, REC_HOME, SP_ERROR, SP_SUCCESS, spage_insert_at(), and recdes::type.
int btree_rv_nodehdr_undo_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17175 of file btree.c.
References assert, DONT_FREE, HEADER, NO_ERROR, NULL_SLOTID, pgbuf_set_dirty(), log_rcv::pgptr, and spage_delete().
int btree_rv_nodehdr_undoredo_update | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17096 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, log_rcv::data, recdes::data, DONT_FREE, er_errid(), ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), HEADER, log_rcv::length, recdes::length, NO_ERROR, PEEK, pgbuf_set_dirty(), log_rcv::pgptr, REC_HOME, S_SUCCESS, SP_ERROR, SP_SUCCESS, spage_get_record(), spage_update(), and recdes::type.
void btree_rv_noderec_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 17296 of file btree.c.
References recdes::area_size, recdes::data, DB_PAGESIZE, free_and_init, recdes::length, OFFS1, OFFS2, OFFS3, and recdes::type.
void btree_rv_noderec_dump_slot_id | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
int btree_rv_noderec_redo_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17234 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, log_rcv::data, recdes::data, DONT_FREE, er_errid(), ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), log_rcv::length, recdes::length, NO_ERROR, OFFS2, OFFS3, log_rcv::offset, pgbuf_set_dirty(), log_rcv::pgptr, SP_ERROR, SP_SUCCESS, spage_insert_at(), and recdes::type.
int btree_rv_noderec_undo_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17271 of file btree.c.
References assert, DONT_FREE, NO_ERROR, NULL_SLOTID, log_rcv::offset, pgbuf_set_dirty(), log_rcv::pgptr, and spage_delete_for_recovery().
int btree_rv_noderec_undoredo_update | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17197 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, log_rcv::data, recdes::data, DONT_FREE, er_errid(), ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), log_rcv::length, recdes::length, NO_ERROR, OFFS2, OFFS3, log_rcv::offset, pgbuf_set_dirty(), log_rcv::pgptr, SP_ERROR, SP_SUCCESS, spage_update(), and recdes::type.
int btree_rv_nop | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 18017 of file btree.c.
References assert, DONT_FREE, NO_ERROR, NULL, pgbuf_set_dirty(), and log_rcv::pgptr.
void btree_rv_ovfid_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 17079 of file btree.c.
References vfid::fileid, and vfid::volid.
int btree_rv_ovfid_undoredo_update | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17039 of file btree.c.
References ARG_FILE_LINE, assert, btree_get_root_header(), log_rcv::data, DONT_FREE, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), log_rcv::length, NO_ERROR, NULL, btree_root_header::ovfid, pgbuf_set_dirty(), and log_rcv::pgptr.
int btree_rv_pagerec_delete | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17410 of file btree.c.
References assert, ASSERT_ERROR, log_rcv::data, DONT_FREE, er_errid(), recset_header::first_slotid, for(), i, NO_ERROR, pgbuf_set_dirty(), log_rcv::pgptr, recset_header::rec_cnt, and spage_delete().
int btree_rv_pagerec_insert | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17347 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, BTREE_MAX_ALIGN, log_rcv::data, recdes::data, DB_WASTED_ALIGN, DONT_FREE, er_errid(), ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), recset_header::first_slotid, i, recdes::length, NO_ERROR, pgbuf_set_dirty(), log_rcv::pgptr, recset_header::rec_cnt, SP_ERROR, SP_SUCCESS, spage_insert_at(), and recdes::type.
void btree_rv_read_keybuf_nocopy | ( | THREAD_ENTRY * | thread_p, |
char * | datap, | ||
int | data_size, | ||
BTID_INT * | btid, | ||
OID * | cls_oid, | ||
OID * | oid, | ||
BTREE_MVCC_INFO * | mvcc_info, | ||
OR_BUF * | key_buf | ||
) |
Definition at line 17567 of file btree.c.
References assert, BTREE_LEAF_RECORD_CLASS_OID, BTREE_OID_CLEAR_ALL_FLAGS, BTREE_OID_GET_MVCC_FLAGS, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OID_IS_RECORD_FLAG_SET, CAST_BUFLEN, btree_mvcc_info::delete_mvccid, btree_mvcc_info::flags, btree_mvcc_info::insert_mvccid, INT_ALIGNMENT, MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, OID_SET_NULL, OR_GET_MVCCID, OR_GET_OID, or_init(), OR_MVCCID_SIZE, OR_OID_SIZE, or_unpack_btid(), PTR_ALIGN, and btid_int::sys_btid.
Referenced by btree_rv_keyval_undo_insert(), btree_rv_keyval_undo_insert_mvcc_delid(), btree_rv_read_keyval_info_nocopy(), btree_rv_remove_marked_for_delete(), and vacuum_process_log_block().
void btree_rv_read_keybuf_two_objects | ( | THREAD_ENTRY * | thread_p, |
char * | datap, | ||
int | data_size, | ||
BTID_INT * | btid_int, | ||
BTREE_OBJECT_INFO * | first_version, | ||
BTREE_OBJECT_INFO * | second_version, | ||
OR_BUF * | key_buf | ||
) |
Definition at line 17631 of file btree.c.
References assert, BTREE_LEAF_RECORD_CLASS_OID, BTREE_OID_CLEAR_ALL_FLAGS, BTREE_OID_GET_MVCC_FLAGS, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OID_IS_MVCC_FLAG_SET, BTREE_OID_IS_RECORD_FLAG_SET, CAST_BUFLEN, btree_object_info::class_oid, btree_mvcc_info::delete_mvccid, btree_mvcc_info::flags, btree_mvcc_info::insert_mvccid, INT_ALIGNMENT, btree_object_info::mvcc_info, NULL, btree_object_info::oid, OID_SET_NULL, or_init(), or_unpack_btid(), or_unpack_mvccid(), or_unpack_oid(), PTR_ALIGN, and btid_int::sys_btid.
Referenced by btree_rv_keyval_undo_insert_unique(), and vacuum_process_log_block().
int btree_rv_read_keyval_info_nocopy | ( | THREAD_ENTRY * | thread_p, |
char * | datap, | ||
int | data_size, | ||
BTID_INT * | btid, | ||
OID * | cls_oid, | ||
OID * | oid, | ||
BTREE_MVCC_INFO * | mvcc_info, | ||
DB_VALUE * | key | ||
) |
Definition at line 17473 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_get_root_header(), btree_glean_root_header_info(), btree_rv_read_keybuf_nocopy(), CAST_BUFLEN, DB_TYPE_MIDXKEY, or_buf::endptr, ER_FAILED, error(), pr_type::id, pr_type::index_readval(), btid_int::key_type, NO_ERROR, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, or_buf::ptr, btid::root_pageid, btid_int::sys_btid, tp_domain::type, btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_rv_keyval_undo_delete(), btree_rv_keyval_undo_online_index_tran_delete(), and btree_rv_keyval_undo_online_index_tran_insert().
|
static |
Definition at line 28849 of file btree.c.
References _er_log_debug(), recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ALIGN, ASSERT_ERROR, assert_release, btree_check_valid_record(), btree_clear_key_value(), btree_get_node_header(), btree_init_temp_key_value(), BTREE_IS_UNIQUE, btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_OVERFLOW_KEY, BTREE_MAX_ALIGN, BTREE_MVCC_INFO_INITIALIZER, btree_node_number_of_keys(), BTREE_OBJECT_FIXED_SIZE, BTREE_OVERFLOW_NODE, btree_read_record(), BTREE_RV_FLAGS_MASK, BTREE_RV_HAS_DEBUG_INFO, BTREE_RV_IS_UPDATE_MAX_KEY_LEN, BTREE_RV_OVERFLOW_FLAG, BTREE_RV_REDO_NO_ID, btree_split_next_pivot(), btree_unpack_object(), CAST_BUFLEN, COPY, log_rcv::data, recdes::data, DB_PAGESIZE, db_private_free, btree_mvcc_info::delete_mvccid, DISK_VPID_ALIGNED_SIZE, DONT_FREE, ER_FAILED, HEADER, if(), btree_mvcc_info::insert_mvccid, INT_ALIGNMENT, IO_MAX_PAGE_SIZE, btid_int::key_type, log_rcv::length, recdes::length, LOG_RV_RECORD_IS_DELETE(), LOG_RV_RECORD_IS_INSERT(), LOG_RV_RECORD_IS_UPDATE_ALL(), LOG_RV_RECORD_IS_UPDATE_PARTIAL(), log_rv_undoredo_record_partial_changes(), btree_node_header::max_key_len, btree_overflow_header::next_vpid, NO_ERROR, NULL, log_rcv::offset, OID_INITIALIZER, OID_SET_NULL, OR_GET_INT, OR_GET_OID, OR_GET_VPID, OR_INT_SIZE, OR_OID_SIZE, or_unpack_domain(), or_unpack_int(), db_identifier::pageid, PEEK_KEY_VALUE, PGBUF_PAGE_STATE_ARGS, pgbuf_set_dirty(), log_rcv::pgptr, btree_node_split_info::pivot, pr_valstring(), btree_delete_helper::printed_key, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, PTR_ALIGN, REC_HOME, db_identifier::slotid, SP_SUCCESS, spage_delete(), spage_get_record(), spage_insert_at(), spage_update(), btree_node_header::split_info, btid_int::topclass_oid, recdes::type, btid_int::unique_pk, and db_identifier::volid.
Referenced by btree_rv_redo_record_modify(), and btree_rv_undo_record_modify().
int btree_rv_redo_global_unique_stats_commit | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 22425 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, assert, global_unique_stats_table::curr_rcv_rec_lsa, log_rcv::data, disk_is_page_sector_reserved(), DISK_VALID, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), vfid::fileid, log_rcv::length, log_Gl, logtb_rv_update_global_unique_stats_by_abs(), NO_ERROR, log_lsa::offset, OR_BTID_ALIGNED_SIZE, OR_GET_BTID, OR_GET_INT, OR_INT_SIZE, log_lsa::pageid, prm_get_bool_value(), PRM_ID_LOG_UNIQUE_STATS, btid::root_pageid, log_global::unique_stats_table, btid::vfid, and vfid::volid.
int btree_rv_redo_record_modify | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 28822 of file btree.c.
References btree_rv_record_modify_internal().
int btree_rv_remove_marked_for_delete | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 17914 of file btree.c.
References assert, assert_release, btree_delete_postponed(), BTREE_OBJECT_INFO_INITIALIZER, btree_rv_read_keybuf_nocopy(), btree_object_info::class_oid, log_rcv::data, btree_mvcc_info::delete_mvccid, log_rcv::length, LSA_ISNULL(), btree_object_info::mvcc_info, NO_ERROR, btree_delete_helper::object_info, btree_object_info::oid, log_rcv::reference_lsa, and btid_int::sys_btid.
int btree_rv_remove_unique_stats | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 29276 of file btree.c.
References assert, assert_release, log_rcv::data, log_tran_btid_unique_stats::deleted, ER_FAILED, log_rcv::length, log_append_redo_data(), log_check_system_op_is_started(), LOG_DATA_ADDR_INITIALIZER, logtb_delete_global_unique_stats(), logtb_tran_find_btid_stats(), NO_ERROR, NULL, log_data_addr::offset, log_rcv::offset, and RVBT_REMOVE_UNIQUE_STATS.
void btree_rv_roothdr_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 17011 of file btree.c.
References OR_GET_INT, and OR_INT_SIZE.
int btree_rv_roothdr_undo_update | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 16966 of file btree.c.
References ARG_FILE_LINE, assert, btree_get_root_header(), log_rcv::data, DONT_FREE, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), log_rcv::length, NO_ERROR, NULL, btree_root_header::num_keys, btree_root_header::num_nulls, btree_root_header::num_oids, OR_GET_INT, OR_INT_SIZE, pgbuf_set_dirty(), and log_rcv::pgptr.
int btree_rv_save_keyval_for_undo | ( | BTID_INT * | btid, |
DB_VALUE * | key, | ||
OID * | cls_oid, | ||
OID * | oid, | ||
BTREE_MVCC_INFO * | mvcc_info, | ||
BTREE_OP_PURPOSE | purpose, | ||
char * | preallocated_buffer, | ||
char ** | data, | ||
int * | capacity, | ||
int * | length | ||
) |
Definition at line 16504 of file btree.c.
References assert, ASSERT_ALIGN, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_get_disk_size_of_key(), BTREE_IS_UNIQUE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE, BTREE_OBJECT_MAX_SIZE, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OID_IS_MVCC_FLAG_SET, BTREE_OID_SET_MVCC_FLAG, BTREE_OID_SET_RECORD_FLAG, BTREE_OP_DELETE_OBJECT_PHYSICAL, BTREE_OP_INSERT_MARK_DELETED, BTREE_OP_NOTIFY_VACUUM, BTREE_OP_ONLINE_INDEX_TRAN_DELETE, CAST_BUFLEN, COPY_OID, db_private_alloc, db_private_free_and_init, db_private_realloc, btree_mvcc_info::delete_mvccid, pr_type::index_writeval(), btree_mvcc_info::insert_mvccid, INT_ALIGNMENT, btid_int::key_type, logtb_get_current_mvccid(), MVCCID_IS_NOT_ALL_VISIBLE, MVCCID_IS_VALID, NO_ERROR, NULL, OID_EQ, OR_BTID_ALIGNED_SIZE, or_init(), OR_MVCCID_SIZE, OR_OID_SIZE, or_pack_btid(), OR_PUT_MVCCID, OR_PUT_OID, btid_int::sys_btid, btid_int::topclass_oid, tp_domain::type, and btid_int::unique_pk.
Referenced by btree_construct_leafs(), btree_insert_mvcc_delid_into_page(), btree_key_delete_remove_object(), btree_key_insert_new_object(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), and btree_key_online_index_tran_insert_DF().
int btree_rv_save_keyval_for_undo_two_objects | ( | BTID_INT * | btid, |
DB_VALUE * | key, | ||
BTREE_OBJECT_INFO * | first_version, | ||
BTREE_OBJECT_INFO * | second_version, | ||
BTREE_OP_PURPOSE | purpose, | ||
char * | preallocated_buffer, | ||
char ** | data, | ||
int * | capacity, | ||
int * | length | ||
) |
Definition at line 16714 of file btree.c.
References assert, ASSERT_ALIGN, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_get_disk_size_of_key(), BTREE_IS_UNIQUE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_MVCC_INFO_IS_DELID_VALID, BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, BTREE_OID_IS_MVCC_FLAG_SET, BTREE_OID_SET_MVCC_FLAG, BTREE_OID_SET_RECORD_FLAG, BTREE_OP_INSERT_NEW_OBJECT, CAST_BUFLEN, btree_object_info::class_oid, COPY_OID, db_private_alloc, db_private_free_and_init, db_private_realloc, btree_mvcc_info::delete_mvccid, pr_type::index_writeval(), btree_mvcc_info::insert_mvccid, INT_ALIGNMENT, btid_int::key_type, btree_object_info::mvcc_info, NO_ERROR, NULL, btree_object_info::oid, OID_EQ, OR_BTID_ALIGNED_SIZE, or_init(), OR_OID_SIZE, or_pack_btid(), or_pack_mvccid(), or_pack_oid(), btid_int::sys_btid, btid_int::topclass_oid, tp_domain::type, and btid_int::unique_pk.
Referenced by btree_key_lock_and_append_object_unique().
int btree_rv_undo_global_unique_stats_commit | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 22356 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, assert, global_unique_stats_table::curr_rcv_rec_lsa, log_rcv::data, disk_is_page_sector_reserved(), DISK_VALID, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), vfid::fileid, log_rcv::length, log_Gl, LOG_RECOVERY_UNDO_PHASE, logtb_update_global_unique_stats_by_delta(), NO_ERROR, log_lsa::offset, OR_BTID_ALIGNED_SIZE, OR_GET_BTID, OR_GET_INT, OR_INT_SIZE, log_lsa::pageid, prm_get_bool_value(), PRM_ID_LOG_UNIQUE_STATS, log_global::rcv_phase, btid::root_pageid, log_global::unique_stats_table, btid::vfid, and vfid::volid.
int btree_rv_undo_mark_dealloc_page | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 32847 of file btree.c.
References assert, btree_get_node_header(), log_rcv::data, DONT_FREE, ER_FAILED, log_rcv::length, NO_ERROR, btree_node_header::node_level, NULL, pgbuf_set_dirty(), and log_rcv::pgptr.
int btree_rv_undo_record_modify | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | rcv | ||
) |
Definition at line 28835 of file btree.c.
References btree_rv_record_modify_internal().
int btree_rv_undoredo_copy_page | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 17996 of file btree.c.
References log_rcv::data, DB_PAGESIZE, DONT_FREE, NO_ERROR, PAGE_BTREE, pgbuf_set_dirty(), pgbuf_set_page_ptype(), and log_rcv::pgptr.
int btree_rv_update_tran_stats | ( | THREAD_ENTRY * | thread_p, |
LOG_RCV * | recv | ||
) |
Definition at line 16922 of file btree.c.
References ARG_FILE_LINE, assert, log_rcv::data, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), log_rcv::length, logtb_tran_update_unique_stats(), NO_ERROR, OR_BTID_ALIGNED_SIZE, OR_GET_BTID, OR_GET_INT, and OR_INT_SIZE.
int btree_rv_util_save_page_records | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr, | ||
INT16 | first_slotid, | ||
int | rec_cnt, | ||
INT16 | ins_slotid, | ||
char * | data, | ||
int * | length | ||
) |
Definition at line 16433 of file btree.c.
References assert, BTREE_MAX_ALIGN, recdes::data, DB_WASTED_ALIGN, er_errid(), ER_FAILED, i, recdes::length, NO_ERROR, PEEK, S_SUCCESS, spage_get_record(), and recdes::type.
Referenced by btree_merge_root(), and btree_split_root().
|
static |
Definition at line 10996 of file btree.c.
References assert, BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, recdes::data, recdes::length, NO_ERROR, OFFS1, OFFS2, OFFS3, and recdes::type.
Referenced by btree_delete_meta_record(), btree_fix_ovfl_oid_page(), btree_merge_node(), btree_split_node(), and btree_split_root().
|
static |
Definition at line 10983 of file btree.c.
References BTREE_LEAF_NODE, recdes::data, recdes::length, LOFFS1, LOFFS2, LOFFS3, LOFFS4, NO_ERROR, and recdes::type.
void btree_scan_clear_key | ( | BTREE_SCAN * | btree_scan | ) |
Definition at line 6035 of file btree.c.
References btree_clear_key_value(), btree_scan::clear_cur_key, and btree_scan::cur_key.
Referenced by btree_get_next_key_info(), btree_keyoid_checkscan_check(), btree_range_scan(), btree_range_scan_read_record(), btree_range_scan_start(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_prefetch_index_page_internal(), and scan_end_scan().
|
static |
Definition at line 22135 of file btree.c.
References assert, ASSERT_ERROR_AND_SET, assert_release, btree_capacity::avg_key_len, btree_capacity::avg_pg_free_sp, btree_capacity::avg_pg_key_cnt, btree_capacity::avg_rec_len, btree_capacity::avg_val_per_key, or_index::btid, btid_to_string(), or_index::btname, btree_index_capacity(), cleanup(), db_make_int(), db_make_string_copy(), btree_capacity::dis_key_cnt, error(), btree_capacity::height, btree_capacity::leaf_pg_cnt, btree_capacity::nleaf_pg_cnt, NO_ERROR, NULL, OLD_PAGE, vpid::pageid, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, S_ERROR, S_SUCCESS, btree_capacity::tot_free_space, btree_capacity::tot_pg_cnt, btree_capacity::tot_space, btree_capacity::tot_used_space, btree_capacity::tot_val_cnt, util_byte_to_size_string(), btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_index_next_scan().
|
static |
Definition at line 20806 of file btree.c.
References assert, ASSERT_ERROR_AND_SET, assert_release, or_index::btid, btid_to_string(), or_index::btname, btree_get_root_header(), COPY, db_make_int(), db_make_string_copy(), error(), heap_get_class_record(), heap_scancache_end(), heap_scancache_quick_start_root_hfid(), index_attrs_to_string(), key_type_to_string(), logtb_get_global_unique_stats(), btree_node_header::max_key_len, NO_ERROR, btree_root_header::node, btree_node_header::node_level, NULL, btree_root_header::num_keys, btree_root_header::num_nulls, btree_root_header::num_oids, OID_ISNULL, oid_to_string(), OLD_PAGE, or_get_domain(), or_init(), btree_root_header::ovfid, btree_root_header::packed_key_domain, vpid::pageid, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, RECDES_INITIALIZER, btid::root_pageid, S_ERROR, S_SUCCESS, btree_root_header::topclass_oid, btree_root_header::unique_pk, btid::vfid, vfid_to_string(), vpid::volid, and vfid::volid.
Referenced by btree_index_next_scan().
|
static |
Definition at line 15351 of file btree.c.
References ARG_FILE_LINE, assert, btree_scan::btid_int, BTREE_IS_PART_KEY_DESC, btree_multicol_key_is_null(), db_get_midxkey(), DB_IS_NULL, DB_TYPE_MIDXKEY, DB_VALUE_TYPE, db_midxkey::domain, EQ_NA, ER_BTREE_INVALID_RANGE, ER_ERROR_SEVERITY, er_set(), GE_INF, GE_LE, GE_LT, GT_INF, GT_LE, GT_LT, INF_INF, INF_LE, INF_LT, key_val_range::key1, key_val_range::key2, btree_scan::key_range, btree_keyrange::lower_key, db_midxkey::ncolumns, NO_ERROR, NULL, key_val_range::num_index_term, btree_keyrange::num_index_term, tp_domain::precision, key_val_range::range, btree_keyrange::range, range_reverse(), btree_keyrange::upper_key, and btree_scan::use_desc_index.
Referenced by btree_ils_adjust_range().
|
static |
Definition at line 22497 of file btree.c.
References assert, ASSERT_ERROR, btree_get_node_header(), btree_get_root_with_key(), BTREE_KEY_NOTFOUND, error(), NO_ERROR, NULL, NULL_SLOTID, pgbuf_unfix, pgbuf_unfix_and_init, btree_search_key_helper::result, and btree_search_key_helper::slotid.
Referenced by btree_delete_internal(), btree_insert_internal(), btree_locate_key(), btree_online_index_list_dispatcher(), and xbtree_find_unique().
|
static |
Definition at line 5343 of file btree.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_clear_key_value(), btree_compare_key(), btree_get_node_header(), btree_init_temp_key_value(), BTREE_KEY_BETWEEN, BTREE_KEY_BIGGER, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, BTREE_KEY_SMALLER, btree_leaf_is_flaged(), btree_leaf_is_key_between_min_max(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_common_prefix(), btree_node_number_of_keys(), btree_read_record_without_decompression(), CEIL_PTVDIV, DB_EQ, DB_GT, DB_IS_NULL, DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_DOMAIN_TYPE, ER_FAILED, er_log_debug, error(), btree_search_key_helper::HAS_FENCE_KEY, btree_search_key_helper::has_fence_key, btid_int::key_type, btree_node_header::next_vpid, NO_ERROR, btree_search_key_helper::NO_FENCE_KEY, NULL, NULL_SLOTID, PEEK, PEEK_KEY_VALUE, btree_node_header::prev_vpid, btree_search_key_helper::result, S_SUCCESS, btree_search_key_helper::slotid, spage_get_record(), and VPID_ISNULL.
Referenced by btree_advance_and_find_key(), btree_find_split_point(), btree_get_root_with_key(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_online_index_IB_insert_list(), btree_merge_node_and_advance(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_resume(), btree_set_split_point(), and btree_split_node_and_advance().
|
static |
Definition at line 4995 of file btree.c.
References assert, btree_clear_key_value(), btree_compare_key(), btree_init_temp_key_value(), btree_log_if_enabled, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_fixed_portion_of_non_leaf_record(), btree_read_record_without_decompression(), CEIL_PTVDIV, DB_IS_NULL, DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_DOMAIN_TYPE, ER_FAILED, btid_int::key_type, NO_ERROR, NULL, PEEK, PEEK_KEY_VALUE, non_leaf_rec::pnt, S_SUCCESS, spage_get_record(), page_key_boundary::update_boundary_eq(), page_key_boundary::update_boundary_gt_or_eq(), page_key_boundary::update_boundary_lt(), and VPID_SET_NULL.
Referenced by btree_advance_and_find_key(), btree_merge_node_and_advance(), and btree_split_node_and_advance().
|
static |
Definition at line 25444 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, btree_clear_key_value(), btree_dump_curr_key(), btree_ils_adjust_range(), BTREE_IS_UNIQUE, btree_mvcc_info_to_heap_mvcc_header(), btree_range_opt_check_add_index_key(), BTS_INCREMENT_READ_OIDS, BTS_IS_INDEX_COVERED, BTS_IS_INDEX_ILS, BTS_IS_INDEX_MRO, BTS_KEY_IS_CONSUMED, BTS_NEED_COUNT_ONLY, bts_reset_scan(), BTS_SAVE_OID_IN_BUFFER, indx_scan_id::check_not_vacuumed, btree_scan::clear_cur_key, btree_scan::cur_key, DISK_ERROR, DISK_INVALID, DISK_VALID, btree_scan::end_scan, HEAP_ISVALID_OID, btree_scan::index_scan_idp, btree_scan::is_interrupted, btree_scan::key_filter, btree_scan::key_limit_lower, btree_scan::key_limit_upper, btree_scan::key_status, btree_scan::match_class_oid, indx_scan_id::multi_range_opt, heap_scancache::mvcc_snapshot, btree_scan::n_oids_read_last_iteration, NO_ERROR, btree_scan::node_type, indx_scan_id::not_vacuumed_res, NULL, OID_EQ, OID_ISNULL, indx_scan_id::oid_list, btree_iscan_oid_list::oidp, indx_scan_id::scan_cache, mvcc_snapshot::snapshot_fnc, SNAPSHOT_SATISFIED, btid_int::unique_pk, and vacuum_check_not_vacuumed_rec_header().
Referenced by btree_range_scan_select_visible_oids().
|
static |
Definition at line 11644 of file btree.c.
References assert, ASSERT_ERROR, btree_find_oid_does_mvcc_info_match(), BTREE_GET_OID, BTREE_IS_UNIQUE, BTREE_LEAF_RECORD_MASK, BTREE_OBJECT_FIXED_SIZE, BTREE_OID_HAS_MVCC_INSID_AND_DELID, BTREE_OID_MVCC_FLAGS_MASK, btree_unpack_mvccinfo(), CAST_BUFLEN, recdes::data, NO_ERROR, OID_EQ, OR_OID_SIZE, db_identifier::slotid, btid_int::unique_pk, and db_identifier::volid.
Referenced by btree_find_oid_from_ovfl().
int btree_set_error | ( | THREAD_ENTRY * | thread_p, |
const DB_VALUE * | key, | ||
const OID * | obj_oid, | ||
const OID * | class_oid, | ||
const BTID * | btid, | ||
const char * | bt_name, | ||
int | severity, | ||
int | err_id, | ||
const char * | filename, | ||
int | lineno | ||
) |
Definition at line 18312 of file btree.c.
References assert, db_private_free, er_clear(), er_set(), vfid::fileid, free_and_init, heap_get_class_name(), heap_get_indexinfo_of_btid(), LK_FORCE_ZERO_WAIT, NO_ERROR, NULL, OID_ISNULL, OID_MSG_BUF_SIZE, db_identifier::pageid, pr_valstring(), btid::root_pageid, db_identifier::slotid, VACUUM_IS_THREAD_VACUUM, btid::vfid, vfid::volid, db_identifier::volid, and xlogtb_reset_wait_msecs().
void btree_set_mvcc_flags_into_oid | ( | MVCC_REC_HEADER * | p_mvcc_header, |
OID * | oid | ||
) |
Definition at line 21739 of file btree.c.
References BTREE_OID_HAS_MVCC_DELID, BTREE_OID_HAS_MVCC_INSID, MVCC_IS_FLAG_SET, NULL, OR_MVCC_FLAG_VALID_DELID, OR_MVCC_FLAG_VALID_INSID, and db_identifier::volid.
Referenced by btree_construct_leafs().
void btree_set_mvcc_header_ids_for_update | ( | THREAD_ENTRY * | thread_p, |
bool | do_delete_only, | ||
bool | do_insert_only, | ||
MVCCID * | mvcc_id, | ||
MVCC_REC_HEADER * | mvcc_rec_header | ||
) |
Definition at line 21297 of file btree.c.
References assert, BTREE_INIT_MVCC_HEADER, MVCC_SET_DELID, MVCC_SET_FLAG_BITS, MVCC_SET_INSID, NULL, OR_MVCC_FLAG_VALID_DELID, and OR_MVCC_FLAG_VALID_INSID.
Referenced by locator_add_or_remove_index_internal(), and locator_update_index().
STATIC_INLINE void btree_set_mvccid | ( | RECDES * | rec, |
int | mvccid_offset, | ||
MVCCID * | p_mvccid, | ||
char ** | rv_undo_data_ptr, | ||
char ** | rv_redo_data_ptr | ||
) |
Definition at line 3691 of file btree.c.
References assert, recdes::data, log_rv_pack_redo_record_changes(), log_rv_pack_undo_record_changes(), NULL, OR_MVCCID_SIZE, and OR_PUT_MVCCID.
Referenced by btree_online_index_change_state(), btree_record_add_delid(), btree_record_remove_delid(), and btree_record_remove_insid().
|
static |
Definition at line 13116 of file btree.c.
References assert, btree_clear_key_value(), btree_get_node_header(), btree_get_prefix_separator(), btree_init_temp_key_value(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_record(), btree_search_leaf_page(), COPY_KEY_VALUE, db_private_alloc, db_private_free_and_init, btid_int::key_type, NO_ERROR, btree_node_header::node_level, NULL, NULL_SLOTID, PEEK, pr_clear_value(), pr_clone_value(), S_SUCCESS, btree_search_key_helper::slotid, and spage_get_record().
Referenced by btree_split_test().
|
static |
Definition at line 18487 of file btree.c.
References ARG_FILE_LINE, assert, db_private_free, DB_VALUE_DOMAIN_TYPE, ER_BTREE_UNKNOWN_KEY, ER_ERROR_SEVERITY, er_log_debug, er_set(), ER_WARNING_SEVERITY, vfid::fileid, log_is_in_crash_recovery(), pr_type::name, NULL, pr_type_from_id(), pr_valstring(), btid::root_pageid, VACUUM_IS_THREAD_VACUUM_WORKER, btid::vfid, and vfid::volid.
Referenced by btree_key_delete_remove_object(), btree_key_find_and_insert_delete_mvccid(), btree_key_remove_delete_mvccid(), and btree_key_remove_object_and_keep_visible_first().
|
static |
Definition at line 18611 of file btree.c.
References btree_get_node_header(), btree_node_header_redo_log(), btree_node_header_undo_log(), DONT_FREE, ER_FAILED, NO_ERROR, NULL, pgbuf_set_dirty(), btree_node_header::prev_vpid, btid_int::sys_btid, and btid::vfid.
Referenced by btree_merge_node(), btree_repair_prev_link_by_btid(), and btree_split_node().
|
static |
Definition at line 12271 of file btree.c.
References BTREE_SPLIT_LOWER_BOUND, BTREE_SPLIT_MAX_PIVOT, BTREE_SPLIT_MIN_PIVOT, BTREE_SPLIT_UPPER_BOUND, CEIL_PTVDIV, and btree_node_split_info::pivot.
Referenced by btree_find_split_point().
|
static |
Definition at line 12296 of file btree.c.
References assert, btree_node_split_info::index, NO_ERROR, and btree_node_split_info::pivot.
Referenced by btree_key_insert_new_key(), btree_rv_record_modify_internal(), and btree_split_node().
|
static |
Definition at line 12653 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_clear_key_value(), btree_compare_key(), btree_compress_node(), BTREE_DEBUG_DUMP_SIMPLE, BTREE_DEBUG_TEST_SPLIT, btree_find_split_point(), btree_get_disk_size_of_key(), BTREE_GET_KEY_LEN_IN_PAGE, btree_get_next_page(), btree_get_node_header(), btree_init_node_header(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_leaf_set_flag(), BTREE_MAX_ALIGN, BTREE_MAX_KEYLEN_INPAGE, btree_node_header_redo_log(), btree_node_header_undo_log(), btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, BTREE_NORMAL_KEY, BTREE_OVERFLOW_KEY, btree_rv_write_log_record(), btree_set_vpid_previous_vpid(), btree_split_next_pivot(), btree_split_test(), btree_verify_node(), btree_write_record(), recdes::data, DB_EQ, DB_GT, DB_IS_NULL, DB_LT, DB_PAGESIZE, db_private_free_and_init, DB_UNK, DONT_FREE, ER_FAILED, er_log_debug, FI_TEST, FI_TEST_BTREE_MANAGER_RANDOM_EXIT, pr_type::get_index_size_of_value(), i, IO_MAX_PAGE_SIZE, non_leaf_rec::key_len, btid_int::key_type, log_append_redo_data2(), log_append_undo_data2(), log_append_undoredo_data2(), btree_node_header::max_key_len, btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, NULL, NULL_PAGEID, vpid::pageid, PEEK, perfmon_inc_stat(), pgbuf_get_latch_mode(), PGBUF_LATCH_WRITE, pgbuf_set_dirty(), pgbuf_unfix_and_init, btree_node_split_info::pivot, non_leaf_rec::pnt, btree_node_header::prev_vpid, prm_get_bool_value(), prm_get_integer_value(), PRM_ID_ER_BTREE_DEBUG, PRM_ID_USE_BTREE_FENCE_KEY, PSTAT_BT_NUM_SPLITS, PTR_ALIGN, RVBT_COPYPAGE, RVBT_NDRECORD_INS, S_SUCCESS, SP_SUCCESS, spage_delete(), spage_get_record(), spage_insert_at(), btree_node_header::split_info, btid_int::sys_btid, btid_int::topclass_oid, tp_domain::type, btid::vfid, vpid::volid, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_split_node_and_advance().
|
static |
Definition at line 26588 of file btree.c.
References assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, BTID_AS_ARGS, btree_change_root_header_delta(), btree_get_max_new_data_size(), btree_get_new_page(), btree_get_node_header(), BTREE_ID_MSG, btree_insert_log, btree_is_insert_object_purpose(), BTREE_LEAF_NODE, btree_multicol_key_is_null(), btree_node_header_redo_log(), btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, BTREE_OP_INSERT_MVCC_DELID, BTREE_OP_INSERT_NEW_OBJECT, btree_search_leaf_page(), btree_search_nonleaf_page(), btree_split_node(), btree_split_root(), DB_IS_NULL, DONT_FREE, er_errid(), ER_FAILED, ER_PAGE_LATCH_PROMOTE_FAIL, error(), btree_insert_helper::insert_list, btree_insert_helper::is_crt_node_write_latched, btree_insert_helper::is_root, btree_delete_helper::is_system_op_started, btree_insert_helper::key_len_in_page, LOG_ISRESTARTED, log_sysop_abort(), log_sysop_commit(), log_sysop_start(), LSA_INITIALIZER, btree_insert_list::m_boundaries, btree_insert_list::m_use_page_boundary_check, btree_node_header::max_key_len, btree_insert_helper::need_update_max_key_len, NO_ERROR, btree_node_header::node_level, btree_insert_helper::nonleaf_latch_mode, NULL, OLD_PAGE, pgbuf_fix, pgbuf_get_latch_mode(), pgbuf_get_lsa(), pgbuf_get_vpid_ptr(), PGBUF_LATCH_READ, PGBUF_LATCH_WRITE, pgbuf_notify_vacuum_follows(), PGBUF_PAGE_MODIFY_ARGS, PGBUF_PAGE_MODIFY_MSG, PGBUF_PAGE_STATE_ARGS, PGBUF_PAGE_STATE_MSG, PGBUF_PROMOTE_ONLY_READER, pgbuf_promote_read_latch, PGBUF_PROMOTE_SHARED_READER, pgbuf_set_dirty(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btree_insert_helper::purpose, SERVER_MODE, spage_check_num_slots(), spage_get_free_space_without_saving(), btid_int::sys_btid, btid::vfid, VPID_EQ, and VPID_INITIALIZER.
Referenced by btree_insert_internal(), and btree_online_index_list_dispatcher().
|
static |
Definition at line 13484 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, btree_clear_key_value(), btree_compare_key(), BTREE_DEBUG_DUMP_SIMPLE, BTREE_DEBUG_TEST_SPLIT, btree_find_split_point(), btree_get_disk_size_of_key(), BTREE_GET_KEY_LEN_IN_PAGE, btree_get_node_level(), btree_get_root_header(), btree_init_node_header(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_leaf_set_flag(), BTREE_MAX_ALIGN, BTREE_MAX_KEYLEN_INPAGE, btree_node_header_redo_log(), btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, BTREE_NORMAL_KEY, BTREE_OVERFLOW_KEY, btree_rv_util_save_page_records(), btree_rv_write_log_record(), btree_split_test(), btree_verify_node(), btree_write_default_split_info(), btree_write_record(), recdes::data, DB_EQ, DB_GT, DB_IS_NULL, DB_LT, DB_PAGESIZE, db_private_free_and_init, DB_UNK, DONT_FREE, er_errid(), ER_FAILED, er_log_debug, recset_header::first_slotid, pr_type::get_index_size_of_value(), i, btree_node_split_info::index, IO_MAX_PAGE_SIZE, non_leaf_rec::key_len, btid_int::key_type, log_append_redo_data2(), log_append_undo_data2(), btree_node_header::max_key_len, btree_node_header::next_vpid, NO_ERROR, btree_root_header::node, btree_node_header::node_level, NULL, NULL_PAGEID, vpid::pageid, PEEK, perfmon_inc_stat(), pgbuf_set_dirty(), non_leaf_rec::pnt, btree_node_header::prev_vpid, prm_get_bool_value(), prm_get_integer_value(), PRM_ID_ER_BTREE_DEBUG, PRM_ID_USE_BTREE_FENCE_KEY, PSTAT_BT_NUM_SPLITS, PTR_ALIGN, recset_header::rec_cnt, RVBT_COPYPAGE, RVBT_DEL_PGRECORDS, RVBT_INS_PGRECORDS, RVBT_NDRECORD_INS, S_SUCCESS, SP_SUCCESS, spage_delete(), spage_get_record(), spage_insert_at(), btree_node_header::split_info, btid_int::sys_btid, btid_int::topclass_oid, tp_domain::type, btid::vfid, vpid::volid, VPID_ISNULL, and VPID_SET_NULL.
Referenced by btree_split_node_and_advance().
|
static |
Definition at line 13296 of file btree.c.
References recdes::area_size, assert, btree_clear_key_value(), btree_get_new_page(), btree_init_node_header(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_leaf_set_flag(), BTREE_MAX_ALIGN, BTREE_MAX_KEYLEN_INPAGE, btree_node_number_of_keys(), BTREE_NORMAL_KEY, btree_set_split_point(), btree_write_record(), recdes::data, DB_PAGESIZE, db_private_free_and_init, pr_type::get_index_size_of_value(), i, IO_MAX_PAGE_SIZE, btid_int::key_type, log_sysop_abort(), log_sysop_start(), NULL, NULL_PAGEID, PEEK, pgbuf_unfix_and_init, PTR_ALIGN, S_SUCCESS, SP_SUCCESS, spage_delete(), spage_get_record(), spage_insert_at(), btid_int::sys_btid, btid_int::topclass_oid, tp_domain::type, and btid::vfid.
Referenced by btree_split_node(), and btree_split_root().
|
static |
Definition at line 3949 of file btree.c.
References recdes::area_size, assert, ASSERT_ERROR, ASSERT_ERROR_AND_SET, assert_release, btree_check_valid_record(), btree_get_new_page(), btree_init_overflow_header(), BTREE_MAX_ALIGN, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, BTREE_OVERFLOW_NODE, btree_record_append_object(), BTREE_RV_BUFFER_SIZE, BTREE_RV_DEBUG_ID_START_OVF, BTREE_RV_GET_DATA_LENGTH(), BTREE_RV_REDO_SET_DEBUG_INFO, BTREE_RV_SET_OVERFLOW_NODE, recdes::data, DB_PAGESIZE, DISK_VPID_ALIGNED_SIZE, DONT_FREE, ER_FAILED, IO_MAX_PAGE_SIZE, recdes::length, log_append_redo_data(), LOG_RV_RECORD_INSERT, LOG_RV_RECORD_SET_MODIFY_MODE(), MAX_ALIGNMENT, btree_object_info::mvcc_info, btree_overflow_header::next_vpid, NO_ERROR, NULL, log_data_addr::offset, OR_PUT_VPID_ALIGNED, pgbuf_set_dirty(), log_data_addr::pgptr, PTR_ALIGN, REC_HOME, btree_delete_helper::rv_redo_data, btree_delete_helper::rv_redo_data_ptr, RVBT_RECORD_MODIFY_NO_UNDO, SP_SUCCESS, spage_insert_at(), btid_int::sys_btid, recdes::type, log_data_addr::vfid, btid::vfid, and VPID_COPY.
Referenced by btree_key_append_object_as_new_overflow().
|
static |
Definition at line 1999 of file btree.c.
References recdes::area_size, ARG_FILE_LINE, assert, ASSERT_ERROR, btree_get_disk_size_of_key(), BTREE_LEAF_NODE, or_buf::buffer, recdes::data, db_private_alloc, db_private_free_and_init, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), FILE_BTREE_OVERFLOW_KEY, pr_type::id, pr_type::index_writeval(), btid_int::key_type, recdes::length, NO_ERROR, btid_int::nonleaf_key_type, NULL, or_init(), overflow_insert(), btid_int::ovfid, pr_clear_value(), pr_is_string_type(), or_buf::ptr, tp_value_cast(), tp_domain::type, and VFID_ISNULL.
Referenced by btree_write_record().
|
static |
Definition at line 19084 of file btree.c.
References assert, btree_compare_individual_key_value(), db_get_midxkey(), db_make_null(), error(), i, range_opt_item::index_value, NO_ERROR, NULL, pr_clear_value(), and pr_midxkey_get_element_nocopy().
Referenced by btree_range_opt_check_add_index_key().
|
static |
Definition at line 25934 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_insert_internal(), BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE, btree_mvcc_info::delete_mvccid, vfid::fileid, btree_mvcc_info::insert_mvccid, NULL, oid_Null_oid, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_INSERT, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_rv_keyval_undo_delete().
|
static |
Definition at line 29494 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_delete_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_SET_INSID, BTREE_OP_DELETE_UNDO_INSERT, vfid::fileid, btree_delete_helper::match_mvccinfo, MVCCID_ALL_VISIBLE, NULL, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_MODIFY, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_rv_keyval_undo_insert().
|
static |
Definition at line 29532 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_delete_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_SET_INSID, BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD, btree_object_info::class_oid, vfid::fileid, btree_delete_helper::match_mvccinfo, MVCCID_ALL_VISIBLE, NULL, btree_object_info::oid, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_MODIFY, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_rv_keyval_undo_insert_unique().
|
static |
Definition at line 29462 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_delete_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_OP_DELETE_UNDO_INSERT_DELID, btree_mvcc_info::delete_mvccid, vfid::fileid, NULL, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_MODIFY, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by btree_rv_keyval_undo_insert_mvcc_delid().
char* btree_unpack_mvccinfo | ( | char * | ptr, |
BTREE_MVCC_INFO * | mvcc_info, | ||
short | btree_mvcc_flags | ||
) |
Definition at line 21338 of file btree.c.
References assert, BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, btree_mvcc_info::delete_mvccid, btree_mvcc_info::flags, btree_mvcc_info::insert_mvccid, MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, and or_unpack_mvccid().
Referenced by btree_find_oid_from_ovfl(), btree_or_get_mvccinfo(), and btree_seq_find_oid_from_ovfl().
|
static |
Definition at line 21490 of file btree.c.
References assert, btree_or_get_object(), BTREE_RECORD_OR_BUF_INIT, NO_ERROR, NULL, and or_buf::ptr.
Referenced by btree_record_get_last_object(), and btree_rv_record_modify_internal().
int btree_update | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
DB_VALUE * | old_key, | ||
DB_VALUE * | new_key, | ||
OID * | cls_oid, | ||
OID * | oid, | ||
int | op_type, | ||
btree_unique_stats * | unique_stat_info, | ||
int * | unique, | ||
MVCC_REC_HEADER * | p_mvcc_rec_header | ||
) |
Definition at line 13967 of file btree.c.
References assert, ASSERT_ERROR, assert_release, btree_insert(), btree_mvcc_delete(), btree_physical_delete(), ER_BTREE_UNKNOWN_KEY, er_errid(), NO_ERROR, NULL, perfmon_inc_stat(), and PSTAT_BT_NUM_UPDATES.
Referenced by locator_update_index().
int btree_vacuum_insert_mvccid | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
OR_BUF * | buffered_key, | ||
OID * | oid, | ||
OID * | class_oid, | ||
MVCCID | insert_mvccid | ||
) |
Definition at line 29397 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_delete_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_SET_INSID, BTREE_OP_DELETE_VACUUM_INSID, vfid::fileid, btree_delete_helper::match_mvccinfo, NULL, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_MODIFY, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by vacuum_process_log_block().
int btree_vacuum_object | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
OR_BUF * | buffered_key, | ||
OID * | oid, | ||
OID * | class_oid, | ||
MVCCID | delete_mvccid | ||
) |
Definition at line 29429 of file btree.c.
References _er_log_debug(), ARG_FILE_LINE, btree_delete_internal(), BTREE_MVCC_INFO_INITIALIZER, BTREE_MVCC_INFO_SET_DELID, BTREE_OP_DELETE_VACUUM_OBJECT, vfid::fileid, btree_delete_helper::match_mvccinfo, NULL, db_identifier::pageid, prm_get_bool_value(), PRM_ID_LOG_BTREE_OPS, btid::root_pageid, SINGLE_ROW_MODIFY, db_identifier::slotid, btid::vfid, vfid::volid, and db_identifier::volid.
Referenced by vacuum_process_log_block().
|
static |
Definition at line 19647 of file btree.c.
References assert, assert_release, btree_clear_key_value(), btree_compare_key(), btree_dump_page(), btree_get_disk_size_of_key(), BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS, btree_get_node_header(), btree_init_temp_key_value(), btree_is_fence_key(), BTREE_IS_UNIQUE, btree_leaf_get_first_object(), btree_leaf_is_flaged(), BTREE_LEAF_NODE, BTREE_LEAF_RECORD_FENCE, btree_node_common_prefix(), btree_node_number_of_keys(), BTREE_OID_MVCC_FLAGS_MASK, btree_read_record_without_decompression(), btree_record_get_num_oids(), btree_record_object_get_mvcc_flags(), recdes::data, DB_LT, db_make_null(), db_value_print(), ER_FAILED, error(), i, btid_int::key_type, recdes::length, btree_node_header::next_vpid, NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, or_get_oid(), or_init(), OR_OID_SIZE, db_identifier::pageid, PEEK, PEEK_KEY_VALUE, pr_clear_value(), pr_midxkey_add_prefix(), btree_node_header::prev_vpid, or_buf::ptr, S_SUCCESS, db_identifier::slotid, spage_get_record(), btid_int::unique_pk, db_identifier::volid, and VPID_ISNULL.
Referenced by btree_verify_node().
|
static |
Definition at line 19474 of file btree.c.
References assert, assert_release, BTREE_DEBUG_HEALTH_FULL, btree_get_node_header(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_verify_leaf_node(), btree_verify_nonleaf_node(), ER_FAILED, btree_node_split_info::index, logtb_set_check_interrupt(), btree_node_header::max_key_len, btree_node_header::next_vpid, NO_ERROR, btree_node_header::node_level, NULL, NULL_PAGEID, NULL_VOLID, vpid::pageid, btree_node_split_info::pivot, btree_node_header::prev_vpid, prm_get_integer_value(), PRM_ID_ER_BTREE_DEBUG, btree_node_header::split_info, and vpid::volid.
Referenced by btree_compress_node(), btree_delete_key_from_leaf(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_merge_node(), btree_merge_root(), btree_split_node(), and btree_split_root().
|
static |
Definition at line 19552 of file btree.c.
References assert, assert_release, btree_clear_key_value(), btree_compare_key(), btree_dump_page(), btree_get_node_header(), btree_init_temp_key_value(), btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_record_without_decompression(), DB_LT, ER_FAILED, error(), i, btid_int::key_type, btree_node_header::next_vpid, NO_ERROR, NULL, NULL_VOLID, PEEK, PEEK_KEY_VALUE, S_SUCCESS, spage_get_record(), vpid::volid, and VPID_ISNULL.
Referenced by btree_verify_node().
|
static |
Definition at line 7418 of file btree.c.
References ARG_FILE_LINE, btree_check_page_key(), btree_clear_key_value(), btree_dump_page(), btree_get_node_header(), btree_init_temp_key_value(), BTREE_LEAF_NODE, btree_node_number_of_keys(), BTREE_NON_LEAF_NODE, btree_read_record(), db_make_null(), DISK_ERROR, DISK_INVALID, DISK_VALID, ER_EMERGENCY_ERROR, ER_ERROR_SEVERITY, er_set(), error(), btree_node_info::height, i, btree_node_info::key_area_len, btree_node_info::leafpg_cnt, btree_node_info::max_key, btree_node_header::max_key_len, btree_node_info::max_key_len, btree_node_info::nleafpg_cnt, NO_ERROR, btree_node_header::node_level, NULL, OLD_PAGE, PAGE_BTREE, btree_node_info::page_cnt, PEEK, PEEK_KEY_VALUE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, non_leaf_rec::pnt, S_SUCCESS, spage_get_record(), and btree_node_info::tot_key_cnt.
Referenced by btree_verify_tree().
DISK_ISVALID btree_verify_tree | ( | THREAD_ENTRY * | thread_p, |
const OID * | class_oid_p, | ||
BTID_INT * | btid_int, | ||
const char * | btname | ||
) |
Definition at line 7568 of file btree.c.
References btree_verify_subtree(), DISK_ERROR, DISK_VALID, error(), INFO, NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btid_int::sys_btid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_check_tree(), and xbtree_load_index().
|
static |
Definition at line 9716 of file btree.c.
References assert, BTREE_SPLIT_DEFAULT_PIVOT, btree_node_split_info::index, NULL, and btree_node_split_info::pivot.
Referenced by btree_merge_node(), btree_merge_root(), and btree_split_root().
|
static |
Definition at line 3514 of file btree.c.
References assert, recdes::data, non_leaf_rec::key_len, OR_INT_SIZE, OR_PUT_INT, OR_PUT_SHORT, OR_SHORT_SIZE, vpid::pageid, non_leaf_rec::pnt, vpid::volid, and VPID_ISNULL.
|
static |
Definition at line 3563 of file btree.c.
References assert, non_leaf_rec::key_len, or_put_int(), or_put_short(), vpid::pageid, non_leaf_rec::pnt, vpid::volid, and VPID_ISNULL.
Referenced by btree_write_record().
int btree_write_record | ( | THREAD_ENTRY * | thread_p, |
BTID_INT * | btid, | ||
void * | node_rec, | ||
DB_VALUE * | key, | ||
BTREE_NODE_TYPE | node_type, | ||
int | key_type, | ||
int | key_len, | ||
bool | during_loading, | ||
OID * | class_oid, | ||
OID * | oid, | ||
BTREE_MVCC_INFO * | mvcc_info, | ||
RECDES * | rec | ||
) |
Definition at line 4076 of file btree.c.
References recdes::area_size, assert, assert_release, BTREE_IS_UNIQUE, BTREE_LEAF_NODE, BTREE_LEAF_RECORD_CLASS_OID, BTREE_LEAF_RECORD_OVERFLOW_KEY, btree_leaf_set_flag(), BTREE_MVCC_INFO_HAS_DELID, BTREE_MVCC_INFO_HAS_INSID, BTREE_NON_LEAF_NODE, BTREE_NORMAL_KEY, BTREE_OVERFLOW_KEY, btree_record_object_set_mvcc_flags(), btree_store_overflow_key(), btree_write_fixed_portion_of_non_leaf_record_to_orbuf(), or_buf::buffer, CAST_BUFLEN, recdes::data, btree_mvcc_info::delete_mvccid, btree_mvcc_info::flags, pr_type::index_writeval(), btree_mvcc_info::insert_mvccid, btid_int::key_type, recdes::length, NO_ERROR, btid_int::nonleaf_key_type, NULL, OID_EQ, or_init(), or_put_align32(), or_put_int(), or_put_mvccid(), or_put_oid(), or_put_short(), vpid::pageid, or_buf::ptr, REC_HOME, btid_int::topclass_oid, tp_domain::type, recdes::type, btid_int::unique_pk, and vpid::volid.
Referenced by btree_connect_page(), btree_first_oid(), btree_key_insert_new_key(), btree_split_node(), btree_split_root(), and btree_split_test().
|
static |
Definition at line 671 of file btree.c.
References btree_scan::C_page, btree_scan::is_scan_started, NULL, pgbuf_unfix_and_init, and VPID_SET_NULL.
Referenced by btree_range_scan(), and btree_select_visible_object_for_range_scan().
|
static |
Definition at line 20431 of file btree.c.
References or_index::asc_desc, assert_release, or_index::atts, db_private_free_and_init, ER_FAILED, error(), i, or_attribute::id, or_index::n_atts, NO_ERROR, NULL, and or_get_attrname().
Referenced by btree_scan_for_show_index_header().
|
static |
Definition at line 20334 of file btree.c.
References assert, assert_release, DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_NCHAR, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, tp_domain::next, NULL, pr_type_name(), tp_domain::precision, tp_domain::scale, tp_domain::setdomain, TP_DOMAIN_TYPE, and tp_valid_indextype().
Referenced by btree_scan_for_show_index_header().
|
static |
Definition at line 20320 of file btree.c.
References BTREE_LEAF_NODE.
Referenced by btree_dump_page().
BTID* xbtree_add_index | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
TP_DOMAIN * | key_type, | ||
OID * | class_oid, | ||
int | attr_id, | ||
int | unique_pk, | ||
int | num_oids, | ||
int | num_nulls, | ||
int | num_keys | ||
) |
Definition at line 5579 of file btree.c.
References assert, ASSERT_ERROR, btree_create_file(), BTREE_CURRENT_REV_LEVEL, btree_get_root_vpid_from_btid(), btree_init_root_header(), BTREE_IS_PRIMARY_KEY, BTREE_IS_UNIQUE, COPY_OID, btree_root_header::creator_mvccid, error(), FREE, btree_node_split_info::index, log_append_undo_data2(), log_sysop_abort(), log_sysop_attach_to_outer(), log_sysop_start(), logtb_get_current_mvccid(), btree_node_header::max_key_len, MVCCID_NULL, btree_node_header::next_vpid, NO_ERROR, btree_root_header::node, btree_node_header::node_level, NULL, NULL_OFFSET, NULL_PAGEID, btree_root_header::num_keys, btree_root_header::num_nulls, btree_root_header::num_oids, OID_ISNULL, OLD_PAGE, btree_root_header::ovfid, PAGE_BTREE, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_WRITE, pgbuf_set_dirty(), PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btree_node_split_info::pivot, btree_node_header::prev_vpid, btree_root_header::rev_level, btree_root_header::reverse_reserved, btid::root_pageid, RVBT_REMOVE_UNIQUE_STATS, btree_node_header::split_info, btree_root_header::topclass_oid, btree_root_header::unique_pk, vacuum_log_add_dropped_file(), VACUUM_LOG_ADD_DROPPED_FILE_UNDO, btid::vfid, VFID_SET_NULL, and VPID_SET_NULL.
Referenced by btree_add_index(), sbtree_add_index(), and xbtree_load_index().
int xbtree_class_test_unique | ( | THREAD_ENTRY * | thread_p, |
char * | buf, | ||
int | buf_size | ||
) |
Definition at line 6065 of file btree.c.
References BTREE_SET_UNIQUE_VIOLATION_ERROR, ER_BTREE_UNIQUE_FAILED, NO_ERROR, NULL, or_unpack_btid(), and xbtree_test_unique().
Referenced by btree_class_test_unique(), and sbtree_class_test_unique().
int xbtree_delete_index | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid | ||
) |
Definition at line 5691 of file btree.c.
References ASSERT_ERROR_AND_SET, btree_get_root_header(), er_errid(), ER_FAILED, file_postpone_destroy(), log_append_postpone(), NO_ERROR, NULL, NULL_OFFSET, NULL_PAGEID, OLD_PAGE, btree_root_header::ovfid, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_WRITE, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, RVBT_REMOVE_UNIQUE_STATS, btree_root_header::unique_pk, vacuum_log_add_dropped_file(), VACUUM_LOG_ADD_DROPPED_FILE_POSTPONE, btid::vfid, VFID_ISNULL, vpid::volid, and vfid::volid.
Referenced by btree_delete_index(), and sbtree_delete_index().
BTREE_SEARCH xbtree_find_multi_uniques | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid, | ||
int | pruning_type, | ||
BTID * | btids, | ||
DB_VALUE * | values, | ||
int | count, | ||
SCAN_OPERATION_TYPE | op_type, | ||
OID ** | oids, | ||
int * | oids_count | ||
) |
Definition at line 5848 of file btree.c.
References ARG_FILE_LINE, BTID_COPY, BTREE_ERROR_OCCURRED, BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, COPY_OID, cubregex::count(), DB_NOT_PARTITIONED_CLASS, DB_PARTITION_CLASS, db_private_alloc, db_private_free_and_init, ER_ERROR_SEVERITY, ER_INVALID_DATA_FOR_PARTITION, er_set(), error(), i, NO_ERROR, NULL, OID_EQ, partition_clear_pruning_context(), partition_init_pruning_context(), partition_load_pruning_context(), partition_prune_unique_btid(), S_UPDATE, and xbtree_find_unique().
Referenced by btree_find_multi_uniques(), and sbtree_find_multi_uniques().
BTREE_SEARCH xbtree_find_unique | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid, | ||
SCAN_OPERATION_TYPE | scan_op_type, | ||
DB_VALUE * | key, | ||
OID * | class_oid, | ||
OID * | oid, | ||
bool | is_all_class_srch | ||
) |
Definition at line 23990 of file btree.c.
References assert, ASSERT_ERROR, btree_advance_and_find_key(), BTREE_ERROR_OCCURRED, BTREE_FIND_UNIQUE_HELPER_INITIALIZER, btree_key_find_and_lock_unique(), btree_key_find_unique_version_oid(), BTREE_KEY_FOUND, BTREE_KEY_NOTFOUND, btree_multicol_key_is_null(), btree_search_key_and_apply_functions(), COPY_OID, db_value_is_null(), btree_find_unique_helper::found_object, IS_LOCK, IX_LOCK, LK_GRANTED, LK_UNCOND_LOCK, lock_has_lock_on_object(), btree_find_unique_helper::lock_mode, lock_object(), lock_unlock_object_donot_move_to_non2pl(), logtb_find_current_isolation(), logtb_get_mvcc_snapshot(), btree_find_unique_helper::match_class_oid, mvcc_is_mvcc_disabled_class(), mvcc_satisfies_dirty(), NO_ERROR, NULL, NULL_LOCK, btree_find_unique_helper::oid, OID_ISNULL, oid_Root_class_oid, OID_SET_NULL, S_DELETE, S_LOCK, S_SELECT, S_SELECT_WITH_LOCK, S_UPDATE, btree_find_unique_helper::snapshot, mvcc_snapshot::snapshot_fnc, STATIC_INLINE, tf_is_catalog_class(), btree_find_unique_helper::time_track, TRAN_REP_READ, and X_LOCK.
Referenced by btree_check_foreign_key(), btree_find_unique(), catcls_find_oid_by_class_name(), heap_set_autoincrement_value(), locator_check_foreign_key(), locator_repl_prepare_force(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), sbtree_find_unique_internal(), and xbtree_find_multi_uniques().
int xbtree_get_key_type | ( | THREAD_ENTRY * | thread_p, |
BTID | btid, | ||
TP_DOMAIN ** | key_type | ||
) |
Definition at line 7167 of file btree.c.
References assert, btree_get_root_header(), ER_FAILED, NO_ERROR, NULL, OLD_PAGE, or_get_domain(), or_init(), btree_root_header::packed_key_domain, vpid::pageid, pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix, btid::root_pageid, btid::vfid, vpid::volid, and vfid::volid.
Referenced by btree_get_index_key_type(), and sbtree_get_key_type().
int xbtree_get_unique_pk | ( | THREAD_ENTRY * | thread_p, |
BTID * | btid | ||
) |
Definition at line 6129 of file btree.c.
References btree_get_root_header(), NULL, OLD_PAGE, PAGE_BTREE, vpid::pageid, pgbuf_check_page_ptype(), pgbuf_fix, PGBUF_LATCH_READ, PGBUF_UNCONDITIONAL_LATCH, pgbuf_unfix_and_init, btid::root_pageid, btree_root_header::unique_pk, btid::vfid, vpid::volid, and vfid::volid.
Referenced by locator_check_class(), and xstats_get_statistics_from_server().
|
static |
Definition at line 6099 of file btree.c.
References assert, logtb_get_global_unique_stats(), and NO_ERROR.
Referenced by xbtree_class_test_unique().
Definition at line 1239 of file btree.c.
Referenced by btree_online_index_check_state(), btree_online_index_is_delete_flag_state(), and btree_online_index_set_delete_flag_state().
Definition at line 1238 of file btree.c.
Referenced by btree_online_index_check_state(), btree_online_index_is_insert_flag_state(), and btree_online_index_set_insert_flag_state().
Definition at line 1241 of file btree.c.
Referenced by btree_check_valid_record().
const MVCCID BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE = MVCCID_ALL_VISIBLE |
Definition at line 1237 of file btree.c.
Referenced by btree_online_index_check_state(), btree_online_index_is_normal_state(), and btree_online_index_set_normal_state().
const size_t BTREE_RV_BUFFER_SIZE |
Definition at line 1103 of file btree.c.
Referenced by btree_insert_mvcc_delid_into_page(), btree_key_append_object_as_new_overflow(), btree_key_append_object_to_overflow(), btree_key_delete_remove_object(), btree_key_insert_new_object(), btree_key_online_index_IB_insert(), btree_key_online_index_tran_delete(), btree_key_online_index_tran_insert(), btree_key_online_index_tran_insert_DF(), btree_key_relocate_last_into_ovf(), btree_key_remove_delete_mvccid(), btree_key_remove_delete_mvccid_unique(), btree_key_remove_insert_mvccid(), btree_key_remove_object_and_keep_visible_first(), btree_leaf_record_replace_first_with_last(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_record_remove_object(), btree_replace_first_oid_with_ovfl_oid(), BTREE_RV_GET_DATA_LENGTH(), and btree_start_overflow_page().