CUBRID Engine
latest
|
#include <assert.h>
#include "btree.h"
#include "object_representation_constants.h"
#include "error_manager.h"
#include "storage_common.h"
#include "oid.h"
#include "system_parameter.h"
#include "object_domain.h"
#include "slotted_page.h"
Go to the source code of this file.
Classes | |
struct | btree_node_header |
struct | btree_root_header |
struct | btree_overflow_header |
struct | btree_node_info |
struct | btree_node |
Typedefs | |
typedef struct btree_node_header | BTREE_NODE_HEADER |
typedef struct btree_root_header | BTREE_ROOT_HEADER |
typedef struct btree_overflow_header | BTREE_OVERFLOW_HEADER |
typedef struct btree_node_info | BTREE_NODE_INFO |
typedef struct btree_node | BTREE_NODE |
#define BTREE_CURRENT_REV_LEVEL 0 |
Definition at line 50 of file btree_load.h.
Referenced by btree_build_nleafs(), xbtree_add_index(), xbtree_load_index(), and xbtree_load_online_index().
#define BTREE_GET_KEY_LEN_IN_PAGE | ( | key_len | ) | (((key_len) >= BTREE_MAX_KEYLEN_INPAGE) ? DISK_VPID_SIZE : (key_len)) |
Definition at line 155 of file btree_load.h.
Referenced by btree_build_nleafs(), btree_find_split_point(), btree_fix_root_for_insert(), btree_key_insert_new_key(), btree_key_online_index_tran_delete(), btree_split_node(), and btree_split_root().
#define BTREE_INVALID_INDEX_ID | ( | btid | ) |
Definition at line 103 of file btree_load.h.
Referenced by btree_delete_internal(), btree_get_next_key_info(), and btree_locate_key().
#define BTREE_MAX_ALIGN INT_ALIGNMENT |
Definition at line 66 of file btree_load.h.
Referenced by btree_insert_list::add_key(), btree_build_nleafs(), btree_change_root_header_delta(), btree_compress_node(), btree_construct_leafs(), btree_delete_key_from_leaf(), btree_delete_meta_record(), btree_dump_leaf_record(), btree_fix_ovfl_oid_page(), btree_get_num_visible_oids_from_all_ovf(), btree_init_node_header(), btree_init_overflow_header(), btree_init_root_header(), btree_initialize_new_page(), 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_find_and_insert_delete_mvccid(), btree_key_find_first_visible_row_from_all_ovf(), btree_key_insert_delete_mvccid(), btree_key_insert_new_key(), 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_merge_node(), btree_merge_root(), btree_modify_leaf_ovfl_vpid(), btree_modify_overflow_link(), btree_overflow_record_replace_object(), btree_overflow_remove_object(), btree_record_remove_object(), btree_replace_first_oid_with_ovfl_oid(), btree_rv_newpage_redo_init(), btree_rv_pagerec_insert(), btree_rv_record_modify_internal(), btree_rv_util_save_page_records(), btree_split_node(), btree_split_root(), btree_split_test(), btree_start_overflow_page(), and logtb_update_global_unique_stats_by_delta().
#define BTREE_MAX_KEYLEN_INPAGE ((int)(DB_PAGESIZE / 8)) |
Definition at line 135 of file btree_load.h.
Referenced by btree_connect_page(), btree_construct_leafs(), btree_find_split_point(), btree_first_oid(), btree_fix_root_for_insert(), btree_key_insert_new_key(), btree_key_online_index_tran_delete(), btree_save_last_leafrec(), btree_split_node(), btree_split_root(), btree_split_test(), and xbtree_load_index().
#define BTREE_MAX_OIDCOUNT_IN_LEAF_RECORD | ( | btid | ) | (BTREE_MAX_OIDCOUNT_IN_SIZE (btid, BTREE_MAX_OIDLEN_INPAGE)) |
Definition at line 143 of file btree_load.h.
Referenced by btree_construct_leafs(), btree_key_append_object_non_unique(), btree_key_append_object_unique(), and btree_key_relocate_last_into_ovf().
#define BTREE_MAX_OIDCOUNT_IN_OVERFLOW_RECORD | ( | btid | ) | (BTREE_MAX_OIDCOUNT_IN_SIZE (btid, BTREE_MAX_OVERFLOW_RECORD_SIZE)) |
Definition at line 149 of file btree_load.h.
Referenced by btree_range_scan_count_oids_leaf_and_one_ovf().
#define BTREE_MAX_OIDCOUNT_IN_SIZE | ( | btid, | |
size | |||
) | ((int) (size) / BTREE_OBJECT_FIXED_SIZE (btid)) |
Definition at line 140 of file btree_load.h.
Referenced by btree_construct_leafs().
#define BTREE_MAX_OIDLEN_INPAGE ((int)(DB_PAGESIZE / 8)) |
Definition at line 137 of file btree_load.h.
Referenced by xbtree_load_index().
#define BTREE_MAX_OVERFLOW_RECORD_SIZE |
Definition at line 146 of file btree_load.h.
#define BTREE_NEW_ENTRY_MAX_SIZE | ( | key_disk_size, | |
node_type | |||
) |
Definition at line 88 of file btree_load.h.
Referenced by btree_key_insert_does_leaf_need_split().
#define BTREE_OBJECT_FIXED_SIZE | ( | btree_info | ) |
Definition at line 118 of file btree_load.h.
Referenced by btree_find_free_overflow_oids_page(), btree_find_oid_from_ovfl(), btree_fix_ovfl_oid_page(), btree_get_max_new_data_size(), btree_insert_object_ordered_by_oid(), btree_leaf_get_nth_oid_ptr(), btree_leaf_record_handle_first_overflow(), btree_overflow_remove_object(), btree_record_get_last_object(), btree_record_get_num_oids(), btree_record_replace_object(), btree_remove_delete_mvccid_unique_internal(), btree_rv_record_modify_internal(), and btree_seq_find_oid_from_ovfl().
#define BTREE_OBJECT_MAX_SIZE (2 * OR_OID_SIZE + 2 * OR_MVCCID_SIZE) |
Definition at line 123 of file btree_load.h.
Referenced by btree_key_insert_does_leaf_need_split(), and btree_rv_save_keyval_for_undo().
Definition at line 159 of file btree_load.h.
Referenced by btree_fix_root_for_insert(), and xbtree_load_index().
Definition at line 163 of file btree_load.h.
Referenced by btree_key_append_object_into_ovf().
Definition at line 167 of file btree_load.h.
Referenced by btree_overflow_remove_object().
#define COPY_KEY_VALUE COPY |
Definition at line 45 of file btree_load.h.
Referenced by btree_find_split_point(), btree_range_scan_read_record(), btree_read_record_without_decompression(), and btree_set_split_point().
#define HEADER 0 |
Definition at line 100 of file btree_load.h.
Referenced by btree_build_nleafs(), btree_change_root_header_delta(), btree_fix_root_for_insert(), btree_get_node_header(), btree_get_overflow_header(), btree_get_perf_btree_page_type(), btree_get_root_header(), btree_init_node_header(), btree_init_overflow_header(), btree_init_root_header(), btree_modify_overflow_link(), btree_node_header_redo_log(), btree_node_header_undo_log(), btree_rv_nodehdr_redo_insert(), btree_rv_nodehdr_undo_insert(), btree_rv_nodehdr_undoredo_update(), btree_rv_record_modify_internal(), and logtb_update_global_unique_stats_by_delta().
#define LEAF_ENTRY_MAX_SIZE | ( | n | ) |
Definition at line 69 of file btree_load.h.
Referenced by btree_get_max_new_data_size().
#define LEAF_FENCE_MAX_SIZE | ( | n | ) |
Definition at line 77 of file btree_load.h.
Referenced by btree_find_split_point().
#define LOAD_FIXED_EMPTY_FOR_LEAF |
Definition at line 55 of file btree_load.h.
Referenced by btree_construct_leafs(), and btree_save_last_leafrec().
#define LOAD_FIXED_EMPTY_FOR_NONLEAF |
Definition at line 58 of file btree_load.h.
Referenced by btree_connect_page().
#define NON_LEAF_ENTRY_MAX_SIZE | ( | n | ) | (NON_LEAF_RECORD_SIZE + BTREE_MAX_ALIGN + n) |
Definition at line 84 of file btree_load.h.
Referenced by btree_get_max_new_data_size().
#define OIDCMP | ( | n1, | |
n2 | |||
) |
Definition at line 94 of file btree_load.h.
#define PEEK_KEY_VALUE PEEK |
Definition at line 44 of file btree_load.h.
Referenced by btree_build_nleafs(), btree_check_page_key(), btree_compress_node(), btree_delete_meta_record(), btree_dump_leaf_record(), btree_dump_non_leaf_record(), btree_find_key_from_leaf(), btree_find_min_or_max_key(), 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_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_verify_leaf_node(), btree_verify_nonleaf_node(), btree_verify_subtree(), and page_key_boundary::set_value().
typedef struct btree_node BTREE_NODE |
Definition at line 246 of file btree_load.h.
typedef struct btree_node_header BTREE_NODE_HEADER |
Definition at line 193 of file btree_load.h.
typedef struct btree_node_info BTREE_NODE_INFO |
Definition at line 229 of file btree_load.h.
typedef struct btree_overflow_header BTREE_OVERFLOW_HEADER |
Definition at line 223 of file btree_load.h.
typedef struct btree_root_header BTREE_ROOT_HEADER |
Definition at line 204 of file btree_load.h.
int btree_change_root_header_delta | ( | THREAD_ENTRY * | thread_p, |
VFID * | vfid, | ||
PAGE_PTR | page_ptr, | ||
int | null_delta, | ||
int | oid_delta, | ||
int | key_delta | ||
) |
Definition at line 461 of file btree_load.c.
References recdes::area_size, BTREE_MAX_ALIGN, btree_rv_save_root_head(), recdes::data, ER_FAILED, HEADER, recdes::length, log_append_undoredo_data2(), NO_ERROR, NULL, OR_INT_SIZE, PEEK, PTR_ALIGN, RVBT_ROOTHEADER_UPD, S_SUCCESS, and spage_get_record().
Referenced by btree_split_node_and_advance().
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().
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().
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_disk_size_of_key | ( | DB_VALUE * | ) |
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().
int btree_get_next_overflow_vpid | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr, | ||
VPID * | vpid | ||
) |
Definition at line 677 of file btree_load.c.
References btree_get_overflow_header(), ER_FAILED, btree_overflow_header::next_vpid, NO_ERROR, and NULL.
Referenced by btree_dump_leaf_record(), btree_find_free_overflow_oids_page(), btree_find_oid_and_its_page(), btree_fix_ovfl_oid_page(), btree_get_num_visible_oids_from_all_ovf(), btree_get_subtree_capacity(), btree_key_find_and_lock_unique_of_non_unique(), btree_key_find_first_visible_row_from_all_ovf(), btree_key_process_objects(), btree_overflow_remove_object(), btree_range_scan_find_fk_any_object(), and btree_range_scan_select_visible_oids().
BTREE_NODE_HEADER* btree_get_node_header | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr | ||
) |
Definition at line 275 of file btree_load.c.
References assert, assert_release, recdes::data, HEADER, if(), btree_node_header::max_key_len, NULL, PAGE_BTREE, PEEK, pgbuf_check_page_ptype(), S_SUCCESS, and spage_get_record().
Referenced by btree_advance_and_find_key(), btree_advance_to_next_slot_and_fix_page(), btree_build_nleafs(), btree_check_page_key(), btree_check_pages(), btree_connect_page(), btree_delete_key_from_leaf(), btree_delete_meta_record(), btree_dump_page(), btree_dump_page_with_subtree(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), btree_find_key_from_page(), btree_find_lower_bound_leaf(), btree_find_next_index_record_holding_current_helper(), btree_find_split_point(), btree_fix_ovfl_oid_page(), btree_fix_ovfl_oid_pages_tree(), btree_get_next_node_info(), btree_get_next_page(), btree_get_next_page_vpid(), btree_get_node_level(), btree_get_stats_with_AR_sampling(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_key_insert_new_key(), btree_key_online_index_IB_insert_list(), btree_leaf_is_key_between_min_max(), btree_merge_node(), btree_merge_node_and_advance(), btree_merge_root(), btree_node_is_compressed(), btree_node_mergeable(), btree_node_number_of_keys(), btree_node_size_uncompressed(), btree_proceed_leaf(), btree_range_scan_advance_over_filtered_keys(), btree_range_scan_descending_fix_prev_leaf(), btree_repair_prev_link_by_btid(), btree_rv_record_modify_internal(), btree_rv_undo_mark_dealloc_page(), btree_save_last_leafrec(), btree_search_key_and_apply_functions(), btree_search_leaf_page(), btree_set_split_point(), btree_set_vpid_previous_vpid(), btree_split_node(), btree_split_node_and_advance(), btree_verify_leaf_node(), btree_verify_node(), btree_verify_nonleaf_node(), btree_verify_subtree(), and btree_insert_list::check_release_latch().
BTREE_OVERFLOW_HEADER* btree_get_overflow_header | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr | ||
) |
Definition at line 344 of file btree_load.c.
References assert, assert_release, recdes::data, HEADER, NULL, PAGE_BTREE, PEEK, pgbuf_check_page_ptype(), S_SUCCESS, and spage_get_record().
Referenced by btree_construct_leafs(), and btree_get_next_overflow_vpid().
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().
BTREE_ROOT_HEADER* btree_get_root_header | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr | ||
) |
Definition at line 309 of file btree_load.c.
References assert, assert_release, recdes::data, HEADER, if(), btree_node_header::max_key_len, btree_root_header::node, btree_node_header::node_level, NULL, PAGE_BTREE, PEEK, pgbuf_check_page_ptype(), S_SUCCESS, and spage_get_record().
Referenced by btree_check_tree(), btree_dump(), btree_dump_root_header(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), 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_creator_mvccid(), btree_get_stats(), btree_get_unique_statistics(), btree_index_capacity(), btree_merge_root(), btree_read_key_type(), btree_reflect_global_unique_statistics(), btree_rv_ovfid_undoredo_update(), btree_rv_read_keyval_info_nocopy(), btree_rv_roothdr_undo_update(), btree_scan_for_show_index_header(), btree_split_root(), catalog_fetch_btree_statistics(), orc_diskrep_from_record(), scan_open_index_key_info_scan(), scan_open_index_node_info_scan(), scan_open_index_scan(), xbtree_delete_index(), xbtree_get_key_type(), xbtree_get_unique_pk(), and xfile_apply_tde_to_class_files().
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().
int btree_init_node_header | ( | THREAD_ENTRY * | thread_p, |
const VFID * | vfid, | ||
PAGE_PTR | page_ptr, | ||
BTREE_NODE_HEADER * | header, | ||
bool | redo | ||
) |
Definition at line 373 of file btree_load.c.
References recdes::area_size, assert, BTREE_MAX_ALIGN, recdes::data, DB_PAGESIZE, ER_FAILED, HEADER, IO_MAX_PAGE_SIZE, recdes::length, log_append_redo_data2(), btree_node_header::max_key_len, NO_ERROR, btree_node_header::node_level, NULL, PTR_ALIGN, REC_HOME, RVBT_NDHEADER_INS, SP_SUCCESS, spage_insert_at(), and recdes::type.
Referenced by btree_load_new_page(), btree_split_node(), btree_split_root(), and btree_split_test().
int btree_init_overflow_header | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr, | ||
BTREE_OVERFLOW_HEADER * | ovf_header | ||
) |
Definition at line 579 of file btree_load.c.
References recdes::area_size, BTREE_MAX_ALIGN, recdes::data, DB_PAGESIZE, ER_FAILED, HEADER, IO_MAX_PAGE_SIZE, recdes::length, NO_ERROR, PTR_ALIGN, REC_HOME, SP_SUCCESS, spage_insert_at(), and recdes::type.
Referenced by btree_load_new_page(), and btree_start_overflow_page().
int btree_init_root_header | ( | THREAD_ENTRY * | thread_p, |
VFID * | vfid, | ||
PAGE_PTR | page_ptr, | ||
BTREE_ROOT_HEADER * | root_header, | ||
TP_DOMAIN * | key_type | ||
) |
Definition at line 540 of file btree_load.c.
References recdes::area_size, assert, BTREE_MAX_ALIGN, btree_pack_root_header(), recdes::data, DB_PAGESIZE, ER_FAILED, HEADER, IO_MAX_PAGE_SIZE, recdes::length, log_append_redo_data2(), btree_node_header::max_key_len, NO_ERROR, btree_root_header::node, btree_node_header::node_level, NULL, PTR_ALIGN, RVBT_NDHEADER_INS, SP_SUCCESS, and spage_insert_at().
Referenced by xbtree_add_index().
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().
|
inline |
Definition at line 173 of file btree_load.h.
References assert, mvcc_rec_header::mvcc_del_id, mvcc_rec_header::mvcc_flag, mvcc_rec_header::mvcc_ins_id, MVCCID_ALL_VISIBLE, MVCCID_NULL, NULL, OR_MVCC_FLAG_VALID_DELID, and OR_MVCC_FLAG_VALID_INSID.
Referenced by btree_construct_leafs().
int btree_node_header_redo_log | ( | THREAD_ENTRY * | thread_p, |
VFID * | vfid, | ||
PAGE_PTR | page_ptr | ||
) |
Definition at line 436 of file btree_load.c.
References recdes::data, ER_FAILED, HEADER, recdes::length, log_append_redo_data2(), NO_ERROR, PEEK, RVBT_NDHEADER_UPD, S_SUCCESS, and spage_get_record().
Referenced by btree_merge_root(), btree_set_vpid_previous_vpid(), btree_split_node(), btree_split_node_and_advance(), and btree_split_root().
int btree_node_header_undo_log | ( | THREAD_ENTRY * | thread_p, |
VFID * | vfid, | ||
PAGE_PTR | page_ptr | ||
) |
Definition at line 414 of file btree_load.c.
References recdes::data, ER_FAILED, HEADER, recdes::length, log_append_undo_data2(), NO_ERROR, PEEK, RVBT_NDHEADER_UPD, S_SUCCESS, and spage_get_record().
Referenced by btree_merge_root(), btree_set_vpid_previous_vpid(), and btree_split_node().
int btree_node_number_of_keys | ( | THREAD_ENTRY * | thread_p, |
PAGE_PTR | page_ptr | ||
) |
Definition at line 3755 of file btree_load.c.
References ARG_FILE_LINE, assert, assert_release, btree_get_node_header(), BTREE_LEAF_NODE, BTREE_NON_LEAF_NODE, er_log_debug, btree_node_header::node_level, NULL, PAGE_BTREE, pgbuf_check_page_ptype(), and spage_number_of_records().
Referenced by btree_advance_to_next_slot_and_fix_page(), btree_build_nleafs(), btree_check_page_key(), btree_check_pages(), btree_compress_node(), btree_delete_key_from_leaf(), btree_dump_page(), btree_dump_page_with_subtree(), btree_find_AR_sampling_leaf(), btree_find_boundary_leaf(), btree_find_key_from_page(), btree_find_lower_bound_leaf(), btree_find_next_index_record_holding_current(), btree_find_next_index_record_holding_current_helper(), btree_find_split_point(), btree_fix_ovfl_oid_page(), btree_get_next_node_info(), btree_get_stats_with_AR_sampling(), btree_get_subtree_capacity(), btree_get_unique_statistics(), btree_key_append_object_non_unique(), btree_key_insert_new_key(), btree_key_insert_new_object(), btree_key_lock_and_append_object_unique(), btree_leaf_is_key_between_min_max(), btree_merge_node(), btree_merge_node_and_advance(), btree_merge_root(), btree_node_common_prefix(), btree_node_is_compressed(), btree_node_mergeable(), btree_node_size_uncompressed(), btree_range_scan_advance_over_filtered_keys(), btree_range_scan_descending_fix_prev_leaf(), btree_range_scan_resume(), btree_rv_record_modify_internal(), btree_search_leaf_page(), btree_search_nonleaf_page(), btree_set_split_point(), btree_split_node(), btree_split_node_and_advance(), btree_split_root(), btree_split_test(), btree_verify_leaf_node(), btree_verify_node(), btree_verify_nonleaf_node(), and btree_verify_subtree().
void btree_rv_mvcc_save_increments | ( | const BTID * | btid, |
int | key_delta, | ||
int | oid_delta, | ||
int | null_delta, | ||
RECDES * | recdes | ||
) |
Definition at line 645 of file btree_load.c.
References recdes::area_size, assert, CAST_STRLEN, recdes::data, recdes::length, NULL, OR_BTID_ALIGNED_SIZE, OR_INT_SIZE, OR_PUT_BTID, and OR_PUT_INT.
Referenced by logtb_tran_update_unique_stats().
void btree_rv_nodehdr_dump | ( | FILE * | fp, |
int | length, | ||
void * | data | ||
) |
Definition at line 3737 of file btree_load.c.
References assert, btree_node_header::max_key_len, btree_node_header::next_vpid, btree_node_header::node_level, NULL, vpid::pageid, btree_node_header::prev_vpid, and vpid::volid.
DISK_ISVALID btree_verify_tree | ( | THREAD_ENTRY * | thread_p, |
const OID * | class_oid_p, | ||
BTID_INT * | btid, | ||
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().