File btree.c
FileList > cubrid > src > storage > btree.c
Go to the source code of this file
#include <inttypes.h>
#include "btree.h"
#include "btree_load.h"
#include "config.h"
#include "db_value_printer.hpp"
#include "deduplicate_key.h"
#include "file_manager.h"
#include "slotted_page.h"
#include "log_append.hpp"
#include "log_manager.h"
#include "log_recovery.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>
#include "memory_wrapper.hpp"
Classes
Public Types
Public Attributes
Public Functions
| Type |
Name |
| int |
btree_attrinfo_read_dbvalues (THREAD_ENTRY * thread_p, DB_VALUE * curr_key, BTREE_SCAN * bts, int * btree_att_ids, int btree_num_att, HEAP_CACHE_ATTRINFO * attr_info, int func_index_col_id, int * attr_idx_ptr)
|
| DISK_ISVALID |
btree_check_all (THREAD_ENTRY * thread_p)
|
| DISK_ISVALID |
btree_check_by_class_oid (THREAD_ENTRY * thread_p, OID * cls_oid, BTID * idx_btid)
|
| 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)
|
| int |
btree_check_valid_record (THREAD_ENTRY * thread_p, BTID_INT * btid, RECDES * recp, BTREE_NODE_TYPE node_type, DB_VALUE * key)
|
| void |
btree_clear_mvcc_flags_from_oid (OID * oid)
|
| int |
btree_coerce_key (DB_VALUE * keyp, int keysize, TP_DOMAIN * btree_domainp, int key_minmax)
|
| int |
btree_compare_btids (void * mem_btid1, void * mem_btid2)
|
| 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)
|
| int |
btree_create_file (THREAD_ENTRY * thread_p, const OID * class_oid, int attrid, BTID * btid)
|
| int |
btree_create_overflow_key_file (THREAD_ENTRY * thread_p, BTID_INT * btid)
|
| void |
btree_dump (THREAD_ENTRY * thread_p, FILE * fp, BTID * btid, int level)
|
| int |
btree_dump_capacity (THREAD_ENTRY * thread_p, FILE * fp, BTID * btid)
|
| void |
btree_dump_key (FILE * fp, const DB_VALUE * key)
|
| int |
btree_find_foreign_key (THREAD_ENTRY * thread_p, BTID * btid, DB_VALUE * key, OID * class_oid, OID * found_oid)
|
| DISK_ISVALID |
btree_find_key (THREAD_ENTRY * thread_p, BTID * btid, OID * oid, DB_VALUE * key, bool * clear_key)
|
| int |
btree_find_min_or_max_key (THREAD_ENTRY * thread_p, BTID * btid, DB_VALUE * key, int find_min_key)
|
| TP_DOMAIN * |
btree_generate_prefix_domain (BTID_INT * btid)
|
| int |
btree_get_asc_desc (THREAD_ENTRY * thread_p, BTID * btid, int col_idx, int * asc_desc)
|
| int |
btree_get_btid_from_file (THREAD_ENTRY * thread_p, const VFID * vfid, BTID * btid_out)
|
| int |
btree_get_class_oid_of_unique_btid (THREAD_ENTRY * thread_p, BTID * btid, OID * class_oid)
|
| int |
btree_get_disk_size_of_key (DB_VALUE * key)
|
| 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)
|
| SCAN_CODE |
btree_get_next_node_info (THREAD_ENTRY * thread_p, BTID * btid, BTREE_NODE_SCAN * btns, DB_VALUE ** node_info)
|
| 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)
|
| PERF_PAGE_TYPE |
btree_get_perf_btree_page_type (THREAD_ENTRY * thread_p, PAGE_PTR page_ptr)
|
| int |
btree_get_pkey_btid (THREAD_ENTRY * thread_p, OID * cls_oid, BTID * pkey_btid)
|
| int |
btree_get_prefix_separator (const DB_VALUE * key1, const DB_VALUE * key2, DB_VALUE * prefix_key, TP_DOMAIN * key_domain)
|
| void |
btree_get_root_vpid_from_btid (THREAD_ENTRY * thread_p, BTID * btid, VPID * root_vpid)
|
| int |
btree_get_stats (THREAD_ENTRY * thread_p, BTREE_STATS * stat_info_p, bool with_fullscan)
|
| int |
btree_get_unique_statistics (THREAD_ENTRY * thread_p, BTID * btid, long long * oid_cnt, long long * null_cnt, long long * key_cnt)
|
| int |
btree_get_unique_statistics_for_count (THREAD_ENTRY * thread_p, BTID * btid, long long * oid_cnt, long long * null_cnt, long long * key_cnt)
|
| int |
btree_glean_root_header_info (THREAD_ENTRY * thread_p, BTREE_ROOT_HEADER * root_header, BTID_INT * btid, bool is_key_type)
|
| unsigned int |
btree_hash_btid (void * btid, int hash_size)
|
| int |
btree_index_capacity (THREAD_ENTRY * thread_p, BTID * btid, BTREE_CAPACITY * cpc)
|
| int |
btree_index_end_scan (THREAD_ENTRY * thread_p, void ** ptr)
|
| SCAN_CODE |
btree_index_next_scan (THREAD_ENTRY * thread_p, int cursor, DB_VALUE ** out_values, int out_cnt, void * ptr)
|
| int |
btree_index_start_scan (THREAD_ENTRY * thread_p, int show_type, DB_VALUE ** arg_values, int arg_cnt, void ** ptr)
|
| int |
btree_initialize_new_page (THREAD_ENTRY * thread_p, PAGE_PTR page, void * args)
|
| 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)
|
| bool |
btree_is_btid_online_index (THREAD_ENTRY * thread_p, OID * class_oid, BTID * btid)
|
| bool |
btree_is_unique_type (BTREE_TYPE type)
|
| DISK_ISVALID |
btree_keyoid_checkscan_check (THREAD_ENTRY * thread_p, BTREE_CHECKSCAN * btscan, OID * cls_oid, DB_VALUE * key, OID * oid)
|
| void |
btree_keyoid_checkscan_end (THREAD_ENTRY * thread_p, BTREE_CHECKSCAN * btscan)
|
| int |
btree_keyoid_checkscan_start (THREAD_ENTRY * thread_p, BTID * btid, BTREE_CHECKSCAN * btscan)
|
| 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)
|
| 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)
|
| int |
btree_leaf_get_first_object (BTID_INT * btid, RECDES * recp, OID * oidp, OID * class_oid, BTREE_MVCC_INFO * mvcc_info)
|
| 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)
|
| 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)
|
| int |
btree_multicol_key_has_null (DB_VALUE * key)
|
| bool |
btree_multicol_key_is_null (DB_VALUE * key)
|
| 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)
|
| void |
btree_mvcc_info_from_heap_mvcc_header (MVCC_REC_HEADER * mvcc_header, BTREE_MVCC_INFO * mvcc_info)
|
| void |
btree_mvcc_info_to_heap_mvcc_header (BTREE_MVCC_INFO * mvcc_info, MVCC_REC_HEADER * mvcc_header)
|
| int |
btree_online_index_check_unique_constraint (THREAD_ENTRY * thread_p, BTID * btid, const char * index_name, OID * class_oid)
|
| 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)
|
| 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)
|
| char * |
btree_pack_mvccinfo (char * ptr, BTREE_MVCC_INFO * mvcc_info)
|
| int |
btree_packed_mvccinfo_size (BTREE_MVCC_INFO * mvcc_info)
|
| 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)
|
| 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)
|
| int |
btree_range_scan (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, BTREE_RANGE_SCAN_PROCESS_KEY_FUNC * key_func)
|
| void |
btree_range_scan_free_matched_idx (BTREE_SCAN * bts)
|
| int |
btree_range_scan_select_visible_oids (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| TP_DOMAIN * |
btree_read_key_type (THREAD_ENTRY * thread_p, BTID * btid)
|
| 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)
|
| int |
btree_reflect_global_unique_statistics (THREAD_ENTRY * thread_p, GLOBAL_UNIQUE_STATS * unique_stat_info, bool only_active_tran)
|
| int |
btree_remake_foreign_key_with_PK (THREAD_ENTRY * thread_p, BTID * btid, DB_VALUE * key, OID * class_oid, key_val_range * kv_range, bool * is_newly)
|
| int |
btree_remake_reference_key_with_FK (THREAD_ENTRY * thread_p, TP_DOMAIN * pk_domain, DB_VALUE * fk_key, DB_VALUE * new_key)
|
| DISK_ISVALID |
btree_repair_prev_link (THREAD_ENTRY * thread_p, OID * oid, BTID * index_btid, bool repair)
|
| void |
btree_reset_common_prefix_page_info (BTREE_SCAN * bts)
|
| void |
btree_rv_keyval_dump (FILE * fp, int length, void * data)
|
| int |
btree_rv_keyval_undo_delete (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_keyval_undo_insert (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_keyval_undo_insert_mvcc_delid (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_keyval_undo_insert_unique (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_keyval_undo_online_index_tran_delete (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_keyval_undo_online_index_tran_insert (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_newpage_redo_init (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_nodehdr_redo_insert (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_nodehdr_undo_insert (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_nodehdr_undoredo_update (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| void |
btree_rv_noderec_dump (FILE * fp, int length, void * data)
|
| 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)
|
| int |
btree_rv_noderec_undo_insert (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_noderec_undoredo_update (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_nop (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| void |
btree_rv_ovfid_dump (FILE * fp, int length, void * data)
|
| int |
btree_rv_ovfid_undoredo_update (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_pagerec_delete (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_pagerec_insert (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| 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)
|
| 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)
|
| 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)
|
| int |
btree_rv_redo_global_unique_stats_commit (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_redo_record_modify (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
btree_rv_remove_marked_for_delete (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
btree_rv_remove_unique_stats (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| void |
btree_rv_roothdr_dump (FILE * fp, int length, void * data)
|
| int |
btree_rv_roothdr_undo_update (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| 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)
|
| int |
btree_rv_undo_global_unique_stats_commit (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_undo_mark_dealloc_page (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
btree_rv_undo_record_modify (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
btree_rv_undoredo_copy_page (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
btree_rv_update_tran_stats (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| void |
btree_rv_util_dump_leafrec (THREAD_ENTRY * thread_p, FILE * fp, BTID_INT * btid, RECDES * rec)
|
| void |
btree_rv_util_dump_nleafrec (THREAD_ENTRY * thread_p, FILE * fp, BTID_INT * btid, RECDES * rec)
|
| 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)
|
| void |
btree_scan_clear_key (BTREE_SCAN * btree_scan)
|
| 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)
|
| void |
btree_set_mvcc_flags_into_oid (MVCC_REC_HEADER * p_mvcc_header, OID * oid)
|
| 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)
|
| 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)
|
| int |
btree_vacuum_insert_mvccid (THREAD_ENTRY * thread_p, BTID * btid, OR_BUF * buffered_key, OID * oid, OID * class_oid, MVCCID insert_mvccid)
|
| int |
btree_vacuum_object (THREAD_ENTRY * thread_p, BTID * btid, OR_BUF * buffered_key, OID * oid, OID * class_oid, MVCCID delete_mvccid)
|
| DISK_ISVALID |
btree_verify_tree (THREAD_ENTRY * thread_p, const OID * class_oid_p, BTID_INT * btid_int, const char * btname)
|
| 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)
|
| void |
bts_reset_scan (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| BTID * |
xbtree_add_index (THREAD_ENTRY * thread_p, BTID * btid, TP_DOMAIN * key_type, OID * class_oid, int attr_id, int unique_pk, long long num_oids, long long num_nulls, long long num_keys, int deduplicate_key_pos)
|
| int |
xbtree_class_test_unique (THREAD_ENTRY * thread_p, char * buf, int buf_size)
|
| int |
xbtree_delete_index (THREAD_ENTRY * thread_p, BTID * btid)
|
| 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)
|
| 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)
|
| int |
xbtree_get_key_type (THREAD_ENTRY * thread_p, BTID btid, TP_DOMAIN ** key_type)
|
| int |
xbtree_get_unique_pk (THREAD_ENTRY * thread_p, BTID * btid)
|
Public Static Functions
| Type |
Name |
| void |
BTREE_RV_GET_DATA_LENGTH (const char * rv_ptr, const char * rv_start, int & rv_length)
|
| 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)
|
| int |
btree_advance_and_find_key (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)
|
| void |
btree_append_oid (RECDES * rec, OID * oid)
|
| int |
btree_apply_key_range_and_filter (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, bool is_iss, bool * key_range_satisfied, bool * key_filter_satisfied)
|
| DISK_ISVALID |
btree_check_by_btid (THREAD_ENTRY * thread_p, BTID * btid)
|
| void |
btree_check_decompress_key (BTREE_SCAN * bts)
|
| bool |
btree_check_locking_for_delete_unique (THREAD_ENTRY * thread_p, const BTREE_DELETE_HELPER * delete_helper)
|
| bool |
btree_check_locking_for_insert_unique (THREAD_ENTRY * thread_p, const BTREE_INSERT_HELPER * insert_helper)
|
| DISK_ISVALID |
btree_check_page_key (THREAD_ENTRY * thread_p, const OID * class_oid_p, BTID_INT * btid, const char * btname, PAGE_PTR page_ptr, VPID * page_vpid)
|
| DISK_ISVALID |
btree_check_pages (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR pg_ptr, VPID * pg_vpid)
|
| DISK_ISVALID |
btree_check_tree (THREAD_ENTRY * thread_p, const OID * class_oid_p, BTID * btid, const char * btname)
|
| int |
btree_compare_individual_key_value (DB_VALUE * key1, DB_VALUE * key2, TP_DOMAIN * key_domain)
|
| int |
btree_compress_node (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr)
|
| 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)
|
| void |
btree_delete_helper_to_insert_helper (BTREE_DELETE_HELPER * delete_helper, BTREE_INSERT_HELPER * insert_helper)
|
| int |
btree_delete_internal (THREAD_ENTRY * thread_p, BTID * btid, OID * oid, OID * class_oid, BTREE_MVCC_INFO * mvcc_info, DB_VALUE * key, OR_BUF * buffered_key, int * unique, int op_type, btree_unique_stats * unique_stat_info, BTREE_MVCC_INFO * match_mvccinfo, LOG_LSA * undo_nxlsa, BTREE_OBJECT_INFO * second_obj_info, BTREE_OP_PURPOSE purpose)
|
| int |
btree_delete_key_from_leaf (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR leaf_pg, LEAF_REC * leafrec_pnt, BTREE_DELETE_HELPER * delete_helper, BTREE_SEARCH_KEY_HELPER * search_key)
|
| int |
btree_delete_meta_record (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, int slot_id)
|
| int |
btree_delete_overflow_key (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, INT16 slot_id, BTREE_NODE_TYPE node_type)
|
| int |
btree_delete_postponed (THREAD_ENTRY * thread_p, BTID * btid, OR_BUF * buffered_key, BTREE_OBJECT_INFO * btree_obj, MVCCID tran_mvccid, LOG_LSA * reference_lsa)
|
| void |
btree_delete_sysop_end (THREAD_ENTRY * thread_p, BTREE_DELETE_HELPER * helper)
|
| int |
btree_dump_curr_key (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, FILTER_INFO * filter, OID * oid, INDX_SCAN_ID * iscan_id)
|
| void |
btree_dump_leaf_record (THREAD_ENTRY * thread_p, FILE * fp, BTID_INT * btid, RECDES * rec, int n)
|
| void |
btree_dump_non_leaf_record (THREAD_ENTRY * thread_p, FILE * fp, BTID_INT * btid, RECDES * rec, int n, int print_key)
|
| void |
btree_dump_page (THREAD_ENTRY * thread_p, FILE * fp, const OID * class_oid_p, BTID_INT * btid, const char * btname, PAGE_PTR page_ptr, VPID * pg_vpid, int depth, int level)
|
| void |
btree_dump_page_with_subtree (THREAD_ENTRY * thread_p, FILE * fp, BTID_INT * btid, PAGE_PTR pg_ptr, VPID * pg_vpid, int depth, int level)
|
| void |
btree_dump_root_header (THREAD_ENTRY * thread_p, FILE * fp, PAGE_PTR page_ptr)
|
| PAGE_PTR |
btree_find_AR_sampling_leaf (THREAD_ENTRY * thread_p, BTID * btid, VPID * pg_vpid, BTREE_STATS * stat_info_p)
|
| PAGE_PTR |
btree_find_boundary_leaf (THREAD_ENTRY * thread_p, BTID * btid, VPID * pg_vpid, BTREE_STATS * stat_info, BTREE_BOUNDARY where)
|
| int |
btree_find_free_overflow_oids_page (THREAD_ENTRY * thread_p, BTID_INT * btid, VPID * first_ovfl_vpid, PAGE_PTR * overflow_page)
|
| DISK_ISVALID |
btree_find_key_from_leaf (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR pg_ptr, int key_cnt, OID * oid, DB_VALUE * key, bool * clear_key)
|
| DISK_ISVALID |
btree_find_key_from_nleaf (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR pg_ptr, int key_cnt, OID * oid, DB_VALUE * key, bool * clear_key)
|
| DISK_ISVALID |
btree_find_key_from_page (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR pg_ptr, OID * oid, DB_VALUE * key, bool * clear_key)
|
| PAGE_PTR |
btree_find_leftmost_leaf (THREAD_ENTRY * thread_p, BTID * btid, VPID * pg_vpid, BTREE_STATS * stat_info_p)
|
| int |
btree_find_lower_bound_leaf (THREAD_ENTRY * thread_p, BTREE_SCAN * BTS, BTREE_STATS * stat_info_p)
|
| int |
btree_find_next_index_record (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| int |
btree_find_next_index_record_holding_current (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, RECDES * peek_rec)
|
| int |
btree_find_next_index_record_holding_current_helper (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, PAGE_PTR first_page)
|
| int |
btree_find_oid_and_its_page (THREAD_ENTRY * thread_p, BTID_INT * btid_int, OID * oid, PAGE_PTR leaf_page, BTREE_OP_PURPOSE purpose, BTREE_MVCC_INFO * match_mvccinfo, RECDES * leaf_record, LEAF_REC * leaf_rec_info, int after_key_offset, PAGE_PTR * found_page, PAGE_PTR * prev_page, int * offset_to_object, BTREE_MVCC_INFO * object_mvcc_info)
|
| int |
btree_find_oid_does_mvcc_info_match (THREAD_ENTRY * thread_p, BTREE_MVCC_INFO * mvcc_info, BTREE_OP_PURPOSE purpose, BTREE_MVCC_INFO * match_mvccinfo, bool * is_match)
|
| int |
btree_find_oid_from_leaf (THREAD_ENTRY * thread_p, BTID_INT * btid, RECDES * leaf_record, int after_key_offset, OID * oid, BTREE_MVCC_INFO * match_mvccinfo, BTREE_OP_PURPOSE purpose, int * offset_to_object, BTREE_MVCC_INFO * mvcc_info)
|
| int |
btree_find_oid_from_ovfl (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR overflow_page, OID * oid, BTREE_OP_PURPOSE purpose, BTREE_MVCC_INFO * match_mvccinfo, int * offset_to_object, BTREE_MVCC_INFO * mvcc_info)
|
| int |
btree_find_oid_with_page_and_record (THREAD_ENTRY * thread_p, BTID_INT * btid_int, OID * oid, PAGE_PTR leaf_page, BTREE_OP_PURPOSE purpose, BTREE_MVCC_INFO * match_mvccinfo, RECDES * record, LEAF_REC * leaf_info, int offset_after_key, PAGE_PTR * found_page, PAGE_PTR * prev_page, int * offset_to_object, BTREE_MVCC_INFO * object_mvcc_info, RECDES * new_record)
|
| PAGE_PTR |
btree_find_rightmost_leaf (THREAD_ENTRY * thread_p, BTID * btid, VPID * pg_vpid, BTREE_STATS * stat_info_p)
|
| DB_VALUE * |
btree_find_split_point (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, int * mid_slot, DB_VALUE * key, BTREE_INSERT_HELPER * helper, bool * clear_midkey)
|
| int |
btree_fix_root_for_delete (THREAD_ENTRY * thread_p, BTID * btid, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR * root_page, bool * is_leaf, BTREE_SEARCH_KEY_HELPER * search_key, bool * stop, bool * restart, void * other_args)
|
| int |
btree_fix_root_for_insert (THREAD_ENTRY * thread_p, BTID * btid, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR * root_page, bool * is_leaf, BTREE_SEARCH_KEY_HELPER * search_key, bool * stop, bool * restart, void * other_args)
|
| 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)
|
| int |
btree_fk_object_does_exist (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)
|
| MVCCID |
btree_get_creator_mvccid (THREAD_ENTRY * thread_p, PAGE_PTR root_page)
|
| int |
btree_get_max_new_data_size (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR page, BTREE_NODE_TYPE node_type, int key_len, BTREE_INSERT_HELPER * helper, bool known_to_be_found)
|
| PAGE_PTR |
btree_get_new_page (THREAD_ENTRY * thread_p, BTID_INT * btid, VPID * vpid, VPID * near_vpid)
|
| PAGE_PTR |
btree_get_next_page (THREAD_ENTRY * thread_p, PAGE_PTR page_p)
|
| int |
btree_get_next_page_vpid (THREAD_ENTRY * thread_p, PAGE_PTR leaf_page, VPID * next_vpid)
|
| int |
btree_get_node_level (THREAD_ENTRY * thread_p, PAGE_PTR page_ptr)
|
| int |
btree_get_num_visible_oids_from_all_ovf (THREAD_ENTRY * thread_p, BTID_INT * btid, VPID * first_ovfl_vpid, int * num_visible_oids, int * max_visible_oids, MVCC_SNAPSHOT * mvcc_snapshot)
|
| int |
btree_get_root_with_key (THREAD_ENTRY * thread_p, BTID * btid, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR * root_page, bool * is_leaf, BTREE_SEARCH_KEY_HELPER * search_key, bool * stop, bool * restart, void * other_args)
|
| int |
btree_get_stats_key (THREAD_ENTRY * thread_p, BTREE_STATS_ENV * env, MVCC_SNAPSHOT * mvcc_snapshot)
|
| int |
btree_get_stats_midxkey (THREAD_ENTRY * thread_p, BTREE_STATS_ENV * env, DB_MIDXKEY * midxkey)
|
| int |
btree_get_stats_with_AR_sampling (THREAD_ENTRY * thread_p, BTREE_STATS_ENV * env)
|
| int |
btree_get_stats_with_fullscan (THREAD_ENTRY * thread_p, BTREE_STATS_ENV * env)
|
| int |
btree_get_subtree_capacity (THREAD_ENTRY * thread_p, PAGE_PTR pg_ptr, BTREE_CAPACITY * cpc, BTREE_STATS_ENV * env)
|
| int |
btree_get_subtree_stats (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR pg_ptr, BTREE_STATS_ENV * env)
|
| int |
btree_ils_adjust_range (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| void |
btree_insert_helper_to_delete_helper (BTREE_INSERT_HELPER * insert_helper, BTREE_DELETE_HELPER * delete_helper)
|
| int |
btree_insert_internal (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, BTREE_MVCC_INFO * mvcc_info, LOG_LSA * undo_nxlsa, BTREE_OP_PURPOSE purpose)
|
| int |
btree_insert_mvcc_delid_into_page (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, BTREE_NODE_TYPE node_type, DB_VALUE * key, BTREE_INSERT_HELPER * insert_helper, PGSLOTID slot_id, RECDES * rec, int oid_offset)
|
| void |
btree_insert_object_ordered_by_oid (THREAD_ENTRY * thread_p, RECDES * record, BTID_INT * btid_int, BTREE_OBJECT_INFO * object_info, char ** rv_undo_data_ptr, char ** rv_redo_data_ptr, int * offset_to_objptr)
|
| void |
btree_insert_sysop_end (THREAD_ENTRY * thread_p, BTREE_INSERT_HELPER * helper)
|
| bool |
btree_is_class_oid_packed (BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, bool is_first)
|
| bool |
btree_is_delete_data_purpose (BTREE_OP_PURPOSE purpose)
|
| bool |
btree_is_delete_object_purpose (BTREE_OP_PURPOSE purpose)
|
| bool |
btree_is_fence_key (PAGE_PTR leaf_page, PGSLOTID slotid)
|
| bool |
btree_is_fixed_size (BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, bool is_first)
|
| bool |
btree_is_insert_data_purpose (BTREE_OP_PURPOSE purpose)
|
| bool |
btree_is_insert_delid_purpose (BTREE_OP_PURPOSE purpose)
|
| bool |
btree_is_insert_object_purpose (BTREE_OP_PURPOSE purpose)
|
| int |
btree_is_key_visible (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR pg_ptr, MVCC_SNAPSHOT * mvcc_snapshot, int slot_id, bool * is_visible, DB_VALUE * key_value)
|
| bool |
btree_is_online_index_loading (BTREE_OP_PURPOSE purpose)
|
| bool |
btree_is_same_key_for_stats (BTREE_STATS_ENV * env, DB_VALUE * key_value)
|
| bool |
btree_is_single_object_key (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_NODE_TYPE node_type, RECDES * record, int offset_after_key)
|
| int |
btree_iss_set_key (BTREE_SCAN * bts, INDEX_SKIP_SCAN * iss)
|
| int |
btree_key_append_object_as_new_overflow (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR leaf_page, BTREE_OBJECT_INFO * object_info, BTREE_INSERT_HELPER * insert_helper, BTREE_SEARCH_KEY_HELPER * search_key, RECDES * leaf_rec, VPID * first_ovfl_vpid)
|
| int |
btree_key_append_object_into_ovf (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR leaf, BTREE_SEARCH_KEY_HELPER * search_key, RECDES * leaf_record, LEAF_REC * leaf_record_info, BTREE_INSERT_HELPER * insert_helper, BTREE_OBJECT_INFO * append_object)
|
| int |
btree_key_append_object_non_unique (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR leaf, BTREE_SEARCH_KEY_HELPER * search_key, RECDES * leaf_record, int offset_after_key, LEAF_REC * leaf_info, BTREE_OBJECT_INFO * btree_obj, BTREE_INSERT_HELPER * insert_helper)
|
| int |
btree_key_append_object_to_overflow (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR ovfl_page, BTREE_OBJECT_INFO * object_info, BTREE_INSERT_HELPER * insert_helper)
|
| int |
btree_key_append_object_unique (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR leaf, BTREE_SEARCH_KEY_HELPER * search_key, RECDES * leaf_record, LEAF_REC * leaf_record_info, int offset_after_key, BTREE_INSERT_HELPER * insert_helper, BTREE_OBJECT_INFO * first_object)
|
| int |
btree_key_delete_remove_object (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)
|
| int |
btree_key_find_and_insert_delete_mvccid (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)
|
| int |
btree_key_find_and_lock_unique (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)
|
| int |
btree_key_find_and_lock_unique_of_non_unique (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)
|
| int |
btree_key_find_and_lock_unique_of_unique (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)
|
| BTREE_SEARCH |
btree_key_find_first_visible_row (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * rec, int offset, BTREE_NODE_TYPE node_type, OID * oid, OID * class_oid, int max_oids)
|
| BTREE_SEARCH |
btree_key_find_first_visible_row_from_all_ovf (THREAD_ENTRY * thread_p, BTID_INT * btid_int, VPID * first_ovfl_vpid, OID * oid, OID * class_oid)
|
| int |
btree_key_find_unique_version_oid (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)
|
| int |
btree_key_insert_delete_mvccid (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR leaf_page, BTREE_SEARCH_KEY_HELPER * search_key, BTREE_INSERT_HELPER * insert_helper, RECDES * leaf_record, PAGE_PTR object_page, int offset_to_found_object)
|
| bool |
btree_key_insert_does_leaf_need_split (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR leaf_page, BTREE_INSERT_HELPER * insert_helper, BTREE_SEARCH_KEY_HELPER * search_key)
|
| int |
btree_key_insert_new_key (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR leaf_page, BTREE_INSERT_HELPER * insert_helper, BTREE_SEARCH_KEY_HELPER * search_key)
|
| int |
btree_key_insert_new_object (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)
|
| int |
btree_key_lock_and_append_object_unique (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR * leaf, bool * restart, BTREE_SEARCH_KEY_HELPER * search_key, BTREE_INSERT_HELPER * insert_helper, RECDES * leaf_record)
|
| int |
btree_key_lock_object (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR * leaf_page, PAGE_PTR * overflow_page, OID * oid, OID * class_oid, LOCK lock_mode, BTREE_SEARCH_KEY_HELPER * search_key, bool try_cond_lock, bool * restart, bool * was_page_refixed)
|
| int |
btree_key_online_index_IB_insert (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)
|
| int |
btree_key_online_index_IB_insert_list (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)
|
| int |
btree_key_online_index_tran_delete (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)
|
| int |
btree_key_online_index_tran_insert (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)
|
| int |
btree_key_online_index_tran_insert_DF (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)
|
| int |
btree_key_process_objects (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * leaf_record, int after_key_offset, LEAF_REC * leaf_info, BTREE_PROCESS_OBJECT_FUNCTION * func, void * args)
|
| void |
btree_key_record_check_no_visible (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR leaf_page, PGSLOTID slotid)
|
| int |
btree_key_relocate_last_into_ovf (THREAD_ENTRY * thread_p, BTID_INT * btid_int, DB_VALUE * key, PAGE_PTR leaf, BTREE_SEARCH_KEY_HELPER * search_key, RECDES * leaf_record, LEAF_REC * leaf_record_info, int offset_after_key, BTREE_INSERT_HELPER * insert_helper)
|
| int |
btree_key_remove_delete_mvccid (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)
|
| int |
btree_key_remove_delete_mvccid_non_unique (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR page, RECDES * record, PGSLOTID slotid, BTREE_NODE_TYPE node_type, int offset_to_object)
|
| int |
btree_key_remove_delete_mvccid_unique (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, BTREE_SEARCH_KEY_HELPER * search_key, PAGE_PTR leaf_page, RECDES * leaf_record, PAGE_PTR overflow_page, RECDES * overflow_record, BTREE_NODE_TYPE node_type, int offset_to_object)
|
| int |
btree_key_remove_insert_mvccid (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)
|
| int |
btree_key_remove_object (THREAD_ENTRY * thread_p, DB_VALUE * key, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR leaf_page, RECDES * leaf_record, LEAF_REC * leaf_info, int offset_after_key, BTREE_SEARCH_KEY_HELPER * search_key, PAGE_PTR * overflow_page, PAGE_PTR prev_page, BTREE_NODE_TYPE node_type, int offset_to_object)
|
| int |
btree_key_remove_object_and_keep_visible_first (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)
|
| void |
btree_leaf_clear_flag (RECDES * recp, short record_flag)
|
| short |
btree_leaf_get_flag (RECDES * recp)
|
| char * |
btree_leaf_get_nth_oid_ptr (BTID_INT * btid, RECDES * recp, BTREE_NODE_TYPE node_type, int oid_list_offset, int n)
|
| int |
btree_leaf_get_vpid_for_overflow_oids (RECDES * rec, VPID * vpid)
|
| bool |
btree_leaf_is_flaged (RECDES * recp, short record_flag)
|
| int |
btree_leaf_is_key_between_min_max (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR leaf, DB_VALUE * key, BTREE_SEARCH_KEY_HELPER * search_key)
|
| bool |
btree_leaf_lsa_eq (THREAD_ENTRY * thread_p, LOG_LSA * a, LOG_LSA * b)
|
| void |
btree_leaf_record_handle_first_overflow (THREAD_ENTRY * thread_p, RECDES * recp, BTID_INT * btid_int, char ** rv_undo_data_ptr, char ** rv_redo_data_ptr)
|
| int |
btree_leaf_record_replace_first_with_last (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR leaf_page, RECDES * leaf_record, BTREE_SEARCH_KEY_HELPER * search_key, OID * last_oid, OID * last_class_oid, BTREE_MVCC_INFO * last_mvcc_info, int offset_to_last_object)
|
| int |
btree_leaf_remove_object (THREAD_ENTRY * thread_p, DB_VALUE * key, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR leaf_page, RECDES * leaf_record, LEAF_REC * leaf_rec_info, int offset_after_key, BTREE_SEARCH_KEY_HELPER * search_key, int offset_to_object)
|
| void |
btree_leaf_set_flag (RECDES * recp, short record_flag)
|
| int |
btree_load_overflow_key (THREAD_ENTRY * thread_p, BTID_INT * btid, VPID * firstpg_vpid, DB_VALUE * key, BTREE_NODE_TYPE node_type)
|
| void |
btree_make_complete_key_including_prefix (BTREE_SCAN * bts, DB_VALUE * common_prefix_key, int common_prefix_size)
|
| int |
btree_merge_node (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR P, PAGE_PTR Q, PAGE_PTR R, INT16 p_slot_id, VPID * child_vpid, BTREE_MERGE_STATUS status)
|
| int |
btree_merge_node_and_advance (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)
|
| int |
btree_merge_root (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR P, PAGE_PTR Q, PAGE_PTR R)
|
| int |
btree_modify_leaf_ovfl_vpid (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR leaf_page, RECDES * leaf_record, BTREE_SEARCH_KEY_HELPER * search_key, VPID * next_ovfl_vpid)
|
| int |
btree_modify_overflow_link (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR ovfl_page, VPID * next_ovfl_vpid)
|
| int |
btree_node_calculate_common_prefix (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr)
|
| int |
btree_node_get_common_prefix (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr)
|
| BTREE_MERGE_STATUS |
btree_node_mergeable (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR L, PAGE_PTR R)
|
| int |
btree_node_size_uncompressed (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr)
|
| void |
btree_online_index_change_state (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, int offset_to_object, MVCCID new_state, char ** rv_undo_data, char ** rv_redo_data)
|
| void |
btree_online_index_check_state (MVCCID state)
|
| bool |
btree_online_index_is_delete_flag_state (MVCCID state)
|
| bool |
btree_online_index_is_insert_flag_state (MVCCID state)
|
| bool |
btree_online_index_is_normal_state (MVCCID state)
|
| void |
btree_online_index_set_delete_flag_state (MVCCID & state)
|
| void |
btree_online_index_set_insert_flag_state (MVCCID & state)
|
| void |
btree_online_index_set_normal_state (MVCCID & state)
|
| const char * |
btree_op_type_to_string (int op_type)
|
| int |
btree_or_get_mvccinfo (OR_BUF * buf, BTREE_MVCC_INFO * mvcc_info, short btree_mvcc_flags)
|
| int |
btree_or_get_object (OR_BUF * buf, BTID_INT * btid_int, BTREE_NODE_TYPE node_type, int after_key_offset, OID * oid, OID * class_oid, BTREE_MVCC_INFO * mvcc_info)
|
| int |
btree_or_put_mvccinfo (OR_BUF * buf, BTREE_MVCC_INFO * mvcc_info)
|
| int |
btree_or_put_object (OR_BUF * buf, BTID_INT * btid_int, BTREE_NODE_TYPE node_type, BTREE_OBJECT_INFO * object_info)
|
| int |
btree_overflow_record_replace_object (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR overflow_page, RECDES * overflow_record, int * offset_to_replaced_object, BTREE_OBJECT_INFO * replacing_object)
|
| int |
btree_overflow_remove_object (THREAD_ENTRY * thread_p, DB_VALUE * key, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR * overflow_page, PAGE_PTR prev_page, PAGE_PTR leaf_page, RECDES * leaf_record, BTREE_SEARCH_KEY_HELPER * search_key, int offset_to_object)
|
| char * |
btree_pack_object (char * ptr, BTID_INT * btid_int, BTREE_NODE_TYPE node_type, RECDES * record, BTREE_OBJECT_INFO * object_info)
|
| void |
btree_perf_ovf_oids_fix_time (THREAD_ENTRY * thread_p, PERF_UTIME_TRACKER * track)
|
| void |
btree_perf_track_time (THREAD_ENTRY * thread_p, Helper * helper)
|
| void |
btree_perf_track_traverse_time (THREAD_ENTRY * thread_p, Helper * helper)
|
| void |
btree_perf_unique_lock_time (THREAD_ENTRY * thread_p, PERF_UTIME_TRACKER * track, LOCK lock)
|
| void |
btree_print_space (FILE * fp, int n)
|
| const char * |
btree_purpose_to_string (BTREE_OP_PURPOSE purpose)
|
| int |
btree_range_opt_check_add_index_key (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, MULTI_RANGE_OPT * multi_range_opt, OID * p_new_oid, bool * key_added)
|
| int |
btree_range_scan_advance_over_filtered_keys (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| void |
btree_range_scan_alloc_matched_idx (BTREE_SCAN * bts)
|
| int |
btree_range_scan_count_oids_leaf_and_one_ovf (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| int |
btree_range_scan_descending_fix_prev_leaf (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, int * key_count, BTREE_NODE_HEADER ** node_header_ptr, VPID * next_vpid)
|
| int |
btree_range_scan_find_fk_any_object (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| int |
btree_range_scan_read_record (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| int |
btree_range_scan_resume (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| int |
btree_range_scan_start (THREAD_ENTRY * thread_p, BTREE_SCAN * bts)
|
| void |
btree_read_fixed_portion_of_non_leaf_record (RECDES * rec, NON_LEAF_REC * nlf_rec)
|
| int |
btree_read_fixed_portion_of_non_leaf_record_from_orbuf (OR_BUF * buf, NON_LEAF_REC * nlf_rec)
|
| int |
btree_read_record_in_leafpage (THREAD_ENTRY * thread_p, PAGE_PTR pgptr, int copy_key, BTREE_SCAN * bts)
|
| int |
btree_read_record_without_decompression (THREAD_ENTRY * thread_p, BTID_INT * btid, RECDES * Rec, DB_VALUE * key, void * rec_header, BTREE_NODE_TYPE node_type, bool * clear_key, int * offset, int copy)
|
| int |
btree_recompress_record (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, DB_VALUE * fence_key, int old_prefix, int new_prefix)
|
| void |
btree_record_add_delid (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, int offset_to_object, MVCCID delete_mvccid, char ** rv_undo_data, char ** rv_redo_data)
|
| void |
btree_record_append_object (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, BTREE_OBJECT_INFO * object_info, char ** rv_undo_data_ptr, char ** rv_redo_data_ptr)
|
| int |
btree_record_get_last_object (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * recp, BTREE_NODE_TYPE node_type, int after_key_offset, OID * oidp, OID * class_oid, BTREE_MVCC_INFO * mvcc_info, int * last_oid_mvcc_offset)
|
| int |
btree_record_get_num_oids (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * rec, int offset, BTREE_NODE_TYPE node_type)
|
| int |
btree_record_get_num_visible_oids (THREAD_ENTRY * thread_p, BTID_INT * btid, RECDES * rec, int oid_offset, BTREE_NODE_TYPE node_type, int * max_visible_oids, MVCC_SNAPSHOT * mvcc_snapshot, int * num_visible)
|
| void |
btree_record_object_clear_mvcc_flags (char * rec_data, short mvcc_flags)
|
| short |
btree_record_object_get_mvcc_flags (char * data)
|
| bool |
btree_record_object_is_flagged (char * data, short mvcc_flag)
|
| void |
btree_record_object_set_mvcc_flags (char * data, short mvcc_flags)
|
| int |
btree_record_process_objects (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_NODE_TYPE node_type, RECDES * record, int after_key_offset, bool * stop, BTREE_PROCESS_OBJECT_FUNCTION * func, void * args)
|
| void |
btree_record_remove_delid (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, int offset_to_object, char ** rv_undo_data, char ** rv_redo_data)
|
| void |
btree_record_remove_insid (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, int offset_to_object, char ** rv_undo_data, char ** rv_redo_data, int * displacement)
|
| void |
btree_record_remove_last_object (THREAD_ENTRY * thread_p, BTID_INT * btid, RECDES * recp, BTREE_NODE_TYPE node_type, int last_oid_mvcc_offset, char ** rv_undo_data_ptr, char ** rv_redo_data_ptr)
|
| int |
btree_record_remove_object (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR page, RECDES * record, BTREE_SEARCH_KEY_HELPER * search_key, BTREE_NODE_TYPE node_type, int offset_to_object, LOG_DATA_ADDR * addr)
|
| void |
btree_record_remove_object_internal (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, int offset_to_object, char ** rv_undo_data, char ** rv_redo_data, int * displacement)
|
| void |
btree_record_replace_object (THREAD_ENTRY * thread_p, BTID_INT * btid_int, RECDES * record, BTREE_NODE_TYPE node_type, int * offset_to_replaced, BTREE_OBJECT_INFO * replacement, char ** rv_undo_data, char ** rv_redo_data)
|
| int |
btree_record_satisfies_snapshot (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)
|
| int |
btree_remove_delete_mvccid_unique_internal (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_DELETE_HELPER * helper, PAGE_PTR leaf_page, RECDES * leaf_record, BTREE_NODE_TYPE node_type, PAGE_PTR overflow_page, RECDES * overflow_record, int offset_to_object, char ** rv_undo_data, char ** rv_redo_data)
|
| void |
btree_remove_mvccid (RECDES * record, int oid_offset, int mvccid_offset, short flag, char ** rv_undo_data_ptr, char ** rv_redo_data_ptr)
|
| DISK_ISVALID |
btree_repair_prev_link_by_btid (THREAD_ENTRY * thread_p, BTID * btid, bool repair, char * index_name)
|
| DISK_ISVALID |
btree_repair_prev_link_by_class_oid (THREAD_ENTRY * thread_p, OID * oid, BTID * idx_btid, bool repair)
|
| int |
btree_replace_first_oid_with_ovfl_oid (THREAD_ENTRY * thread_p, BTID_INT * btid, DB_VALUE * key, BTREE_DELETE_HELPER * delete_helper, PAGE_PTR leaf_page, BTREE_SEARCH_KEY_HELPER * search_key, RECDES * leaf_rec, VPID * ovfl_vpid)
|
| void |
btree_rv_log_delete_object (THREAD_ENTRY * thread_p, const BTREE_DELETE_HELPER & delete_helper, LOG_DATA_ADDR & addr, int undo_length, int redo_length, const char * undo_data, const char * redo_data)
|
| void |
btree_rv_log_insert_object (THREAD_ENTRY * thread_p, const BTREE_INSERT_HELPER & insert_helper, LOG_DATA_ADDR & addr, int undo_length, int redo_length, const char * undo_data, const char * redo_data)
|
| int |
btree_rv_record_modify_internal (THREAD_ENTRY * thread_p, LOG_RCV * rcv, bool is_undo)
|
| 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)
|
| int |
btree_rv_write_log_record (char * log_rec, int * log_length, RECDES * recp, BTREE_NODE_TYPE node_type)
|
| int |
btree_rv_write_log_record_for_key_insert (char * log_rec, int * log_length, INT16 key_len, RECDES * recp)
|
| SCAN_CODE |
btree_scan_for_show_index_capacity (THREAD_ENTRY * thread_p, DB_VALUE ** out_values, int out_cnt, const char * class_name, OR_INDEX * index_p)
|
| SCAN_CODE |
btree_scan_for_show_index_header (THREAD_ENTRY * thread_p, DB_VALUE ** out_values, int out_cnt, const char * class_name, OR_INDEX * index_p, OID * class_oid_p)
|
| int |
btree_scan_update_range (THREAD_ENTRY * thread_p, BTREE_SCAN * bts, key_val_range * kv_range)
|
| int |
btree_search_key_and_apply_functions (THREAD_ENTRY * thread_p, BTID * btid, BTID_INT * btid_int, DB_VALUE * key, BTREE_ROOT_WITH_KEY_FUNCTION * root_fnct, void * root_args, BTREE_ADVANCE_WITH_KEY_FUNCTION * advance_fnct, void * advance_args, BTREE_PROCESS_KEY_FUNCTION * leaf_fnct, void * process_key_args, BTREE_SEARCH_KEY_HELPER * search_key, PAGE_PTR * leaf_page_ptr)
|
| int |
btree_search_leaf_page (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, DB_VALUE * key, BTREE_SEARCH_KEY_HELPER * search_key)
|
| int |
btree_search_nonleaf_page (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, DB_VALUE * key, INT16 * slot_id, VPID * child_vpid, page_key_boundary * page_bounds)
|
| int |
btree_select_visible_object_for_range_scan (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)
|
| int |
btree_seq_find_oid_from_ovfl (THREAD_ENTRY * thread_p, BTID_INT * btid_int, OID * oid, RECDES * ovf_record, char * initial_oid_ptr, char * oid_ptr_lower_bound, char * oid_ptr_upper_bound, BTREE_OP_PURPOSE purpose, BTREE_MVCC_INFO * match_mvccinfo, int * offset_to_object, BTREE_MVCC_INFO * mvcc_info)
|
| void |
btree_set_mvccid (RECDES * rec, int mvccid_offset, MVCCID * p_mvccid, char ** rv_undo_data_ptr, char ** rv_redo_data_ptr)
|
| DB_VALUE * |
btree_set_split_point (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_ptr, INT16 mid_slot, DB_VALUE * key, bool * clear_midkey)
|
| void |
btree_set_unknown_key_error (THREAD_ENTRY * thread_p, BTID * btid, DB_VALUE * key, const char * debug_msg)
|
| int |
btree_set_vpid_previous_vpid (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR page_p, VPID * prev)
|
| int |
btree_split_find_pivot (int total, BTREE_NODE_SPLIT_INFO * split_info)
|
| int |
btree_split_next_pivot (BTREE_NODE_SPLIT_INFO * split_info, float new_value, int max_index)
|
| int |
btree_split_node (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR P, PAGE_PTR Q, PAGE_PTR R, VPID * P_vpid, VPID * Q_vpid, VPID * R_vpid, INT16 p_slot_id, BTREE_NODE_TYPE node_type, DB_VALUE * key, BTREE_INSERT_HELPER * helper, VPID * child_vpid)
|
| int |
btree_split_node_and_advance (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)
|
| int |
btree_split_root (THREAD_ENTRY * thread_p, BTID_INT * btid, PAGE_PTR P, PAGE_PTR Q, PAGE_PTR R, VPID * P_vpid, VPID * Q_vpid, VPID * R_vpid, BTREE_NODE_TYPE node_type, DB_VALUE * key, BTREE_INSERT_HELPER * helper, VPID * child_vpid)
|
| void |
btree_split_test (THREAD_ENTRY * thread_p, BTID_INT * btid, DB_VALUE * key, VPID * S_vpid, PAGE_PTR S_page, BTREE_NODE_TYPE node_type)
|
| int |
btree_start_overflow_page (THREAD_ENTRY * thread_p, BTID_INT * btid_int, BTREE_OBJECT_INFO * object_info, VPID * first_overflow_vpid, VPID * near_vpid, VPID * new_vpid, PAGE_PTR * new_page_ptr)
|
| int |
btree_store_overflow_key (THREAD_ENTRY * thread_p, BTID_INT * btid, DB_VALUE * key, int size, BTREE_NODE_TYPE node_type, VPID * firstpg_vpid)
|
| int |
btree_top_n_items_binary_search (RANGE_OPT_ITEM ** top_n_items, int * att_idxs, TP_DOMAIN ** domains, bool * desc_order, DB_VALUE * new_key_values, int num_keys, int first, int last, int * new_pos)
|
| int |
btree_undo_delete_physical (THREAD_ENTRY * thread_p, BTID * btid, DB_VALUE * key, OID * class_oid, OID * oid, BTREE_MVCC_INFO * mvcc_info, LOG_LSA * undo_nxlsa)
|
| int |
btree_undo_insert_object (THREAD_ENTRY * thread_p, BTID * btid, OR_BUF * buffered_key, OID * oid, OID * class_oid, MVCCID insert_mvccid, LOG_LSA * undo_nxlsa)
|
| int |
btree_undo_insert_object_unique_multiupd (THREAD_ENTRY * thread_p, BTID * btid, OR_BUF * buffered_key, BTREE_OBJECT_INFO * inserted_object, BTREE_OBJECT_INFO * second_object, MVCCID insert_mvccid, LOG_LSA * undo_nxlsa)
|
| int |
btree_undo_mvcc_delete (THREAD_ENTRY * thread_p, BTID * btid, OR_BUF * buffered_key, OID * oid, OID * class_oid, BTREE_MVCC_INFO * match_mvccinfo, LOG_LSA * undo_nxlsa)
|
| char * |
btree_unpack_mvccinfo (char * ptr, BTREE_MVCC_INFO * mvcc_info, short btree_mvcc_flags)
|
| char * |
btree_unpack_object (char * ptr, BTID_INT * btid_int, BTREE_NODE_TYPE node_type, RECDES * record, int after_key_offset, OID * oid, OID * class_oid, BTREE_MVCC_INFO * mvcc_info)
|
| int |
btree_verify_leaf_node (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR page_ptr)
|
| int |
btree_verify_node (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR page_ptr)
|
| int |
btree_verify_nonleaf_node (THREAD_ENTRY * thread_p, BTID_INT * btid_int, PAGE_PTR page_ptr)
|
| DISK_ISVALID |
btree_verify_subtree (THREAD_ENTRY * thread_p, const OID * class_oid_p, BTID_INT * btid, const char * btname, PAGE_PTR pg_ptr, VPID * pg_vpid, BTREE_NODE_INFO * INFO)
|
| void |
btree_write_default_split_info (BTREE_NODE_SPLIT_INFO * info)
|
| void |
btree_write_fixed_portion_of_non_leaf_record (RECDES * rec, NON_LEAF_REC * nlf_rec)
|
| void |
btree_write_fixed_portion_of_non_leaf_record_to_orbuf (OR_BUF * buf, NON_LEAF_REC * nlf_rec)
|
| void |
check_validate (BTREE_SCAN * bts)
|
| int |
index_attrs_to_string (char * buf, int buf_size, OR_INDEX * index_p, RECDES * recdes)
|
| char * |
key_type_to_string (char * buf, int buf_size, TP_DOMAIN * key_type)
|
| const char * |
node_type_to_string (short node_type)
|
| void |
peek_key_to_copy_key (BTREE_SCAN * bts)
|
| int |
xbtree_test_unique (THREAD_ENTRY * thread_p, BTID * btid)
|
Macros
| Type |
Name |
| define |
BTID_DOMAIN_CHECK_MAX_SIZE 1024
|
| define |
BTREE_CHECK_VALID_PRINT_REC_MAX_LENGTH 1024
|
| define |
BTREE_DEBUG_DUMP_FULL 0x0002 /\* [**full**](broker__monitor_8c.md#function-timeout) dump in insert [**or**](broker__monitor_8c.md#function-timeout) [**delete**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
BTREE_DEBUG_DUMP_SIMPLE 0x0001 /\* [**simple**](broker__monitor_8c.md#function-timeout) message in [**SMO**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
BTREE_DEBUG_HEALTH_FULL 0x0020 /\* [**full**](broker__monitor_8c.md#function-timeout) [**health**](broker__monitor_8c.md#function-timeout) check ([**traverse**](broker__monitor_8c.md#function-timeout) [**all**](broker__monitor_8c.md#function-timeout) [**slot**](structslot.md) in page) \*/
|
| define |
BTREE_DEBUG_HEALTH_SIMPLE 0x0010 /\* [**simple**](broker__monitor_8c.md#function-timeout) [**health**](broker__monitor_8c.md#function-timeout) check in [**SMO**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
BTREE_DEBUG_TEST_SPLIT 0x0100 /\* [**full**](broker__monitor_8c.md#function-timeout) split [**test**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
BTREE_DELETE_CLASS_OID (helper) (&(([**helper**](broker__monitor_8c.md#function-timeout))->object\_info.class\_oid))
|
| define |
BTREE_DELETE_HELPER_AS_ARGS (helper) /* multi line expression */
|
| define |
BTREE_DELETE_HELPER_MSG (tabs) /* multi line expression */
|
| define |
BTREE_DELETE_MODIFY_ARGS (thread_p, helper, page, save_lsa, is_leaf, slotid, new_size, btid) /* multi line expression */
|
| define |
BTREE_DELETE_MODIFY_MSG (desc) /* multi line expression */
|
| define |
BTREE_DELETE_MVCC_INFO (helper) (&(([**helper**](broker__monitor_8c.md#function-timeout))->object\_info.mvcc\_info))
|
| define |
BTREE_DELETE_OID (helper) (&(([**helper**](broker__monitor_8c.md#function-timeout))->object\_info.oid))
|
| define |
BTREE_FIND_FK_OBJECT_INITIALIZER { [**OID\_INITIALIZER**](oid_8h.md#define-oid_initializer), [**OID\_INITIALIZER**](oid_8h.md#define-oid_initializer), NULL\_LOCK }
|
| define |
BTREE_FIND_UNIQUE_HELPER_INITIALIZER /* multi line expression */
|
| define |
BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS (mvcc_flags) /* multi line expression */
|
| define |
BTREE_GET_OID (buf, oid_ptr) /* multi line expression */
|
| define |
BTREE_HEALTH_CHECK
|
| define |
BTREE_ID_MSG "index = %d, %d\|%[**d"**](broker__monitor_8c.md#function-timeout)
|
| define |
BTREE_INSERT_CLASS_OID (ins_helper) (&(([**ins\_helper**](broker__monitor_8c.md#function-timeout))->obj\_info.class\_oid))
|
| define |
BTREE_INSERT_HELPER_AS_ARGS (helper) /* multi line expression */
|
| define |
BTREE_INSERT_HELPER_MSG (tabs) /* multi line expression */
|
| define |
BTREE_INSERT_MODIFY_ARGS (thread_p, helper, page, save_lsa, is_leaf, slotid, new_size, btid) /* multi line expression */
|
| define |
BTREE_INSERT_MODIFY_MSG (desc) /* multi line expression */
|
| define |
BTREE_INSERT_MVCC_INFO (ins_helper) (&(([**ins\_helper**](broker__monitor_8c.md#function-timeout))->obj\_info.mvcc\_info))
|
| define |
BTREE_INSERT_OID (ins_helper) (&(([**ins\_helper**](broker__monitor_8c.md#function-timeout))->obj\_info.oid))
|
| define |
BTREE_IS_PAGE_VALID_LEAF (thread_p, page) /* multi line expression */
|
| define |
BTREE_LEAF_RECORD_CLASS_OID (([**short**](broker__monitor_8c.md#function-timeout)) 0x8000)
|
| define |
BTREE_LEAF_RECORD_FENCE (([**short**](broker__monitor_8c.md#function-timeout)) 0x1000)
|
| define |
BTREE_LEAF_RECORD_MASK (([**short**](broker__monitor_8c.md#function-timeout)) 0xF000)
|
| define |
BTREE_LEAF_RECORD_OVERFLOW_KEY (([**short**](broker__monitor_8c.md#function-timeout)) 0x4000)
|
| define |
BTREE_LEAF_RECORD_OVERFLOW_OIDS (([**short**](broker__monitor_8c.md#function-timeout)) 0x2000)
|
| define |
BTREE_MAX_OID_COUNT [**IO\_MAX\_PAGE\_SIZE**](storage__common_8h.md#define-io_max_page_size) / [**OR\_OID\_SIZE**](object__representation__constants_8h.md#define-or_oid_size)
|
| define |
BTREE_MVCC_INFO_AS_ARGS (mvcc_info) ([**unsigned**](broker__monitor_8c.md#function-timeout) [**long**](broker__monitor_8c.md#function-timeout) [**long**](broker__monitor_8c.md#function-timeout)) [**BTREE\_MVCC\_INFO\_INSID**](btree_8c.md#define-btree_mvcc_info_insid) ([**mvcc\_info**](structmvcc__info.md)), ([**unsigned**](broker__monitor_8c.md#function-timeout) [**long**](broker__monitor_8c.md#function-timeout) [**long**](broker__monitor_8c.md#function-timeout)) [**BTREE\_MVCC\_INFO\_DELID**](btree_8c.md#define-btree_mvcc_info_delid) ([**mvcc\_info**](structmvcc__info.md))
|
| define |
BTREE_MVCC_INFO_CLEAR_DELID (mvcc_info) (([**mvcc\_info**](structmvcc__info.md))->flags &= ~[**BTREE\_OID\_HAS\_MVCC\_DELID**](btree_8c.md#define-btree_oid_has_mvcc_delid))
|
| define |
BTREE_MVCC_INFO_CLEAR_FIXED_SIZE (mvcc_info) /* multi line expression */
|
| define |
BTREE_MVCC_INFO_CLEAR_INSID (mvcc_info) (([**mvcc\_info**](structmvcc__info.md))->flags &= ~[**BTREE\_OID\_HAS\_MVCC\_INSID**](btree_8c.md#define-btree_oid_has_mvcc_insid))
|
| define |
BTREE_MVCC_INFO_DELID (mvcc_info) ([**BTREE\_MVCC\_INFO\_HAS\_DELID**](btree_8c.md#define-btree_mvcc_info_has_delid) ([**mvcc\_info**](structmvcc__info.md)) ? ([**mvcc\_info**](structmvcc__info.md))->delete\_mvccid : [**MVCCID\_NULL**](storage__common_8h.md#define-mvccid_null))
|
| define |
BTREE_MVCC_INFO_HAS_DELID (mvcc_info) ((([**mvcc\_info**](structmvcc__info.md))->flags & [**BTREE\_OID\_HAS\_MVCC\_DELID**](btree_8c.md#define-btree_oid_has_mvcc_delid)) != 0)
|
| define |
BTREE_MVCC_INFO_HAS_INSID (mvcc_info) ((([**mvcc\_info**](structmvcc__info.md))->flags & [**BTREE\_OID\_HAS\_MVCC\_INSID**](btree_8c.md#define-btree_oid_has_mvcc_insid)) != 0)
|
| define |
BTREE_MVCC_INFO_INSID (mvcc_info) ([**BTREE\_MVCC\_INFO\_HAS\_INSID**](btree_8c.md#define-btree_mvcc_info_has_insid) ([**mvcc\_info**](structmvcc__info.md)) ? ([**mvcc\_info**](structmvcc__info.md))->insert\_mvccid : [**MVCCID\_ALL\_VISIBLE**](storage__common_8h.md#define-mvccid_all_visible))
|
| define |
BTREE_MVCC_INFO_IS_DELID_VALID (mvcc_info) ([**BTREE\_MVCC\_INFO\_HAS\_DELID**](btree_8c.md#define-btree_mvcc_info_has_delid) ([**mvcc\_info**](structmvcc__info.md)) && ([**mvcc\_info**](structmvcc__info.md))->delete\_mvccid != [**MVCCID\_NULL**](storage__common_8h.md#define-mvccid_null))
|
| define |
BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE (mvcc_info) ([**BTREE\_MVCC\_INFO\_HAS\_INSID**](btree_8c.md#define-btree_mvcc_info_has_insid) ([**mvcc\_info**](structmvcc__info.md)) && [**MVCCID\_IS\_NOT\_ALL\_VISIBLE**](storage__common_8h.md#define-mvccid_is_not_all_visible) (([**mvcc\_info**](structmvcc__info.md))->insert\_mvccid))
|
| define |
BTREE_MVCC_INFO_SET_DELID (mvcc_info, delid) /* multi line expression */
|
| define |
BTREE_MVCC_INFO_SET_FIXED_SIZE (mvcc_info) /* multi line expression */
|
| define |
BTREE_MVCC_INFO_SET_INSID (mvcc_info, insid) /* multi line expression */
|
| define |
BTREE_NODE_MAX_SPLIT_SIZE (thread_p, page_ptr) (([**int**](broker__monitor_8c.md#function-timeout)) ([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize) - [**SPAGE\_HEADER\_SIZE**](slotted__page_8h.md#define-spage_header_size) - [**spage\_get\_space\_for\_record**](slotted__page_8c.md#function-spage_get_space_for_record)(thread\_p, ([**page\_ptr**](broker__monitor_8c.md#function-timeout)), [**HEADER**](btree__load_8h.md#define-header))))
|
| define |
BTREE_OBJINFO_AS_ARGS (objinfo) /* multi line expression */
|
| define |
BTREE_OBJINFO_MSG (name) name " { OID = %d\|%d\|%d, [**CLASS**](broker__monitor_8c.md#function-timeout) = %d\|%d\|%d, [**MVCC\_INFO**](mvcc_8h.md#typedef-mvcc_info) = %[**llu**](broker__monitor_8c.md#function-timeout)\|%[**llu**](broker__monitor_8c.md#function-timeout) } "
|
| define |
BTREE_OID_CLEAR_ALL_FLAGS (oid_ptr) /* multi line expression */
|
| define |
BTREE_OID_CLEAR_MVCC_FLAGS (oid_ptr) ((oid\_ptr)->volid &= ~[**BTREE\_OID\_MVCC\_FLAGS\_MASK**](btree_8c.md#define-btree_oid_mvcc_flags_mask))
|
| define |
BTREE_OID_CLEAR_RECORD_FLAGS (oid_ptr) ((oid\_ptr)->slotid &= ~[**BTREE\_LEAF\_RECORD\_MASK**](btree_8c.md#define-btree_leaf_record_mask))
|
| define |
BTREE_OID_GET_MVCC_FLAGS (oid_ptr) ((oid\_ptr)->volid & [**BTREE\_OID\_MVCC\_FLAGS\_MASK**](btree_8c.md#define-btree_oid_mvcc_flags_mask))
|
| define |
BTREE_OID_GET_RECORD_FLAGS (oid_ptr) ((oid\_ptr)->slotid & [**BTREE\_LEAF\_RECORD\_MASK**](btree_8c.md#define-btree_leaf_record_mask))
|
| define |
BTREE_OID_HAS_MVCC_DELID (([**short**](broker__monitor_8c.md#function-timeout)) 0x8000)
|
| define |
BTREE_OID_HAS_MVCC_INSID (([**short**](broker__monitor_8c.md#function-timeout)) 0x4000)
|
| define |
BTREE_OID_HAS_MVCC_INSID_AND_DELID ([**BTREE\_OID\_HAS\_MVCC\_INSID**](btree_8c.md#define-btree_oid_has_mvcc_insid) \| [**BTREE\_OID\_HAS\_MVCC\_DELID**](btree_8c.md#define-btree_oid_has_mvcc_delid))
|
| define |
BTREE_OID_IS_MVCC_FLAG_SET (oid_ptr, mvcc_flag) (((oid\_ptr)->volid & (mvcc\_flag)) == (mvcc\_flag))
|
| define |
BTREE_OID_IS_RECORD_FLAG_SET (oid_ptr, mvcc_flag) (((oid\_ptr)->slotid & (mvcc\_flag)) == (mvcc\_flag))
|
| define |
BTREE_OID_MVCC_FLAGS_MASK (([**short**](broker__monitor_8c.md#function-timeout)) 0xC000)
|
| define |
BTREE_OID_SET_MVCC_FLAG (oid_ptr, mvcc_flag) ((oid\_ptr)->volid \|= (mvcc\_flag))
|
| define |
BTREE_OID_SET_RECORD_FLAG (oid_ptr, mvcc_flag) ((oid\_ptr)->slotid \|= (mvcc\_flag))
|
| define |
BTREE_PRINT_KEY_ARGS (key) (key) != [**NULL**](freelistheap_8h.md#define-null) ? (key) : "\*\* UNKNOWN [**KEY**](broker__monitor_8c.md#function-timeout) \*\*"
|
| define |
BTREE_PRINT_KEY_MSG (key) key " = %.32s"
|
| define |
BTREE_RECORD_OR_BUF_INIT (buf, btree_rec) /* multi line expression */
|
| define |
BTREE_REC_SATISFIES_SNAPSHOT_HELPER_INITIALIZER /* multi line expression */
|
| define |
BTREE_RV_DEBUG_INFO_FLAG 0x1000
|
| define |
BTREE_RV_DEBUG_INFO_MAX_SIZE /* multi line expression */
|
| define |
BTREE_RV_EXCLUSIVE_FLAGS_MASK 0x3C00
|
| define |
BTREE_RV_FLAGS_MASK ([**LOG\_RV\_RECORD\_MODIFY\_MASK**](log__append_8hpp.md#variable-log_rv_record_modify_mask) \| [**BTREE\_RV\_EXCLUSIVE\_FLAGS\_MASK**](btree_8c.md#define-btree_rv_exclusive_flags_mask))
|
| define |
BTREE_RV_HAS_DEBUG_INFO (flags) ((flags & [**BTREE\_RV\_DEBUG\_INFO\_FLAG**](btree_8c.md#define-btree_rv_debug_info_flag)) != 0)
|
| define |
BTREE_RV_IS_OVERFLOW_NODE (flags) ((flags & [**BTREE\_RV\_OVERFLOW\_FLAG**](btree_8c.md#define-btree_rv_overflow_flag)) != 0)
|
| define |
BTREE_RV_IS_UNDO_MVCCDEL_MYOBJ (flags) ((flags & [**BTREE\_RV\_UNDO\_MVCCDEL\_MYOBJ**](btree_8c.md#define-btree_rv_undo_mvccdel_myobj)) != 0)
|
| define |
BTREE_RV_IS_UPDATE_MAX_KEY_LEN (flags) ((flags & [**BTREE\_RV\_UPDATE\_MAX\_KEY\_LEN**](btree_8c.md#define-btree_rv_update_max_key_len)) != 0)
|
| define |
BTREE_RV_OVERFLOW_FLAG 0x2000
|
| define |
BTREE_RV_REDO_SET_DEBUG_INFO (addr, rv_ptr, btid_int, id) /* multi line expression */
|
| define |
BTREE_RV_SET_OVERFLOW_NODE (addr) (([**addr**](broker__monitor_8c.md#function-timeout))->offset \|= [**BTREE\_RV\_OVERFLOW\_FLAG**](btree_8c.md#define-btree_rv_overflow_flag))
|
| define |
BTREE_RV_SET_UNDO_MVCCDEL_MYOBJ (addr) (([**addr**](broker__monitor_8c.md#function-timeout))->offset \|= [**BTREE\_RV\_UNDO\_MVCCDEL\_MYOBJ**](btree_8c.md#define-btree_rv_undo_mvccdel_myobj))
|
| define |
BTREE_RV_SET_UPDATE_MAX_KEY_LEN (addr) (([**addr**](broker__monitor_8c.md#function-timeout))->offset \|= [**BTREE\_RV\_UPDATE\_MAX\_KEY\_LEN**](btree_8c.md#define-btree_rv_update_max_key_len))
|
| define |
BTREE_RV_UNDOREDO_SET_DEBUG_INFO (addr, rv_redo_ptr, rv_undo_ptr, btid_int, id) /* multi line expression */
|
| define |
BTREE_RV_UNDO_MVCCDEL_MYOBJ 0x0800
|
| define |
BTREE_RV_UPDATE_MAX_KEY_LEN 0x0800
|
| define |
BTREE_SEARCH_KEY_HELPER_INITIALIZER { BTREE\_KEY\_NOTFOUND, [**NULL\_SLOTID**](storage__common_8h.md#define-null_slotid), btree\_search\_key\_helper::NO\_FENCE\_KEY }
|
| define |
BTREE_SPLIT_DEFAULT_PIVOT 0.5f
|
| define |
BTREE_SPLIT_LOWER_BOUND 0.20f
|
| define |
BTREE_SPLIT_MAX_PIVOT (1.0f - [**BTREE\_SPLIT\_MIN\_PIVOT**](btree_8c.md#define-btree_split_min_pivot))
|
| define |
BTREE_SPLIT_MIN_PIVOT 0.05f
|
| define |
BTREE_SPLIT_UPPER_BOUND (1.0f - [**BTREE\_SPLIT\_LOWER\_BOUND**](btree_8c.md#define-btree_split_lower_bound))
|
| define |
BTS_INCREMENT_READ_OIDS (bts) /* multi line expression */
|
| define |
BTS_IS_HARD_CAPACITY_ENOUGH (bts, count) /* multi line expression */
|
| define |
BTS_IS_INDEX_COVERED (bts) ((bts) != [**NULL**](freelistheap_8h.md#define-null) && (bts)->index\_scan\_idp != [**NULL**](freelistheap_8h.md#define-null) && [**SCAN\_IS\_INDEX\_COVERED**](scan__manager_8h.md#define-scan_is_index_covered) ((bts)->index\_scan\_idp))
|
| define |
BTS_IS_INDEX_ILS (bts) /* multi line expression */
|
| define |
BTS_IS_INDEX_ISS (bts) ((bts) != [**NULL**](freelistheap_8h.md#define-null) && (bts)->index\_scan\_idp != [**NULL**](freelistheap_8h.md#define-null) && [**SCAN\_IS\_INDEX\_ISS**](scan__manager_8h.md#define-scan_is_index_iss) ((bts)->index\_scan\_idp))
|
| define |
BTS_IS_INDEX_MRO (bts) ((bts) != [**NULL**](freelistheap_8h.md#define-null) && (bts)->index\_scan\_idp != [**NULL**](freelistheap_8h.md#define-null) && [**SCAN\_IS\_INDEX\_MRO**](scan__manager_8h.md#define-scan_is_index_mro) ((bts)->index\_scan\_idp))
|
| define |
BTS_IS_SOFT_CAPACITY_ENOUGH (bts, count) /* multi line expression */
|
| define |
BTS_NEED_COUNT_ONLY (bts) ((bts) != [**NULL**](freelistheap_8h.md#define-null) && (bts)->index\_scan\_idp != [**NULL**](freelistheap_8h.md#define-null) && (bts)->index\_scan\_idp->need\_count\_only)
|
| define |
BTS_SAVE_OID_IN_BUFFER (bts, oid) /* multi line expression */
|
| define |
CAN_MERGE_WHEN_EMPTY ([**MAX**](broker__monitor_8c.md#function-timeout) ([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize) \* 0.33, [**MAX\_MERGE\_ALIGN\_WASTE**](btree_8c.md#define-max_merge_align_waste) \* 1.3))
|
| define |
COMMON_PREFIX_PAGE_SIZE_RESET (bts) /* multi line expression */
|
| define |
DISK_PAGE_BITS ([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize) \* [**CHAR\_BIT**](broker__monitor_8c.md#function-timeout)) /\* [**Num**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) bits [**per**](broker__monitor_8c.md#function-timeout) page \*/
|
| define |
FORCE_MERGE_WHEN_EMPTY ([**MAX**](broker__monitor_8c.md#function-timeout) ([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize) \* 0.66, [**MAX\_MERGE\_ALIGN\_WASTE**](btree_8c.md#define-max_merge_align_waste) \* 1.3))
|
| define |
LOFFS1 0 /\* Key [**Len**](broker__monitor_8c.md#function-timeout) [**Offset**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
LOFFS2 2 /\* Node [**Type**](broker__monitor_8c.md#function-timeout) [**Offset:**](broker__monitor_8c.md#function-timeout) [**Leaf**](broker__monitor_8c.md#function-timeout)/[**NonLeaf**](broker__monitor_8c.md#function-timeout) [**Information**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
LOFFS3 4 /\* [**RECDES**](storage__common_8h.md#typedef-recdes) [**Type**](broker__monitor_8c.md#function-timeout) [**Offset**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
LOFFS4 6 /\* [**RECDES**](storage__common_8h.md#typedef-recdes) [**Data**](broker__monitor_8c.md#function-timeout) [**Offset**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
MAX_LEAF_REC_NUM ([**IO\_MAX\_PAGE\_SIZE**](storage__common_8h.md#define-io_max_page_size) / [**MIN\_LEAF\_REC\_SIZE**](btree_8c.md#define-min_leaf_rec_size))
|
| define |
MAX_MERGE_ALIGN_WASTE (([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize)/[**MIN\_LEAF\_REC\_SIZE**](btree_8c.md#define-min_leaf_rec_size)) \* ([**BTREE\_MAX\_ALIGN**](btree__load_8h.md#define-btree_max_align) - 1))
|
| define |
MIN_KEY_SIZE [**DB\_ALIGN**](memory__alloc_8h.md#define-db_align) (1, [**BTREE\_MAX\_ALIGN**](btree__load_8h.md#define-btree_max_align))
|
| define |
MIN_LEAF_REC_SIZE ([**OR\_OID\_SIZE**](object__representation__constants_8h.md#define-or_oid_size) + [**MIN\_KEY\_SIZE**](btree_8c.md#define-min_key_size))
|
| define |
NEXT_MERGE_RECORD () /* multi line expression */
|
| define |
NOT_FOUND -1
|
| define |
OFFS1 0 /\* Node [**Type**](broker__monitor_8c.md#function-timeout) [**Offset:**](broker__monitor_8c.md#function-timeout) [**Leaf**](broker__monitor_8c.md#function-timeout)/[**NonLeaf**](broker__monitor_8c.md#function-timeout) [**Information**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
OFFS2 2 /\* [**RECDES**](storage__common_8h.md#typedef-recdes) [**Type**](broker__monitor_8c.md#function-timeout) [**Offset**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
OFFS3 4 /\* [**RECDES**](storage__common_8h.md#typedef-recdes) [**Data**](broker__monitor_8c.md#function-timeout) [**Offset**](broker__monitor_8c.md#function-timeout) \*/
|
| define |
OID_MSG_BUF_SIZE 64
|
| define |
__STDC_FORMAT_MACROS
|
| define |
btree_delete_log (helper, msg, ...) [**if**](dynamic__load_8c.md#function-if) (([**helper**](broker__monitor_8c.md#function-timeout))->log\_operations) [**btree\_log**](btree_8c.md#define-btree_log) ("BTREE\_DELETE ", msg, [**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout))
|
| define |
btree_insert_log (helper, msg, ...) [**if**](dynamic__load_8c.md#function-if) (([**helper**](broker__monitor_8c.md#function-timeout))->log\_operations) [**btree\_log**](btree_8c.md#define-btree_log) ("BTREE\_INSERT ", msg, [**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout))
|
| define |
btree_log (prefix, msg, ...) /* multi line expression */
|
| define |
btree_log_if_enabled (...) [**if**](dynamic__load_8c.md#function-if) ([**prm\_get\_bool\_value**](system__parameter_8h.md#function-prm_get_bool_value)(PRM\_ID\_LOG\_BTREE\_OPS)) [**\_er\_log\_debug**](error__manager_8c.md#function-_er_log_debug) ([**ARG\_FILE\_LINE**](error__manager_8h.md#define-arg_file_line), [**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout))
|
Public Types Documentation
typedef BTREE_ADVANCE_WITH_KEY_FUNCTION
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);
enum BTREE_BOUNDARY
enum BTREE_BOUNDARY {
BTREE_BOUNDARY_FIRST = 1,
BTREE_BOUNDARY_LAST
};
typedef BTREE_DELETE_HELPER
typedef struct btree_delete_helper BTREE_DELETE_HELPER;
typedef BTREE_FIND_FK_OBJECT
typedef struct btree_find_fk_object BTREE_FIND_FK_OBJECT;
typedef BTREE_FIND_UNIQUE_HELPER
typedef struct btree_find_unique_helper BTREE_FIND_UNIQUE_HELPER;
typedef BTREE_FK_EXIST_ARG
typedef struct fk_object_exist_arg BTREE_FK_EXIST_ARG;
typedef BTREE_HELPER
typedef struct btree_helper BTREE_HELPER;
typedef BTREE_INSERT_HELPER
typedef struct btree_insert_helper BTREE_INSERT_HELPER;
enum BTREE_MERGE_STATUS
enum BTREE_MERGE_STATUS {
BTREE_MERGE_NO = 0,
BTREE_MERGE_TRY,
BTREE_MERGE_FORCE
};
typedef BTREE_PROCESS_KEY_FUNCTION
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 BTREE_PROCESS_OBJECT_FUNCTION
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 BTREE_REC_SATISFIES_SNAPSHOT_HELPER
typedef struct btree_rec_satisfies_snapshot_helper BTREE_REC_SATISFIES_SNAPSHOT_HELPER;
typedef BTREE_ROOT_WITH_KEY_FUNCTION
typedef int BTREE_ROOT_WITH_KEY_FUNCTION(THREAD_ENTRY *thread_p, BTID *btid, BTID_INT *btid_int, DB_VALUE *key, PAGE_PTR *root_page, bool *is_leaf, BTREE_SEARCH_KEY_HELPER *search_key, bool *stop, bool *restart, void *other_args);
typedef BTREE_RV_DEBUG_ID
typedef enum btree_rv_debug_id BTREE_RV_DEBUG_ID;
typedef BTREE_SEARCH_KEY_HELPER
typedef struct btree_search_key_helper BTREE_SEARCH_KEY_HELPER;
typedef BTREE_STATS_ENV
typedef struct btree_stats_env BTREE_STATS_ENV;
typedef struct recset_header RECSET_HEADER;
typedef SHOW_INDEX_SCAN_CTX
typedef struct show_index_scan_ctx SHOW_INDEX_SCAN_CTX;
enum btree_rv_debug_id
enum btree_rv_debug_id {
BTREE_RV_REDO_NO_ID = 0,
BTREE_RV_DEBUG_ID_INSERT_DELID,
BTREE_RV_DEBUG_ID_START_OVF,
BTREE_RV_DEBUG_ID_INS_NEW_OVF,
BTREE_RV_DEBUG_ID_INS_OLD_OVF,
BTREE_RV_DEBUG_ID_UNIQUE,
BTREE_RV_DEBUG_ID_NON_UNIQUE,
BTREE_RV_DEBUG_ID_REM_INSID,
BTREE_RV_DEBUG_ID_REM_DELID_UNIQUE,
BTREE_RV_DEBUG_ID_REM_DELID_NON_UNIQUE,
BTREE_RV_DEBUG_ID_OVF_REPLACE,
BTREE_RV_DEBUG_ID_SWAP_LEAF,
BTREE_RV_DEBUG_ID_OVF_LINK,
BTREE_RV_DEBUG_ID_LAST_OID,
BTREE_RV_DEBUG_ID_REM_OBJ,
BTREE_RV_DEBUG_ID_INS_KEY,
BTREE_RV_DEBUG_ID_UNDO_INS_UNQ_MUPD,
BTREE_RV_DEBUG_ID_INS_REM_LEAF_LAST
};
Public Attributes Documentation
variable BTREE_ONLINE_INDEX_DELETE_FLAG_STATE
const MVCCID BTREE_ONLINE_INDEX_DELETE_FLAG_STATE;
variable BTREE_ONLINE_INDEX_FLAG_MASK
const MVCCID BTREE_ONLINE_INDEX_FLAG_MASK;
variable BTREE_ONLINE_INDEX_INSERT_FLAG_STATE
const MVCCID BTREE_ONLINE_INDEX_INSERT_FLAG_STATE;
variable BTREE_ONLINE_INDEX_MVCCID_MASK
const MVCCID BTREE_ONLINE_INDEX_MVCCID_MASK;
variable BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE
const MVCCID BTREE_ONLINE_INDEX_NORMAL_FLAG_STATE;
variable BTREE_RV_BUFFER_SIZE
const size_t BTREE_RV_BUFFER_SIZE;
Public Functions Documentation
function btree_attrinfo_read_dbvalues
int btree_attrinfo_read_dbvalues (
THREAD_ENTRY * thread_p,
DB_VALUE * curr_key,
BTREE_SCAN * bts,
int * btree_att_ids,
int btree_num_att,
HEAP_CACHE_ATTRINFO * attr_info,
int func_index_col_id,
int * attr_idx_ptr
)
function btree_check_all
DISK_ISVALID btree_check_all (
THREAD_ENTRY * thread_p
)
function btree_check_by_class_oid
DISK_ISVALID btree_check_by_class_oid (
THREAD_ENTRY * thread_p,
OID * cls_oid,
BTID * idx_btid
)
function btree_check_foreign_key
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
)
function btree_check_valid_record
int btree_check_valid_record (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
RECDES * recp,
BTREE_NODE_TYPE node_type,
DB_VALUE * key
)
function btree_clear_mvcc_flags_from_oid
void btree_clear_mvcc_flags_from_oid (
OID * oid
)
function btree_coerce_key
int btree_coerce_key (
DB_VALUE * keyp,
int keysize,
TP_DOMAIN * btree_domainp,
int key_minmax
)
function btree_compare_btids
int btree_compare_btids (
void * mem_btid1,
void * mem_btid2
)
function btree_compare_key
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
)
function btree_create_file
int btree_create_file (
THREAD_ENTRY * thread_p,
const OID * class_oid,
int attrid,
BTID * btid
)
function btree_create_overflow_key_file
int btree_create_overflow_key_file (
THREAD_ENTRY * thread_p,
BTID_INT * btid
)
function btree_dump
void btree_dump (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID * btid,
int level
)
function btree_dump_capacity
int btree_dump_capacity (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID * btid
)
function btree_dump_key
void btree_dump_key (
FILE * fp,
const DB_VALUE * key
)
function btree_find_foreign_key
int btree_find_foreign_key (
THREAD_ENTRY * thread_p,
BTID * btid,
DB_VALUE * key,
OID * class_oid,
OID * found_oid
)
function btree_find_key
DISK_ISVALID btree_find_key (
THREAD_ENTRY * thread_p,
BTID * btid,
OID * oid,
DB_VALUE * key,
bool * clear_key
)
function btree_find_min_or_max_key
int btree_find_min_or_max_key (
THREAD_ENTRY * thread_p,
BTID * btid,
DB_VALUE * key,
int find_min_key
)
function btree_generate_prefix_domain
TP_DOMAIN * btree_generate_prefix_domain (
BTID_INT * btid
)
function btree_get_asc_desc
int btree_get_asc_desc (
THREAD_ENTRY * thread_p,
BTID * btid,
int col_idx,
int * asc_desc
)
function btree_get_btid_from_file
int btree_get_btid_from_file (
THREAD_ENTRY * thread_p,
const VFID * vfid,
BTID * btid_out
)
function btree_get_class_oid_of_unique_btid
int btree_get_class_oid_of_unique_btid (
THREAD_ENTRY * thread_p,
BTID * btid,
OID * class_oid
)
function btree_get_disk_size_of_key
int btree_get_disk_size_of_key (
DB_VALUE * key
)
function btree_get_next_key_info
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
)
function btree_get_next_node_info
SCAN_CODE btree_get_next_node_info (
THREAD_ENTRY * thread_p,
BTID * btid,
BTREE_NODE_SCAN * btns,
DB_VALUE ** node_info
)
function btree_get_num_visible_from_leaf_and_ovf
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
)
function btree_get_perf_btree_page_type
PERF_PAGE_TYPE btree_get_perf_btree_page_type (
THREAD_ENTRY * thread_p,
PAGE_PTR page_ptr
)
function btree_get_pkey_btid
int btree_get_pkey_btid (
THREAD_ENTRY * thread_p,
OID * cls_oid,
BTID * pkey_btid
)
function btree_get_prefix_separator
int btree_get_prefix_separator (
const DB_VALUE * key1,
const DB_VALUE * key2,
DB_VALUE * prefix_key,
TP_DOMAIN * key_domain
)
function btree_get_root_vpid_from_btid
void btree_get_root_vpid_from_btid (
THREAD_ENTRY * thread_p,
BTID * btid,
VPID * root_vpid
)
function btree_get_stats
int btree_get_stats (
THREAD_ENTRY * thread_p,
BTREE_STATS * stat_info_p,
bool with_fullscan
)
function btree_get_unique_statistics
int btree_get_unique_statistics (
THREAD_ENTRY * thread_p,
BTID * btid,
long long * oid_cnt,
long long * null_cnt,
long long * key_cnt
)
function btree_get_unique_statistics_for_count
int btree_get_unique_statistics_for_count (
THREAD_ENTRY * thread_p,
BTID * btid,
long long * oid_cnt,
long long * null_cnt,
long long * key_cnt
)
int btree_glean_root_header_info (
THREAD_ENTRY * thread_p,
BTREE_ROOT_HEADER * root_header,
BTID_INT * btid,
bool is_key_type
)
function btree_hash_btid
unsigned int btree_hash_btid (
void * btid,
int hash_size
)
function btree_index_capacity
int btree_index_capacity (
THREAD_ENTRY * thread_p,
BTID * btid,
BTREE_CAPACITY * cpc
)
function btree_index_end_scan
int btree_index_end_scan (
THREAD_ENTRY * thread_p,
void ** ptr
)
function btree_index_next_scan
SCAN_CODE btree_index_next_scan (
THREAD_ENTRY * thread_p,
int cursor,
DB_VALUE ** out_values,
int out_cnt,
void * ptr
)
function btree_index_start_scan
int btree_index_start_scan (
THREAD_ENTRY * thread_p,
int show_type,
DB_VALUE ** arg_values,
int arg_cnt,
void ** ptr
)
function btree_initialize_new_page
int btree_initialize_new_page (
THREAD_ENTRY * thread_p,
PAGE_PTR page,
void * args
)
function btree_insert
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
)
function btree_is_btid_online_index
bool btree_is_btid_online_index (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid
)
function btree_is_unique_type
bool btree_is_unique_type (
BTREE_TYPE type
)
function btree_keyoid_checkscan_check
DISK_ISVALID btree_keyoid_checkscan_check (
THREAD_ENTRY * thread_p,
BTREE_CHECKSCAN * btscan,
OID * cls_oid,
DB_VALUE * key,
OID * oid
)
function btree_keyoid_checkscan_end
void btree_keyoid_checkscan_end (
THREAD_ENTRY * thread_p,
BTREE_CHECKSCAN * btscan
)
function btree_keyoid_checkscan_start
int btree_keyoid_checkscan_start (
THREAD_ENTRY * thread_p,
BTID * btid,
BTREE_CHECKSCAN * btscan
)
function btree_keyval_search
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
)
function btree_leaf_change_first_object
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
)
function btree_leaf_get_first_object
int btree_leaf_get_first_object (
BTID_INT * btid,
RECDES * recp,
OID * oidp,
OID * class_oid,
BTREE_MVCC_INFO * mvcc_info
)
function btree_leaf_record_change_overflow_link
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
)
function btree_locate_key
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
)
function btree_multicol_key_has_null
int btree_multicol_key_has_null (
DB_VALUE * key
)
function btree_multicol_key_is_null
bool btree_multicol_key_is_null (
DB_VALUE * key
)
function btree_mvcc_delete
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
)
void btree_mvcc_info_from_heap_mvcc_header (
MVCC_REC_HEADER * mvcc_header,
BTREE_MVCC_INFO * mvcc_info
)
void btree_mvcc_info_to_heap_mvcc_header (
BTREE_MVCC_INFO * mvcc_info,
MVCC_REC_HEADER * mvcc_header
)
function btree_online_index_check_unique_constraint
int btree_online_index_check_unique_constraint (
THREAD_ENTRY * thread_p,
BTID * btid,
const char * index_name,
OID * class_oid
)
function btree_online_index_dispatcher
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
)
function btree_online_index_list_dispatcher
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
)
function btree_pack_mvccinfo
char * btree_pack_mvccinfo (
char * ptr,
BTREE_MVCC_INFO * mvcc_info
)
function btree_packed_mvccinfo_size
int btree_packed_mvccinfo_size (
BTREE_MVCC_INFO * mvcc_info
)
function btree_physical_delete
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
)
function btree_prepare_bts
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
)
function btree_range_scan
int btree_range_scan (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
BTREE_RANGE_SCAN_PROCESS_KEY_FUNC * key_func
)
function btree_range_scan_free_matched_idx
void btree_range_scan_free_matched_idx (
BTREE_SCAN * bts
)
function btree_range_scan_select_visible_oids
int btree_range_scan_select_visible_oids (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_read_key_type
TP_DOMAIN * btree_read_key_type (
THREAD_ENTRY * thread_p,
BTID * btid
)
function btree_read_record
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
)
function btree_reflect_global_unique_statistics
int btree_reflect_global_unique_statistics (
THREAD_ENTRY * thread_p,
GLOBAL_UNIQUE_STATS * unique_stat_info,
bool only_active_tran
)
function btree_remake_foreign_key_with_PK
int btree_remake_foreign_key_with_PK (
THREAD_ENTRY * thread_p,
BTID * btid,
DB_VALUE * key,
OID * class_oid,
key_val_range * kv_range,
bool * is_newly
)
function btree_remake_reference_key_with_FK
int btree_remake_reference_key_with_FK (
THREAD_ENTRY * thread_p,
TP_DOMAIN * pk_domain,
DB_VALUE * fk_key,
DB_VALUE * new_key
)
function btree_repair_prev_link
DISK_ISVALID btree_repair_prev_link (
THREAD_ENTRY * thread_p,
OID * oid,
BTID * index_btid,
bool repair
)
function btree_reset_common_prefix_page_info
void btree_reset_common_prefix_page_info (
BTREE_SCAN * bts
)
function btree_rv_keyval_dump
void btree_rv_keyval_dump (
FILE * fp,
int length,
void * data
)
function btree_rv_keyval_undo_delete
int btree_rv_keyval_undo_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_keyval_undo_insert
int btree_rv_keyval_undo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_keyval_undo_insert_mvcc_delid
int btree_rv_keyval_undo_insert_mvcc_delid (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_keyval_undo_insert_unique
int btree_rv_keyval_undo_insert_unique (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_keyval_undo_online_index_tran_delete
int btree_rv_keyval_undo_online_index_tran_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_keyval_undo_online_index_tran_insert
int btree_rv_keyval_undo_online_index_tran_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_newpage_redo_init
int btree_rv_newpage_redo_init (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_nodehdr_redo_insert
int btree_rv_nodehdr_redo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_nodehdr_undo_insert
int btree_rv_nodehdr_undo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_nodehdr_undoredo_update
int btree_rv_nodehdr_undoredo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_noderec_dump
void btree_rv_noderec_dump (
FILE * fp,
int length,
void * data
)
function btree_rv_noderec_dump_slot_id
void btree_rv_noderec_dump_slot_id (
FILE * fp,
int length,
void * data
)
function btree_rv_noderec_redo_insert
int btree_rv_noderec_redo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_noderec_undo_insert
int btree_rv_noderec_undo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_noderec_undoredo_update
int btree_rv_noderec_undoredo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_nop
int btree_rv_nop (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_ovfid_dump
void btree_rv_ovfid_dump (
FILE * fp,
int length,
void * data
)
function btree_rv_ovfid_undoredo_update
int btree_rv_ovfid_undoredo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
int btree_rv_pagerec_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
int btree_rv_pagerec_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_read_keybuf_nocopy
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
)
function btree_rv_read_keybuf_two_objects
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
)
function btree_rv_read_keyval_info_nocopy
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
)
function btree_rv_redo_global_unique_stats_commit
int btree_rv_redo_global_unique_stats_commit (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_redo_record_modify
int btree_rv_redo_record_modify (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function btree_rv_remove_marked_for_delete
int btree_rv_remove_marked_for_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function btree_rv_remove_unique_stats
int btree_rv_remove_unique_stats (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_roothdr_dump
void btree_rv_roothdr_dump (
FILE * fp,
int length,
void * data
)
function btree_rv_roothdr_undo_update
int btree_rv_roothdr_undo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_save_keyval_for_undo
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
)
function btree_rv_undo_global_unique_stats_commit
int btree_rv_undo_global_unique_stats_commit (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_undo_mark_dealloc_page
int btree_rv_undo_mark_dealloc_page (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function btree_rv_undo_record_modify
int btree_rv_undo_record_modify (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function btree_rv_undoredo_copy_page
int btree_rv_undoredo_copy_page (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_update_tran_stats
int btree_rv_update_tran_stats (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function btree_rv_util_dump_leafrec
void btree_rv_util_dump_leafrec (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID_INT * btid,
RECDES * rec
)
function btree_rv_util_dump_nleafrec
void btree_rv_util_dump_nleafrec (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID_INT * btid,
RECDES * rec
)
function btree_rv_util_save_page_records
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
)
function btree_scan_clear_key
void btree_scan_clear_key (
BTREE_SCAN * btree_scan
)
function btree_set_error
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
)
function btree_set_mvcc_flags_into_oid
void btree_set_mvcc_flags_into_oid (
MVCC_REC_HEADER * p_mvcc_header,
OID * oid
)
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
)
function btree_update
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
)
function btree_vacuum_insert_mvccid
int btree_vacuum_insert_mvccid (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_BUF * buffered_key,
OID * oid,
OID * class_oid,
MVCCID insert_mvccid
)
function btree_vacuum_object
int btree_vacuum_object (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_BUF * buffered_key,
OID * oid,
OID * class_oid,
MVCCID delete_mvccid
)
function btree_verify_tree
DISK_ISVALID btree_verify_tree (
THREAD_ENTRY * thread_p,
const OID * class_oid_p,
BTID_INT * btid_int,
const char * btname
)
function 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
)
function bts_reset_scan
void bts_reset_scan (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function xbtree_add_index
BTID * xbtree_add_index (
THREAD_ENTRY * thread_p,
BTID * btid,
TP_DOMAIN * key_type,
OID * class_oid,
int attr_id,
int unique_pk,
long long num_oids,
long long num_nulls,
long long num_keys,
int deduplicate_key_pos
)
function xbtree_class_test_unique
int xbtree_class_test_unique (
THREAD_ENTRY * thread_p,
char * buf,
int buf_size
)
function xbtree_delete_index
int xbtree_delete_index (
THREAD_ENTRY * thread_p,
BTID * btid
)
function xbtree_find_multi_uniques
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
)
function xbtree_find_unique
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
)
function xbtree_get_key_type
int xbtree_get_key_type (
THREAD_ENTRY * thread_p,
BTID btid,
TP_DOMAIN ** key_type
)
function xbtree_get_unique_pk
int xbtree_get_unique_pk (
THREAD_ENTRY * thread_p,
BTID * btid
)
Public Static Functions Documentation
function BTREE_RV_GET_DATA_LENGTH
static void BTREE_RV_GET_DATA_LENGTH (
const char * rv_ptr,
const char * rv_start,
int & rv_length
)
function btree_add_mvccid
static 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
)
function btree_advance_and_find_key
static int btree_advance_and_find_key (
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
)
function btree_append_oid
static void btree_append_oid (
RECDES * rec,
OID * oid
)
function btree_apply_key_range_and_filter
static int btree_apply_key_range_and_filter (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
bool is_iss,
bool * key_range_satisfied,
bool * key_filter_satisfied
)
function btree_check_by_btid
static DISK_ISVALID btree_check_by_btid (
THREAD_ENTRY * thread_p,
BTID * btid
)
function btree_check_decompress_key
static void btree_check_decompress_key (
BTREE_SCAN * bts
)
function btree_check_locking_for_delete_unique
static bool btree_check_locking_for_delete_unique (
THREAD_ENTRY * thread_p,
const BTREE_DELETE_HELPER * delete_helper
)
function btree_check_locking_for_insert_unique
static bool btree_check_locking_for_insert_unique (
THREAD_ENTRY * thread_p,
const BTREE_INSERT_HELPER * insert_helper
)
function btree_check_page_key
static DISK_ISVALID btree_check_page_key (
THREAD_ENTRY * thread_p,
const OID * class_oid_p,
BTID_INT * btid,
const char * btname,
PAGE_PTR page_ptr,
VPID * page_vpid
)
function btree_check_pages
static DISK_ISVALID btree_check_pages (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR pg_ptr,
VPID * pg_vpid
)
function btree_check_tree
static DISK_ISVALID btree_check_tree (
THREAD_ENTRY * thread_p,
const OID * class_oid_p,
BTID * btid,
const char * btname
)
function btree_compare_individual_key_value
static int btree_compare_individual_key_value (
DB_VALUE * key1,
DB_VALUE * key2,
TP_DOMAIN * key_domain
)
function btree_compress_node
static int btree_compress_node (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr
)
function btree_count_oids
static 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
)
function btree_delete_helper_to_insert_helper
static inline void btree_delete_helper_to_insert_helper (
BTREE_DELETE_HELPER * delete_helper,
BTREE_INSERT_HELPER * insert_helper
)
function btree_delete_internal
static int btree_delete_internal (
THREAD_ENTRY * thread_p,
BTID * btid,
OID * oid,
OID * class_oid,
BTREE_MVCC_INFO * mvcc_info,
DB_VALUE * key,
OR_BUF * buffered_key,
int * unique,
int op_type,
btree_unique_stats * unique_stat_info,
BTREE_MVCC_INFO * match_mvccinfo,
LOG_LSA * undo_nxlsa,
BTREE_OBJECT_INFO * second_obj_info,
BTREE_OP_PURPOSE purpose
)
function btree_delete_key_from_leaf
static int btree_delete_key_from_leaf (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR leaf_pg,
LEAF_REC * leafrec_pnt,
BTREE_DELETE_HELPER * delete_helper,
BTREE_SEARCH_KEY_HELPER * search_key
)
static int btree_delete_meta_record (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
int slot_id
)
function btree_delete_overflow_key
static int btree_delete_overflow_key (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
INT16 slot_id,
BTREE_NODE_TYPE node_type
)
function btree_delete_postponed
static int btree_delete_postponed (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_BUF * buffered_key,
BTREE_OBJECT_INFO * btree_obj,
MVCCID tran_mvccid,
LOG_LSA * reference_lsa
)
function btree_delete_sysop_end
static void btree_delete_sysop_end (
THREAD_ENTRY * thread_p,
BTREE_DELETE_HELPER * helper
)
function btree_dump_curr_key
static int btree_dump_curr_key (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
FILTER_INFO * filter,
OID * oid,
INDX_SCAN_ID * iscan_id
)
function btree_dump_leaf_record
static void btree_dump_leaf_record (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID_INT * btid,
RECDES * rec,
int n
)
function btree_dump_non_leaf_record
static void btree_dump_non_leaf_record (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID_INT * btid,
RECDES * rec,
int n,
int print_key
)
function btree_dump_page
static void btree_dump_page (
THREAD_ENTRY * thread_p,
FILE * fp,
const OID * class_oid_p,
BTID_INT * btid,
const char * btname,
PAGE_PTR page_ptr,
VPID * pg_vpid,
int depth,
int level
)
function btree_dump_page_with_subtree
static void btree_dump_page_with_subtree (
THREAD_ENTRY * thread_p,
FILE * fp,
BTID_INT * btid,
PAGE_PTR pg_ptr,
VPID * pg_vpid,
int depth,
int level
)
static void btree_dump_root_header (
THREAD_ENTRY * thread_p,
FILE * fp,
PAGE_PTR page_ptr
)
function btree_find_AR_sampling_leaf
static PAGE_PTR btree_find_AR_sampling_leaf (
THREAD_ENTRY * thread_p,
BTID * btid,
VPID * pg_vpid,
BTREE_STATS * stat_info_p
)
function btree_find_boundary_leaf
static PAGE_PTR btree_find_boundary_leaf (
THREAD_ENTRY * thread_p,
BTID * btid,
VPID * pg_vpid,
BTREE_STATS * stat_info,
BTREE_BOUNDARY where
)
function btree_find_free_overflow_oids_page
static int btree_find_free_overflow_oids_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
VPID * first_ovfl_vpid,
PAGE_PTR * overflow_page
)
function btree_find_key_from_leaf
static DISK_ISVALID btree_find_key_from_leaf (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR pg_ptr,
int key_cnt,
OID * oid,
DB_VALUE * key,
bool * clear_key
)
function btree_find_key_from_nleaf
static DISK_ISVALID btree_find_key_from_nleaf (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR pg_ptr,
int key_cnt,
OID * oid,
DB_VALUE * key,
bool * clear_key
)
function btree_find_key_from_page
static DISK_ISVALID btree_find_key_from_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR pg_ptr,
OID * oid,
DB_VALUE * key,
bool * clear_key
)
function btree_find_leftmost_leaf
static PAGE_PTR btree_find_leftmost_leaf (
THREAD_ENTRY * thread_p,
BTID * btid,
VPID * pg_vpid,
BTREE_STATS * stat_info_p
)
function btree_find_lower_bound_leaf
static int btree_find_lower_bound_leaf (
THREAD_ENTRY * thread_p,
BTREE_SCAN * BTS,
BTREE_STATS * stat_info_p
)
function btree_find_next_index_record
static int btree_find_next_index_record (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_find_next_index_record_holding_current
static int btree_find_next_index_record_holding_current (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
RECDES * peek_rec
)
function btree_find_next_index_record_holding_current_helper
static int btree_find_next_index_record_holding_current_helper (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
PAGE_PTR first_page
)
function btree_find_oid_and_its_page
static int btree_find_oid_and_its_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
OID * oid,
PAGE_PTR leaf_page,
BTREE_OP_PURPOSE purpose,
BTREE_MVCC_INFO * match_mvccinfo,
RECDES * leaf_record,
LEAF_REC * leaf_rec_info,
int after_key_offset,
PAGE_PTR * found_page,
PAGE_PTR * prev_page,
int * offset_to_object,
BTREE_MVCC_INFO * object_mvcc_info
)
function btree_find_oid_does_mvcc_info_match
static int btree_find_oid_does_mvcc_info_match (
THREAD_ENTRY * thread_p,
BTREE_MVCC_INFO * mvcc_info,
BTREE_OP_PURPOSE purpose,
BTREE_MVCC_INFO * match_mvccinfo,
bool * is_match
)
function btree_find_oid_from_leaf
static int btree_find_oid_from_leaf (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
RECDES * leaf_record,
int after_key_offset,
OID * oid,
BTREE_MVCC_INFO * match_mvccinfo,
BTREE_OP_PURPOSE purpose,
int * offset_to_object,
BTREE_MVCC_INFO * mvcc_info
)
function btree_find_oid_from_ovfl
static int btree_find_oid_from_ovfl (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR overflow_page,
OID * oid,
BTREE_OP_PURPOSE purpose,
BTREE_MVCC_INFO * match_mvccinfo,
int * offset_to_object,
BTREE_MVCC_INFO * mvcc_info
)
function btree_find_oid_with_page_and_record
static int btree_find_oid_with_page_and_record (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
OID * oid,
PAGE_PTR leaf_page,
BTREE_OP_PURPOSE purpose,
BTREE_MVCC_INFO * match_mvccinfo,
RECDES * record,
LEAF_REC * leaf_info,
int offset_after_key,
PAGE_PTR * found_page,
PAGE_PTR * prev_page,
int * offset_to_object,
BTREE_MVCC_INFO * object_mvcc_info,
RECDES * new_record
)
function btree_find_rightmost_leaf
static PAGE_PTR btree_find_rightmost_leaf (
THREAD_ENTRY * thread_p,
BTID * btid,
VPID * pg_vpid,
BTREE_STATS * stat_info_p
)
function btree_find_split_point
static DB_VALUE * btree_find_split_point (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
int * mid_slot,
DB_VALUE * key,
BTREE_INSERT_HELPER * helper,
bool * clear_midkey
)
function btree_fix_root_for_delete
static int btree_fix_root_for_delete (
THREAD_ENTRY * thread_p,
BTID * btid,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR * root_page,
bool * is_leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
bool * stop,
bool * restart,
void * other_args
)
function btree_fix_root_for_insert
static int btree_fix_root_for_insert (
THREAD_ENTRY * thread_p,
BTID * btid,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR * root_page,
bool * is_leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
bool * stop,
bool * restart,
void * other_args
)
function btree_fix_root_with_info
static 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
)
function btree_fk_object_does_exist
static int btree_fk_object_does_exist (
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
)
function btree_get_creator_mvccid
static MVCCID btree_get_creator_mvccid (
THREAD_ENTRY * thread_p,
PAGE_PTR root_page
)
function btree_get_max_new_data_size
static int btree_get_max_new_data_size (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR page,
BTREE_NODE_TYPE node_type,
int key_len,
BTREE_INSERT_HELPER * helper,
bool known_to_be_found
)
function btree_get_new_page
static PAGE_PTR btree_get_new_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
VPID * vpid,
VPID * near_vpid
)
function btree_get_next_page
static PAGE_PTR btree_get_next_page (
THREAD_ENTRY * thread_p,
PAGE_PTR page_p
)
function btree_get_next_page_vpid
static int btree_get_next_page_vpid (
THREAD_ENTRY * thread_p,
PAGE_PTR leaf_page,
VPID * next_vpid
)
function btree_get_node_level
static int btree_get_node_level (
THREAD_ENTRY * thread_p,
PAGE_PTR page_ptr
)
function btree_get_num_visible_oids_from_all_ovf
static int btree_get_num_visible_oids_from_all_ovf (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
VPID * first_ovfl_vpid,
int * num_visible_oids,
int * max_visible_oids,
MVCC_SNAPSHOT * mvcc_snapshot
)
function btree_get_root_with_key
static int btree_get_root_with_key (
THREAD_ENTRY * thread_p,
BTID * btid,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR * root_page,
bool * is_leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
bool * stop,
bool * restart,
void * other_args
)
function btree_get_stats_key
static int btree_get_stats_key (
THREAD_ENTRY * thread_p,
BTREE_STATS_ENV * env,
MVCC_SNAPSHOT * mvcc_snapshot
)
function btree_get_stats_midxkey
static int btree_get_stats_midxkey (
THREAD_ENTRY * thread_p,
BTREE_STATS_ENV * env,
DB_MIDXKEY * midxkey
)
function btree_get_stats_with_AR_sampling
static int btree_get_stats_with_AR_sampling (
THREAD_ENTRY * thread_p,
BTREE_STATS_ENV * env
)
function btree_get_stats_with_fullscan
static int btree_get_stats_with_fullscan (
THREAD_ENTRY * thread_p,
BTREE_STATS_ENV * env
)
function btree_get_subtree_capacity
static int btree_get_subtree_capacity (
THREAD_ENTRY * thread_p,
PAGE_PTR pg_ptr,
BTREE_CAPACITY * cpc,
BTREE_STATS_ENV * env
)
function btree_get_subtree_stats
static int btree_get_subtree_stats (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR pg_ptr,
BTREE_STATS_ENV * env
)
function btree_ils_adjust_range
static int btree_ils_adjust_range (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_insert_helper_to_delete_helper
static inline void btree_insert_helper_to_delete_helper (
BTREE_INSERT_HELPER * insert_helper,
BTREE_DELETE_HELPER * delete_helper
)
function btree_insert_internal
static int btree_insert_internal (
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,
BTREE_MVCC_INFO * mvcc_info,
LOG_LSA * undo_nxlsa,
BTREE_OP_PURPOSE purpose
)
function btree_insert_mvcc_delid_into_page
static int btree_insert_mvcc_delid_into_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
BTREE_NODE_TYPE node_type,
DB_VALUE * key,
BTREE_INSERT_HELPER * insert_helper,
PGSLOTID slot_id,
RECDES * rec,
int oid_offset
)
function btree_insert_object_ordered_by_oid
static void btree_insert_object_ordered_by_oid (
THREAD_ENTRY * thread_p,
RECDES * record,
BTID_INT * btid_int,
BTREE_OBJECT_INFO * object_info,
char ** rv_undo_data_ptr,
char ** rv_redo_data_ptr,
int * offset_to_objptr
)
function btree_insert_sysop_end
static void btree_insert_sysop_end (
THREAD_ENTRY * thread_p,
BTREE_INSERT_HELPER * helper
)
function btree_is_class_oid_packed
static bool btree_is_class_oid_packed (
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
bool is_first
)
function btree_is_delete_data_purpose
static bool btree_is_delete_data_purpose (
BTREE_OP_PURPOSE purpose
)
function btree_is_delete_object_purpose
static bool btree_is_delete_object_purpose (
BTREE_OP_PURPOSE purpose
)
function btree_is_fence_key
static bool btree_is_fence_key (
PAGE_PTR leaf_page,
PGSLOTID slotid
)
function btree_is_fixed_size
static inline bool btree_is_fixed_size (
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
bool is_first
)
function btree_is_insert_data_purpose
static bool btree_is_insert_data_purpose (
BTREE_OP_PURPOSE purpose
)
function btree_is_insert_delid_purpose
static bool btree_is_insert_delid_purpose (
BTREE_OP_PURPOSE purpose
)
function btree_is_insert_object_purpose
static bool btree_is_insert_object_purpose (
BTREE_OP_PURPOSE purpose
)
function btree_is_key_visible
static int btree_is_key_visible (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR pg_ptr,
MVCC_SNAPSHOT * mvcc_snapshot,
int slot_id,
bool * is_visible,
DB_VALUE * key_value
)
function btree_is_online_index_loading
static inline bool btree_is_online_index_loading (
BTREE_OP_PURPOSE purpose
)
function btree_is_same_key_for_stats
static inline bool btree_is_same_key_for_stats (
BTREE_STATS_ENV * env,
DB_VALUE * key_value
)
function btree_is_single_object_key
static bool btree_is_single_object_key (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_NODE_TYPE node_type,
RECDES * record,
int offset_after_key
)
function btree_iss_set_key
static int btree_iss_set_key (
BTREE_SCAN * bts,
INDEX_SKIP_SCAN * iss
)
function btree_key_append_object_as_new_overflow
static int btree_key_append_object_as_new_overflow (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR leaf_page,
BTREE_OBJECT_INFO * object_info,
BTREE_INSERT_HELPER * insert_helper,
BTREE_SEARCH_KEY_HELPER * search_key,
RECDES * leaf_rec,
VPID * first_ovfl_vpid
)
function btree_key_append_object_into_ovf
static int btree_key_append_object_into_ovf (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
RECDES * leaf_record,
LEAF_REC * leaf_record_info,
BTREE_INSERT_HELPER * insert_helper,
BTREE_OBJECT_INFO * append_object
)
function btree_key_append_object_non_unique
static int btree_key_append_object_non_unique (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
RECDES * leaf_record,
int offset_after_key,
LEAF_REC * leaf_info,
BTREE_OBJECT_INFO * btree_obj,
BTREE_INSERT_HELPER * insert_helper
)
function btree_key_append_object_to_overflow
static int btree_key_append_object_to_overflow (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR ovfl_page,
BTREE_OBJECT_INFO * object_info,
BTREE_INSERT_HELPER * insert_helper
)
function btree_key_append_object_unique
static int btree_key_append_object_unique (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
RECDES * leaf_record,
LEAF_REC * leaf_record_info,
int offset_after_key,
BTREE_INSERT_HELPER * insert_helper,
BTREE_OBJECT_INFO * first_object
)
function btree_key_delete_remove_object
static int btree_key_delete_remove_object (
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
)
function btree_key_find_and_insert_delete_mvccid
static int btree_key_find_and_insert_delete_mvccid (
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
)
function btree_key_find_and_lock_unique
static int btree_key_find_and_lock_unique (
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
)
function btree_key_find_and_lock_unique_of_non_unique
static int btree_key_find_and_lock_unique_of_non_unique (
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
)
function btree_key_find_and_lock_unique_of_unique
static int btree_key_find_and_lock_unique_of_unique (
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
)
function btree_key_find_first_visible_row
static BTREE_SEARCH btree_key_find_first_visible_row (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * rec,
int offset,
BTREE_NODE_TYPE node_type,
OID * oid,
OID * class_oid,
int max_oids
)
function btree_key_find_first_visible_row_from_all_ovf
static BTREE_SEARCH btree_key_find_first_visible_row_from_all_ovf (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
VPID * first_ovfl_vpid,
OID * oid,
OID * class_oid
)
function btree_key_find_unique_version_oid
static int btree_key_find_unique_version_oid (
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
)
function btree_key_insert_delete_mvccid
static int btree_key_insert_delete_mvccid (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR leaf_page,
BTREE_SEARCH_KEY_HELPER * search_key,
BTREE_INSERT_HELPER * insert_helper,
RECDES * leaf_record,
PAGE_PTR object_page,
int offset_to_found_object
)
function btree_key_insert_does_leaf_need_split
static bool btree_key_insert_does_leaf_need_split (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR leaf_page,
BTREE_INSERT_HELPER * insert_helper,
BTREE_SEARCH_KEY_HELPER * search_key
)
function btree_key_insert_new_key
static int btree_key_insert_new_key (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR leaf_page,
BTREE_INSERT_HELPER * insert_helper,
BTREE_SEARCH_KEY_HELPER * search_key
)
function btree_key_insert_new_object
static int btree_key_insert_new_object (
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
)
function btree_key_lock_and_append_object_unique
static int btree_key_lock_and_append_object_unique (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR * leaf,
bool * restart,
BTREE_SEARCH_KEY_HELPER * search_key,
BTREE_INSERT_HELPER * insert_helper,
RECDES * leaf_record
)
function btree_key_lock_object
static int btree_key_lock_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR * leaf_page,
PAGE_PTR * overflow_page,
OID * oid,
OID * class_oid,
LOCK lock_mode,
BTREE_SEARCH_KEY_HELPER * search_key,
bool try_cond_lock,
bool * restart,
bool * was_page_refixed
)
function btree_key_online_index_IB_insert
static int btree_key_online_index_IB_insert (
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
)
function btree_key_online_index_IB_insert_list
static int btree_key_online_index_IB_insert_list (
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
)
function btree_key_online_index_tran_delete
static int btree_key_online_index_tran_delete (
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
)
function btree_key_online_index_tran_insert
static int btree_key_online_index_tran_insert (
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
)
function btree_key_online_index_tran_insert_DF
static int btree_key_online_index_tran_insert_DF (
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
)
function btree_key_process_objects
static int btree_key_process_objects (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * leaf_record,
int after_key_offset,
LEAF_REC * leaf_info,
BTREE_PROCESS_OBJECT_FUNCTION * func,
void * args
)
function btree_key_record_check_no_visible
static void btree_key_record_check_no_visible (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR leaf_page,
PGSLOTID slotid
)
function btree_key_relocate_last_into_ovf
static int btree_key_relocate_last_into_ovf (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
DB_VALUE * key,
PAGE_PTR leaf,
BTREE_SEARCH_KEY_HELPER * search_key,
RECDES * leaf_record,
LEAF_REC * leaf_record_info,
int offset_after_key,
BTREE_INSERT_HELPER * insert_helper
)
function btree_key_remove_delete_mvccid
static int btree_key_remove_delete_mvccid (
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
)
function btree_key_remove_delete_mvccid_non_unique
static int btree_key_remove_delete_mvccid_non_unique (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR page,
RECDES * record,
PGSLOTID slotid,
BTREE_NODE_TYPE node_type,
int offset_to_object
)
function btree_key_remove_delete_mvccid_unique
static int btree_key_remove_delete_mvccid_unique (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
BTREE_SEARCH_KEY_HELPER * search_key,
PAGE_PTR leaf_page,
RECDES * leaf_record,
PAGE_PTR overflow_page,
RECDES * overflow_record,
BTREE_NODE_TYPE node_type,
int offset_to_object
)
function btree_key_remove_insert_mvccid
static int btree_key_remove_insert_mvccid (
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
)
function btree_key_remove_object
static int btree_key_remove_object (
THREAD_ENTRY * thread_p,
DB_VALUE * key,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR leaf_page,
RECDES * leaf_record,
LEAF_REC * leaf_info,
int offset_after_key,
BTREE_SEARCH_KEY_HELPER * search_key,
PAGE_PTR * overflow_page,
PAGE_PTR prev_page,
BTREE_NODE_TYPE node_type,
int offset_to_object
)
function btree_key_remove_object_and_keep_visible_first
static int btree_key_remove_object_and_keep_visible_first (
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
)
function btree_leaf_clear_flag
static void btree_leaf_clear_flag (
RECDES * recp,
short record_flag
)
function btree_leaf_get_flag
static short btree_leaf_get_flag (
RECDES * recp
)
function btree_leaf_get_nth_oid_ptr
static char * btree_leaf_get_nth_oid_ptr (
BTID_INT * btid,
RECDES * recp,
BTREE_NODE_TYPE node_type,
int oid_list_offset,
int n
)
function btree_leaf_get_vpid_for_overflow_oids
static int btree_leaf_get_vpid_for_overflow_oids (
RECDES * rec,
VPID * vpid
)
function btree_leaf_is_flaged
static bool btree_leaf_is_flaged (
RECDES * recp,
short record_flag
)
function btree_leaf_is_key_between_min_max
static int btree_leaf_is_key_between_min_max (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR leaf,
DB_VALUE * key,
BTREE_SEARCH_KEY_HELPER * search_key
)
function btree_leaf_lsa_eq
static bool btree_leaf_lsa_eq (
THREAD_ENTRY * thread_p,
LOG_LSA * a,
LOG_LSA * b
)
function btree_leaf_record_handle_first_overflow
static void btree_leaf_record_handle_first_overflow (
THREAD_ENTRY * thread_p,
RECDES * recp,
BTID_INT * btid_int,
char ** rv_undo_data_ptr,
char ** rv_redo_data_ptr
)
function btree_leaf_record_replace_first_with_last
static int btree_leaf_record_replace_first_with_last (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR leaf_page,
RECDES * leaf_record,
BTREE_SEARCH_KEY_HELPER * search_key,
OID * last_oid,
OID * last_class_oid,
BTREE_MVCC_INFO * last_mvcc_info,
int offset_to_last_object
)
function btree_leaf_remove_object
static int btree_leaf_remove_object (
THREAD_ENTRY * thread_p,
DB_VALUE * key,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR leaf_page,
RECDES * leaf_record,
LEAF_REC * leaf_rec_info,
int offset_after_key,
BTREE_SEARCH_KEY_HELPER * search_key,
int offset_to_object
)
function btree_leaf_set_flag
static void btree_leaf_set_flag (
RECDES * recp,
short record_flag
)
function btree_load_overflow_key
static int btree_load_overflow_key (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
VPID * firstpg_vpid,
DB_VALUE * key,
BTREE_NODE_TYPE node_type
)
function btree_make_complete_key_including_prefix
static void btree_make_complete_key_including_prefix (
BTREE_SCAN * bts,
DB_VALUE * common_prefix_key,
int common_prefix_size
)
function btree_merge_node
static int btree_merge_node (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR P,
PAGE_PTR Q,
PAGE_PTR R,
INT16 p_slot_id,
VPID * child_vpid,
BTREE_MERGE_STATUS status
)
function btree_merge_node_and_advance
static int btree_merge_node_and_advance (
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
)
function btree_merge_root
static int btree_merge_root (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR P,
PAGE_PTR Q,
PAGE_PTR R
)
function btree_modify_leaf_ovfl_vpid
static int btree_modify_leaf_ovfl_vpid (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR leaf_page,
RECDES * leaf_record,
BTREE_SEARCH_KEY_HELPER * search_key,
VPID * next_ovfl_vpid
)
function btree_modify_overflow_link
static int btree_modify_overflow_link (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR ovfl_page,
VPID * next_ovfl_vpid
)
function btree_node_calculate_common_prefix
static int btree_node_calculate_common_prefix (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr
)
function btree_node_get_common_prefix
static int btree_node_get_common_prefix (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr
)
function btree_node_mergeable
static BTREE_MERGE_STATUS btree_node_mergeable (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR L,
PAGE_PTR R
)
function btree_node_size_uncompressed
static int btree_node_size_uncompressed (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr
)
function btree_online_index_change_state
static void btree_online_index_change_state (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
int offset_to_object,
MVCCID new_state,
char ** rv_undo_data,
char ** rv_redo_data
)
function btree_online_index_check_state
static inline void btree_online_index_check_state (
MVCCID state
)
function btree_online_index_is_delete_flag_state
static inline bool btree_online_index_is_delete_flag_state (
MVCCID state
)
function btree_online_index_is_insert_flag_state
static inline bool btree_online_index_is_insert_flag_state (
MVCCID state
)
function btree_online_index_is_normal_state
static inline bool btree_online_index_is_normal_state (
MVCCID state
)
function btree_online_index_set_delete_flag_state
static inline void btree_online_index_set_delete_flag_state (
MVCCID & state
)
function btree_online_index_set_insert_flag_state
static inline void btree_online_index_set_insert_flag_state (
MVCCID & state
)
function btree_online_index_set_normal_state
static inline void btree_online_index_set_normal_state (
MVCCID & state
)
function btree_op_type_to_string
static const char * btree_op_type_to_string (
int op_type
)
function btree_or_get_mvccinfo
static int btree_or_get_mvccinfo (
OR_BUF * buf,
BTREE_MVCC_INFO * mvcc_info,
short btree_mvcc_flags
)
function btree_or_get_object
static int btree_or_get_object (
OR_BUF * buf,
BTID_INT * btid_int,
BTREE_NODE_TYPE node_type,
int after_key_offset,
OID * oid,
OID * class_oid,
BTREE_MVCC_INFO * mvcc_info
)
function btree_or_put_mvccinfo
static int btree_or_put_mvccinfo (
OR_BUF * buf,
BTREE_MVCC_INFO * mvcc_info
)
function btree_or_put_object
static int btree_or_put_object (
OR_BUF * buf,
BTID_INT * btid_int,
BTREE_NODE_TYPE node_type,
BTREE_OBJECT_INFO * object_info
)
function btree_overflow_record_replace_object
static int btree_overflow_record_replace_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR overflow_page,
RECDES * overflow_record,
int * offset_to_replaced_object,
BTREE_OBJECT_INFO * replacing_object
)
function btree_overflow_remove_object
static int btree_overflow_remove_object (
THREAD_ENTRY * thread_p,
DB_VALUE * key,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR * overflow_page,
PAGE_PTR prev_page,
PAGE_PTR leaf_page,
RECDES * leaf_record,
BTREE_SEARCH_KEY_HELPER * search_key,
int offset_to_object
)
function btree_pack_object
static char * btree_pack_object (
char * ptr,
BTID_INT * btid_int,
BTREE_NODE_TYPE node_type,
RECDES * record,
BTREE_OBJECT_INFO * object_info
)
function btree_perf_ovf_oids_fix_time
static inline void btree_perf_ovf_oids_fix_time (
THREAD_ENTRY * thread_p,
PERF_UTIME_TRACKER * track
)
function btree_perf_track_time
template<typename Helper>
static inline void btree_perf_track_time (
THREAD_ENTRY * thread_p,
Helper * helper
)
function btree_perf_track_traverse_time
template<typename Helper>
static inline void btree_perf_track_traverse_time (
THREAD_ENTRY * thread_p,
Helper * helper
)
function btree_perf_unique_lock_time
static inline void btree_perf_unique_lock_time (
THREAD_ENTRY * thread_p,
PERF_UTIME_TRACKER * track,
LOCK lock
)
function btree_print_space
static void btree_print_space (
FILE * fp,
int n
)
function btree_purpose_to_string
static const char * btree_purpose_to_string (
BTREE_OP_PURPOSE purpose
)
function btree_range_opt_check_add_index_key
static int btree_range_opt_check_add_index_key (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
MULTI_RANGE_OPT * multi_range_opt,
OID * p_new_oid,
bool * key_added
)
function btree_range_scan_advance_over_filtered_keys
static int btree_range_scan_advance_over_filtered_keys (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_range_scan_alloc_matched_idx
static void btree_range_scan_alloc_matched_idx (
BTREE_SCAN * bts
)
function btree_range_scan_count_oids_leaf_and_one_ovf
static int btree_range_scan_count_oids_leaf_and_one_ovf (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_range_scan_descending_fix_prev_leaf
static int btree_range_scan_descending_fix_prev_leaf (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
int * key_count,
BTREE_NODE_HEADER ** node_header_ptr,
VPID * next_vpid
)
function btree_range_scan_find_fk_any_object
static int btree_range_scan_find_fk_any_object (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_range_scan_read_record
static int btree_range_scan_read_record (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_range_scan_resume
static int btree_range_scan_resume (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_range_scan_start
static int btree_range_scan_start (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts
)
function btree_read_fixed_portion_of_non_leaf_record
static void btree_read_fixed_portion_of_non_leaf_record (
RECDES * rec,
NON_LEAF_REC * nlf_rec
)
function btree_read_fixed_portion_of_non_leaf_record_from_orbuf
static int btree_read_fixed_portion_of_non_leaf_record_from_orbuf (
OR_BUF * buf,
NON_LEAF_REC * nlf_rec
)
function btree_read_record_in_leafpage
static int btree_read_record_in_leafpage (
THREAD_ENTRY * thread_p,
PAGE_PTR pgptr,
int copy_key,
BTREE_SCAN * bts
)
function btree_read_record_without_decompression
static int btree_read_record_without_decompression (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
RECDES * Rec,
DB_VALUE * key,
void * rec_header,
BTREE_NODE_TYPE node_type,
bool * clear_key,
int * offset,
int copy
)
function btree_recompress_record
static int btree_recompress_record (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
DB_VALUE * fence_key,
int old_prefix,
int new_prefix
)
function btree_record_add_delid
static void btree_record_add_delid (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
int offset_to_object,
MVCCID delete_mvccid,
char ** rv_undo_data,
char ** rv_redo_data
)
function btree_record_append_object
static void btree_record_append_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
BTREE_OBJECT_INFO * object_info,
char ** rv_undo_data_ptr,
char ** rv_redo_data_ptr
)
function btree_record_get_last_object
static int btree_record_get_last_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * recp,
BTREE_NODE_TYPE node_type,
int after_key_offset,
OID * oidp,
OID * class_oid,
BTREE_MVCC_INFO * mvcc_info,
int * last_oid_mvcc_offset
)
function btree_record_get_num_oids
static int btree_record_get_num_oids (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * rec,
int offset,
BTREE_NODE_TYPE node_type
)
function btree_record_get_num_visible_oids
static int btree_record_get_num_visible_oids (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
RECDES * rec,
int oid_offset,
BTREE_NODE_TYPE node_type,
int * max_visible_oids,
MVCC_SNAPSHOT * mvcc_snapshot,
int * num_visible
)
function btree_record_object_clear_mvcc_flags
static void btree_record_object_clear_mvcc_flags (
char * rec_data,
short mvcc_flags
)
function btree_record_object_get_mvcc_flags
static inline short btree_record_object_get_mvcc_flags (
char * data
)
function btree_record_object_is_flagged
static inline bool btree_record_object_is_flagged (
char * data,
short mvcc_flag
)
function btree_record_object_set_mvcc_flags
static void btree_record_object_set_mvcc_flags (
char * data,
short mvcc_flags
)
function btree_record_process_objects
static int btree_record_process_objects (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_NODE_TYPE node_type,
RECDES * record,
int after_key_offset,
bool * stop,
BTREE_PROCESS_OBJECT_FUNCTION * func,
void * args
)
function btree_record_remove_delid
static void btree_record_remove_delid (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
int offset_to_object,
char ** rv_undo_data,
char ** rv_redo_data
)
function btree_record_remove_insid
static void btree_record_remove_insid (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
int offset_to_object,
char ** rv_undo_data,
char ** rv_redo_data,
int * displacement
)
function btree_record_remove_last_object
static void btree_record_remove_last_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
RECDES * recp,
BTREE_NODE_TYPE node_type,
int last_oid_mvcc_offset,
char ** rv_undo_data_ptr,
char ** rv_redo_data_ptr
)
function btree_record_remove_object
static int btree_record_remove_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR page,
RECDES * record,
BTREE_SEARCH_KEY_HELPER * search_key,
BTREE_NODE_TYPE node_type,
int offset_to_object,
LOG_DATA_ADDR * addr
)
function btree_record_remove_object_internal
static void btree_record_remove_object_internal (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
int offset_to_object,
char ** rv_undo_data,
char ** rv_redo_data,
int * displacement
)
function btree_record_replace_object
static void btree_record_replace_object (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
RECDES * record,
BTREE_NODE_TYPE node_type,
int * offset_to_replaced,
BTREE_OBJECT_INFO * replacement,
char ** rv_undo_data,
char ** rv_redo_data
)
function btree_record_satisfies_snapshot
static int btree_record_satisfies_snapshot (
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
)
function btree_remove_delete_mvccid_unique_internal
static int btree_remove_delete_mvccid_unique_internal (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_DELETE_HELPER * helper,
PAGE_PTR leaf_page,
RECDES * leaf_record,
BTREE_NODE_TYPE node_type,
PAGE_PTR overflow_page,
RECDES * overflow_record,
int offset_to_object,
char ** rv_undo_data,
char ** rv_redo_data
)
function btree_remove_mvccid
static inline void btree_remove_mvccid (
RECDES * record,
int oid_offset,
int mvccid_offset,
short flag,
char ** rv_undo_data_ptr,
char ** rv_redo_data_ptr
)
function btree_repair_prev_link_by_btid
static DISK_ISVALID btree_repair_prev_link_by_btid (
THREAD_ENTRY * thread_p,
BTID * btid,
bool repair,
char * index_name
)
function btree_repair_prev_link_by_class_oid
static DISK_ISVALID btree_repair_prev_link_by_class_oid (
THREAD_ENTRY * thread_p,
OID * oid,
BTID * idx_btid,
bool repair
)
function btree_replace_first_oid_with_ovfl_oid
static int btree_replace_first_oid_with_ovfl_oid (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
DB_VALUE * key,
BTREE_DELETE_HELPER * delete_helper,
PAGE_PTR leaf_page,
BTREE_SEARCH_KEY_HELPER * search_key,
RECDES * leaf_rec,
VPID * ovfl_vpid
)
function btree_rv_log_delete_object
static void btree_rv_log_delete_object (
THREAD_ENTRY * thread_p,
const BTREE_DELETE_HELPER & delete_helper,
LOG_DATA_ADDR & addr,
int undo_length,
int redo_length,
const char * undo_data,
const char * redo_data
)
function btree_rv_log_insert_object
static void btree_rv_log_insert_object (
THREAD_ENTRY * thread_p,
const BTREE_INSERT_HELPER & insert_helper,
LOG_DATA_ADDR & addr,
int undo_length,
int redo_length,
const char * undo_data,
const char * redo_data
)
function btree_rv_record_modify_internal
static int btree_rv_record_modify_internal (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv,
bool is_undo
)
function btree_rv_save_keyval_for_undo_two_objects
static 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
)
function btree_rv_write_log_record
static int btree_rv_write_log_record (
char * log_rec,
int * log_length,
RECDES * recp,
BTREE_NODE_TYPE node_type
)
function btree_rv_write_log_record_for_key_insert
static int btree_rv_write_log_record_for_key_insert (
char * log_rec,
int * log_length,
INT16 key_len,
RECDES * recp
)
function btree_scan_for_show_index_capacity
static SCAN_CODE btree_scan_for_show_index_capacity (
THREAD_ENTRY * thread_p,
DB_VALUE ** out_values,
int out_cnt,
const char * class_name,
OR_INDEX * index_p
)
static SCAN_CODE btree_scan_for_show_index_header (
THREAD_ENTRY * thread_p,
DB_VALUE ** out_values,
int out_cnt,
const char * class_name,
OR_INDEX * index_p,
OID * class_oid_p
)
function btree_scan_update_range
static int btree_scan_update_range (
THREAD_ENTRY * thread_p,
BTREE_SCAN * bts,
key_val_range * kv_range
)
function btree_search_key_and_apply_functions
static int btree_search_key_and_apply_functions (
THREAD_ENTRY * thread_p,
BTID * btid,
BTID_INT * btid_int,
DB_VALUE * key,
BTREE_ROOT_WITH_KEY_FUNCTION * root_fnct,
void * root_args,
BTREE_ADVANCE_WITH_KEY_FUNCTION * advance_fnct,
void * advance_args,
BTREE_PROCESS_KEY_FUNCTION * leaf_fnct,
void * process_key_args,
BTREE_SEARCH_KEY_HELPER * search_key,
PAGE_PTR * leaf_page_ptr
)
function btree_search_leaf_page
static int btree_search_leaf_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
DB_VALUE * key,
BTREE_SEARCH_KEY_HELPER * search_key
)
function btree_search_nonleaf_page
static int btree_search_nonleaf_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
DB_VALUE * key,
INT16 * slot_id,
VPID * child_vpid,
page_key_boundary * page_bounds
)
function btree_select_visible_object_for_range_scan
static int btree_select_visible_object_for_range_scan (
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
)
function btree_seq_find_oid_from_ovfl
static int btree_seq_find_oid_from_ovfl (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
OID * oid,
RECDES * ovf_record,
char * initial_oid_ptr,
char * oid_ptr_lower_bound,
char * oid_ptr_upper_bound,
BTREE_OP_PURPOSE purpose,
BTREE_MVCC_INFO * match_mvccinfo,
int * offset_to_object,
BTREE_MVCC_INFO * mvcc_info
)
function btree_set_mvccid
static void btree_set_mvccid (
RECDES * rec,
int mvccid_offset,
MVCCID * p_mvccid,
char ** rv_undo_data_ptr,
char ** rv_redo_data_ptr
)
function btree_set_split_point
static DB_VALUE * btree_set_split_point (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_ptr,
INT16 mid_slot,
DB_VALUE * key,
bool * clear_midkey
)
function btree_set_unknown_key_error
static void btree_set_unknown_key_error (
THREAD_ENTRY * thread_p,
BTID * btid,
DB_VALUE * key,
const char * debug_msg
)
function btree_set_vpid_previous_vpid
static int btree_set_vpid_previous_vpid (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR page_p,
VPID * prev
)
function btree_split_find_pivot
static int btree_split_find_pivot (
int total,
BTREE_NODE_SPLIT_INFO * split_info
)
function btree_split_next_pivot
static int btree_split_next_pivot (
BTREE_NODE_SPLIT_INFO * split_info,
float new_value,
int max_index
)
function btree_split_node
static int btree_split_node (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR P,
PAGE_PTR Q,
PAGE_PTR R,
VPID * P_vpid,
VPID * Q_vpid,
VPID * R_vpid,
INT16 p_slot_id,
BTREE_NODE_TYPE node_type,
DB_VALUE * key,
BTREE_INSERT_HELPER * helper,
VPID * child_vpid
)
function btree_split_node_and_advance
static int btree_split_node_and_advance (
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
)
function btree_split_root
static int btree_split_root (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
PAGE_PTR P,
PAGE_PTR Q,
PAGE_PTR R,
VPID * P_vpid,
VPID * Q_vpid,
VPID * R_vpid,
BTREE_NODE_TYPE node_type,
DB_VALUE * key,
BTREE_INSERT_HELPER * helper,
VPID * child_vpid
)
function btree_split_test
static void btree_split_test (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
DB_VALUE * key,
VPID * S_vpid,
PAGE_PTR S_page,
BTREE_NODE_TYPE node_type
)
function btree_start_overflow_page
static int btree_start_overflow_page (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
BTREE_OBJECT_INFO * object_info,
VPID * first_overflow_vpid,
VPID * near_vpid,
VPID * new_vpid,
PAGE_PTR * new_page_ptr
)
function btree_store_overflow_key
static int btree_store_overflow_key (
THREAD_ENTRY * thread_p,
BTID_INT * btid,
DB_VALUE * key,
int size,
BTREE_NODE_TYPE node_type,
VPID * firstpg_vpid
)
function btree_top_n_items_binary_search
static int btree_top_n_items_binary_search (
RANGE_OPT_ITEM ** top_n_items,
int * att_idxs,
TP_DOMAIN ** domains,
bool * desc_order,
DB_VALUE * new_key_values,
int num_keys,
int first,
int last,
int * new_pos
)
function btree_undo_delete_physical
static int btree_undo_delete_physical (
THREAD_ENTRY * thread_p,
BTID * btid,
DB_VALUE * key,
OID * class_oid,
OID * oid,
BTREE_MVCC_INFO * mvcc_info,
LOG_LSA * undo_nxlsa
)
function btree_undo_insert_object
static int btree_undo_insert_object (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_BUF * buffered_key,
OID * oid,
OID * class_oid,
MVCCID insert_mvccid,
LOG_LSA * undo_nxlsa
)
function btree_undo_insert_object_unique_multiupd
static int btree_undo_insert_object_unique_multiupd (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_BUF * buffered_key,
BTREE_OBJECT_INFO * inserted_object,
BTREE_OBJECT_INFO * second_object,
MVCCID insert_mvccid,
LOG_LSA * undo_nxlsa
)
function btree_undo_mvcc_delete
static int btree_undo_mvcc_delete (
THREAD_ENTRY * thread_p,
BTID * btid,
OR_BUF * buffered_key,
OID * oid,
OID * class_oid,
BTREE_MVCC_INFO * match_mvccinfo,
LOG_LSA * undo_nxlsa
)
function btree_unpack_mvccinfo
static char * btree_unpack_mvccinfo (
char * ptr,
BTREE_MVCC_INFO * mvcc_info,
short btree_mvcc_flags
)
function btree_unpack_object
static char * btree_unpack_object (
char * ptr,
BTID_INT * btid_int,
BTREE_NODE_TYPE node_type,
RECDES * record,
int after_key_offset,
OID * oid,
OID * class_oid,
BTREE_MVCC_INFO * mvcc_info
)
function btree_verify_leaf_node
static int btree_verify_leaf_node (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR page_ptr
)
function btree_verify_node
static int btree_verify_node (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR page_ptr
)
function btree_verify_nonleaf_node
static int btree_verify_nonleaf_node (
THREAD_ENTRY * thread_p,
BTID_INT * btid_int,
PAGE_PTR page_ptr
)
function btree_verify_subtree
static DISK_ISVALID btree_verify_subtree (
THREAD_ENTRY * thread_p,
const OID * class_oid_p,
BTID_INT * btid,
const char * btname,
PAGE_PTR pg_ptr,
VPID * pg_vpid,
BTREE_NODE_INFO * INFO
)
function btree_write_default_split_info
static void btree_write_default_split_info (
BTREE_NODE_SPLIT_INFO * info
)
function btree_write_fixed_portion_of_non_leaf_record
static void btree_write_fixed_portion_of_non_leaf_record (
RECDES * rec,
NON_LEAF_REC * nlf_rec
)
function btree_write_fixed_portion_of_non_leaf_record_to_orbuf
static void btree_write_fixed_portion_of_non_leaf_record_to_orbuf (
OR_BUF * buf,
NON_LEAF_REC * nlf_rec
)
function check_validate
static void check_validate (
BTREE_SCAN * bts
)
function index_attrs_to_string
static int index_attrs_to_string (
char * buf,
int buf_size,
OR_INDEX * index_p,
RECDES * recdes
)
function key_type_to_string
static char * key_type_to_string (
char * buf,
int buf_size,
TP_DOMAIN * key_type
)
function node_type_to_string
static const char * node_type_to_string (
short node_type
)
function peek_key_to_copy_key
static void peek_key_to_copy_key (
BTREE_SCAN * bts
)
function xbtree_test_unique
static int xbtree_test_unique (
THREAD_ENTRY * thread_p,
BTID * btid
)
Macro Definition Documentation
define BTID_DOMAIN_CHECK_MAX_SIZE
#define BTID_DOMAIN_CHECK_MAX_SIZE `1024`
define BTREE_CHECK_VALID_PRINT_REC_MAX_LENGTH
#define BTREE_CHECK_VALID_PRINT_REC_MAX_LENGTH `1024`
define BTREE_DEBUG_DUMP_FULL
#define BTREE_DEBUG_DUMP_FULL `0x0002 /* full dump in insert or delete */`
define BTREE_DEBUG_DUMP_SIMPLE
#define BTREE_DEBUG_DUMP_SIMPLE `0x0001 /* simple message in SMO */`
define BTREE_DEBUG_HEALTH_FULL
#define BTREE_DEBUG_HEALTH_FULL `0x0020 /* full health check ( traverse all slot in page) */`
define BTREE_DEBUG_HEALTH_SIMPLE
#define BTREE_DEBUG_HEALTH_SIMPLE `0x0010 /* simple health check in SMO */`
define BTREE_DEBUG_TEST_SPLIT
#define BTREE_DEBUG_TEST_SPLIT `0x0100 /* full split test */`
define BTREE_DELETE_CLASS_OID
#define BTREE_DELETE_CLASS_OID (
helper
) `(&(( helper )->object_info.class_oid))`
define BTREE_DELETE_HELPER_AS_ARGS
#define BTREE_DELETE_HELPER_AS_ARGS (
helper
) `BTREE_OBJINFO_AS_ARGS (&( helper )->object_info), \ btree_purpose_to_string (( helper )->purpose), \ btree_op_type_to_string (( helper )->op_type), \ BTREE_PRINT_KEY_ARGS (( helper )->printed_key), SHA1_AS_ARGS (&( helper )->printed_key_sha1), \ BTREE_MVCC_INFO_AS_ARGS (&( helper )->match_mvccinfo)`
define BTREE_DELETE_HELPER_MSG
#define BTREE_DELETE_HELPER_MSG (
tabs
) `/* multi line expression */`
define BTREE_DELETE_MODIFY_ARGS
#define BTREE_DELETE_MODIFY_ARGS (
thread_p,
helper,
page,
save_lsa,
is_leaf,
slotid,
new_size,
btid
) `/* multi line expression */`
define BTREE_DELETE_MODIFY_MSG
#define BTREE_DELETE_MODIFY_MSG (
desc
) `/* multi line expression */`
define BTREE_DELETE_MVCC_INFO
#define BTREE_DELETE_MVCC_INFO (
helper
) `(&(( helper )->object_info.mvcc_info))`
define BTREE_DELETE_OID
#define BTREE_DELETE_OID (
helper
) `(&(( helper )->object_info.oid))`
define BTREE_FIND_FK_OBJECT_INITIALIZER
#define BTREE_FIND_FK_OBJECT_INITIALIZER `{ OID_INITIALIZER , OID_INITIALIZER , NULL_LOCK }`
define BTREE_FIND_UNIQUE_HELPER_INITIALIZER
#define BTREE_FIND_UNIQUE_HELPER_INITIALIZER `/* multi line expression */`
define BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS
#define BTREE_GET_MVCC_INFO_SIZE_FROM_FLAGS (
mvcc_flags
) `/* multi line expression */`
define BTREE_GET_OID
#define BTREE_GET_OID (
buf,
oid_ptr
) `/* multi line expression */`
define BTREE_HEALTH_CHECK
#define BTREE_HEALTH_CHECK
define BTREE_ID_MSG
#define BTREE_ID_MSG `"index = %d, %d|% d"`
define BTREE_INSERT_CLASS_OID
#define BTREE_INSERT_CLASS_OID (
ins_helper
) `(&(( ins_helper )->obj_info.class_oid))`
define BTREE_INSERT_HELPER_AS_ARGS
#define BTREE_INSERT_HELPER_AS_ARGS (
helper
) `BTREE_OBJINFO_AS_ARGS (&( helper )->obj_info), \ btree_purpose_to_string (( helper )->purpose), \ btree_op_type_to_string (( helper )->op_type), \ BTREE_PRINT_KEY_ARGS (( helper )->printed_key), SHA1_AS_ARGS (&( helper )->printed_key_sha1)`
define BTREE_INSERT_HELPER_MSG
#define BTREE_INSERT_HELPER_MSG (
tabs
) `tabs "INSERT HELPER: \ n" \ tabs "\t" BTREE_OBJINFO_MSG ("obj_info") "\n" \ tabs "\t" "purpose = %s \ n" \ tabs "\t" "op_type = %s \ n" \ tabs "\t" BTREE_PRINT_KEY_MSG ("printed_key") "... (sha1 = %08 x | %08 x | %08 x | %08 x | %08 x ) \ n"`
define BTREE_INSERT_MODIFY_ARGS
#define BTREE_INSERT_MODIFY_ARGS (
thread_p,
helper,
page,
save_lsa,
is_leaf,
slotid,
new_size,
btid
) `/* multi line expression */`
define BTREE_INSERT_MODIFY_MSG
#define BTREE_INSERT_MODIFY_MSG (
desc
) `/* multi line expression */`
define BTREE_INSERT_MVCC_INFO
#define BTREE_INSERT_MVCC_INFO (
ins_helper
) `(&(( ins_helper )->obj_info.mvcc_info))`
define BTREE_INSERT_OID
#define BTREE_INSERT_OID (
ins_helper
) `(&(( ins_helper )->obj_info.oid))`
define BTREE_IS_PAGE_VALID_LEAF
#define BTREE_IS_PAGE_VALID_LEAF (
thread_p,
page
) `/* multi line expression */`
define BTREE_LEAF_RECORD_CLASS_OID
#define BTREE_LEAF_RECORD_CLASS_OID `(( short ) 0x8000)`
define BTREE_LEAF_RECORD_FENCE
#define BTREE_LEAF_RECORD_FENCE `(( short ) 0x1000)`
define BTREE_LEAF_RECORD_MASK
#define BTREE_LEAF_RECORD_MASK `(( short ) 0xF000)`
define BTREE_LEAF_RECORD_OVERFLOW_KEY
#define BTREE_LEAF_RECORD_OVERFLOW_KEY `(( short ) 0x4000)`
define BTREE_LEAF_RECORD_OVERFLOW_OIDS
#define BTREE_LEAF_RECORD_OVERFLOW_OIDS `(( short ) 0x2000)`
define BTREE_MAX_OID_COUNT
#define BTREE_MAX_OID_COUNT `IO_MAX_PAGE_SIZE / OR_OID_SIZE`
define BTREE_MVCC_INFO_AS_ARGS
#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 )`
define BTREE_MVCC_INFO_CLEAR_DELID
#define BTREE_MVCC_INFO_CLEAR_DELID (
mvcc_info
) `(( mvcc_info )->flags &= ~ BTREE_OID_HAS_MVCC_DELID )`
define BTREE_MVCC_INFO_CLEAR_FIXED_SIZE
#define BTREE_MVCC_INFO_CLEAR_FIXED_SIZE (
mvcc_info
) `/* multi line expression */`
define BTREE_MVCC_INFO_CLEAR_INSID
#define BTREE_MVCC_INFO_CLEAR_INSID (
mvcc_info
) `(( mvcc_info )->flags &= ~ BTREE_OID_HAS_MVCC_INSID )`
define BTREE_MVCC_INFO_DELID
#define BTREE_MVCC_INFO_DELID (
mvcc_info
) `( BTREE_MVCC_INFO_HAS_DELID ( mvcc_info ) ? ( mvcc_info )->delete_mvccid : MVCCID_NULL )`
define BTREE_MVCC_INFO_HAS_DELID
#define BTREE_MVCC_INFO_HAS_DELID (
mvcc_info
) `((( mvcc_info )->flags & BTREE_OID_HAS_MVCC_DELID ) != 0)`
define BTREE_MVCC_INFO_HAS_INSID
#define BTREE_MVCC_INFO_HAS_INSID (
mvcc_info
) `((( mvcc_info )->flags & BTREE_OID_HAS_MVCC_INSID ) != 0)`
define BTREE_MVCC_INFO_INSID
#define BTREE_MVCC_INFO_INSID (
mvcc_info
) `( BTREE_MVCC_INFO_HAS_INSID ( mvcc_info ) ? ( mvcc_info )->insert_mvccid : MVCCID_ALL_VISIBLE )`
define BTREE_MVCC_INFO_IS_DELID_VALID
#define BTREE_MVCC_INFO_IS_DELID_VALID (
mvcc_info
) `( BTREE_MVCC_INFO_HAS_DELID ( mvcc_info ) && ( mvcc_info )->delete_mvccid != MVCCID_NULL )`
define BTREE_MVCC_INFO_IS_INSID_NOT_ALL_VISIBLE
#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))`
define BTREE_MVCC_INFO_SET_DELID
#define BTREE_MVCC_INFO_SET_DELID (
mvcc_info,
delid
) `/* multi line expression */`
define BTREE_MVCC_INFO_SET_FIXED_SIZE
#define BTREE_MVCC_INFO_SET_FIXED_SIZE (
mvcc_info
) `/* multi line expression */`
define BTREE_MVCC_INFO_SET_INSID
#define BTREE_MVCC_INFO_SET_INSID (
mvcc_info,
insid
) `/* multi line expression */`
define BTREE_NODE_MAX_SPLIT_SIZE
#define BTREE_NODE_MAX_SPLIT_SIZE (
thread_p,
page_ptr
) `(( int ) ( DB_PAGESIZE - SPAGE_HEADER_SIZE - spage_get_space_for_record (thread_p, ( page_ptr ), HEADER )))`
define BTREE_OBJINFO_AS_ARGS
#define BTREE_OBJINFO_AS_ARGS (
objinfo
) `OID_AS_ARGS (&(( objinfo )->oid)), \ OID_AS_ARGS (&(( objinfo )->class_oid)), \ BTREE_MVCC_INFO_AS_ARGS (&(( objinfo )-> mvcc_info ))`
define BTREE_OBJINFO_MSG
#define BTREE_OBJINFO_MSG (
name
) `name " { OID = %d|%d|%d, CLASS = %d|%d|%d, MVCC_INFO = % llu |% llu } "`
define BTREE_OID_CLEAR_ALL_FLAGS
#define BTREE_OID_CLEAR_ALL_FLAGS (
oid_ptr
) `/* multi line expression */`
define BTREE_OID_CLEAR_MVCC_FLAGS
#define BTREE_OID_CLEAR_MVCC_FLAGS (
oid_ptr
) `((oid_ptr)->volid &= ~ BTREE_OID_MVCC_FLAGS_MASK )`
define BTREE_OID_CLEAR_RECORD_FLAGS
#define BTREE_OID_CLEAR_RECORD_FLAGS (
oid_ptr
) `((oid_ptr)->slotid &= ~ BTREE_LEAF_RECORD_MASK )`
define BTREE_OID_GET_MVCC_FLAGS
#define BTREE_OID_GET_MVCC_FLAGS (
oid_ptr
) `((oid_ptr)->volid & BTREE_OID_MVCC_FLAGS_MASK )`
define BTREE_OID_GET_RECORD_FLAGS
#define BTREE_OID_GET_RECORD_FLAGS (
oid_ptr
) `((oid_ptr)->slotid & BTREE_LEAF_RECORD_MASK )`
define BTREE_OID_HAS_MVCC_DELID
#define BTREE_OID_HAS_MVCC_DELID `(( short ) 0x8000)`
define BTREE_OID_HAS_MVCC_INSID
#define BTREE_OID_HAS_MVCC_INSID `(( short ) 0x4000)`
define BTREE_OID_HAS_MVCC_INSID_AND_DELID
#define BTREE_OID_HAS_MVCC_INSID_AND_DELID `( BTREE_OID_HAS_MVCC_INSID | BTREE_OID_HAS_MVCC_DELID )`
define BTREE_OID_IS_MVCC_FLAG_SET
#define BTREE_OID_IS_MVCC_FLAG_SET (
oid_ptr,
mvcc_flag
) `(((oid_ptr)->volid & (mvcc_flag)) == (mvcc_flag))`
define BTREE_OID_IS_RECORD_FLAG_SET
#define BTREE_OID_IS_RECORD_FLAG_SET (
oid_ptr,
mvcc_flag
) `(((oid_ptr)->slotid & (mvcc_flag)) == (mvcc_flag))`
define BTREE_OID_MVCC_FLAGS_MASK
#define BTREE_OID_MVCC_FLAGS_MASK `(( short ) 0xC000)`
define BTREE_OID_SET_MVCC_FLAG
#define BTREE_OID_SET_MVCC_FLAG (
oid_ptr,
mvcc_flag
) `((oid_ptr)->volid |= (mvcc_flag))`
define BTREE_OID_SET_RECORD_FLAG
#define BTREE_OID_SET_RECORD_FLAG (
oid_ptr,
mvcc_flag
) `((oid_ptr)->slotid |= (mvcc_flag))`
define BTREE_PRINT_KEY_ARGS
#define BTREE_PRINT_KEY_ARGS (
key
) `(key) != NULL ? (key) : "** UNKNOWN KEY **"`
define BTREE_PRINT_KEY_MSG
#define BTREE_PRINT_KEY_MSG (
key
) `key " = %.32s"`
define BTREE_RECORD_OR_BUF_INIT
#define BTREE_RECORD_OR_BUF_INIT (
buf,
btree_rec
) `/* multi line expression */`
define BTREE_REC_SATISFIES_SNAPSHOT_HELPER_INITIALIZER
#define BTREE_REC_SATISFIES_SNAPSHOT_HELPER_INITIALIZER `{ NULL /* snapshot */, OID_INITIALIZER /* match_class_oid */, \ NULL /* oid_ptr */, 0 /* oid_cnt */, 0 /* oid_capacity */ }`
define BTREE_RV_DEBUG_INFO_FLAG
#define BTREE_RV_DEBUG_INFO_FLAG `0x1000`
define BTREE_RV_DEBUG_INFO_MAX_SIZE
#define BTREE_RV_DEBUG_INFO_MAX_SIZE `/* multi line expression */`
define BTREE_RV_EXCLUSIVE_FLAGS_MASK
#define BTREE_RV_EXCLUSIVE_FLAGS_MASK `0x3C00`
define BTREE_RV_FLAGS_MASK
#define BTREE_RV_FLAGS_MASK `( LOG_RV_RECORD_MODIFY_MASK | BTREE_RV_EXCLUSIVE_FLAGS_MASK )`
define BTREE_RV_HAS_DEBUG_INFO
#define BTREE_RV_HAS_DEBUG_INFO (
flags
) `((flags & BTREE_RV_DEBUG_INFO_FLAG ) != 0)`
define BTREE_RV_IS_OVERFLOW_NODE
#define BTREE_RV_IS_OVERFLOW_NODE (
flags
) `((flags & BTREE_RV_OVERFLOW_FLAG ) != 0)`
define BTREE_RV_IS_UNDO_MVCCDEL_MYOBJ
#define BTREE_RV_IS_UNDO_MVCCDEL_MYOBJ (
flags
) `((flags & BTREE_RV_UNDO_MVCCDEL_MYOBJ ) != 0)`
define BTREE_RV_IS_UPDATE_MAX_KEY_LEN
#define BTREE_RV_IS_UPDATE_MAX_KEY_LEN (
flags
) `((flags & BTREE_RV_UPDATE_MAX_KEY_LEN ) != 0)`
define BTREE_RV_OVERFLOW_FLAG
#define BTREE_RV_OVERFLOW_FLAG `0x2000`
define BTREE_RV_REDO_SET_DEBUG_INFO
#define BTREE_RV_REDO_SET_DEBUG_INFO (
addr,
rv_ptr,
btid_int,
id
) `/* multi line expression */`
define BTREE_RV_SET_OVERFLOW_NODE
#define BTREE_RV_SET_OVERFLOW_NODE (
addr
) `(( addr )->offset |= BTREE_RV_OVERFLOW_FLAG )`
define BTREE_RV_SET_UNDO_MVCCDEL_MYOBJ
#define BTREE_RV_SET_UNDO_MVCCDEL_MYOBJ (
addr
) `(( addr )->offset |= BTREE_RV_UNDO_MVCCDEL_MYOBJ )`
define BTREE_RV_SET_UPDATE_MAX_KEY_LEN
#define BTREE_RV_SET_UPDATE_MAX_KEY_LEN (
addr
) `(( addr )->offset |= BTREE_RV_UPDATE_MAX_KEY_LEN )`
define BTREE_RV_UNDOREDO_SET_DEBUG_INFO
#define BTREE_RV_UNDOREDO_SET_DEBUG_INFO (
addr,
rv_redo_ptr,
rv_undo_ptr,
btid_int,
id
) `/* multi line expression */`
define BTREE_RV_UNDO_MVCCDEL_MYOBJ
#define BTREE_RV_UNDO_MVCCDEL_MYOBJ `0x0800`
define BTREE_RV_UPDATE_MAX_KEY_LEN
#define BTREE_RV_UPDATE_MAX_KEY_LEN `0x0800`
define BTREE_SEARCH_KEY_HELPER_INITIALIZER
#define BTREE_SEARCH_KEY_HELPER_INITIALIZER `{ BTREE_KEY_NOTFOUND , NULL_SLOTID , btree_search_key_helper::NO_FENCE_KEY }`
define BTREE_SPLIT_DEFAULT_PIVOT
#define BTREE_SPLIT_DEFAULT_PIVOT `0.5f`
define BTREE_SPLIT_LOWER_BOUND
#define BTREE_SPLIT_LOWER_BOUND `0.20f`
define BTREE_SPLIT_MAX_PIVOT
#define BTREE_SPLIT_MAX_PIVOT `(1.0f - BTREE_SPLIT_MIN_PIVOT )`
define BTREE_SPLIT_MIN_PIVOT
#define BTREE_SPLIT_MIN_PIVOT `0.05f`
define BTREE_SPLIT_UPPER_BOUND
#define BTREE_SPLIT_UPPER_BOUND `(1.0f - BTREE_SPLIT_LOWER_BOUND )`
define BTS_INCREMENT_READ_OIDS
#define BTS_INCREMENT_READ_OIDS (
bts
) `/* multi line expression */`
define BTS_IS_HARD_CAPACITY_ENOUGH
#define BTS_IS_HARD_CAPACITY_ENOUGH (
bts,
count
) `/* multi line expression */`
define BTS_IS_INDEX_COVERED
#define BTS_IS_INDEX_COVERED (
bts
) `((bts) != NULL && (bts)->index_scan_idp != NULL && SCAN_IS_INDEX_COVERED ((bts)->index_scan_idp))`
define BTS_IS_INDEX_ILS
#define BTS_IS_INDEX_ILS (
bts
) `/* multi line expression */`
define BTS_IS_INDEX_ISS
#define BTS_IS_INDEX_ISS (
bts
) `((bts) != NULL && (bts)->index_scan_idp != NULL && SCAN_IS_INDEX_ISS ((bts)->index_scan_idp))`
define BTS_IS_INDEX_MRO
#define BTS_IS_INDEX_MRO (
bts
) `((bts) != NULL && (bts)->index_scan_idp != NULL && SCAN_IS_INDEX_MRO ((bts)->index_scan_idp))`
define BTS_IS_SOFT_CAPACITY_ENOUGH
#define BTS_IS_SOFT_CAPACITY_ENOUGH (
bts,
count
) `/* multi line expression */`
define BTS_NEED_COUNT_ONLY
#define BTS_NEED_COUNT_ONLY (
bts
) `((bts) != NULL && (bts)->index_scan_idp != NULL && (bts)->index_scan_idp->need_count_only)`
define BTS_SAVE_OID_IN_BUFFER
#define BTS_SAVE_OID_IN_BUFFER (
bts,
oid
) `/* multi line expression */`
define CAN_MERGE_WHEN_EMPTY
#define CAN_MERGE_WHEN_EMPTY `( MAX ( DB_PAGESIZE * 0.33, MAX_MERGE_ALIGN_WASTE * 1.3))`
define COMMON_PREFIX_PAGE_SIZE_RESET
#define COMMON_PREFIX_PAGE_SIZE_RESET (
bts
) `/* multi line expression */`
define DISK_PAGE_BITS
#define DISK_PAGE_BITS `( DB_PAGESIZE * CHAR_BIT ) /* Num of bits per page */`
define FORCE_MERGE_WHEN_EMPTY
#define FORCE_MERGE_WHEN_EMPTY `( MAX ( DB_PAGESIZE * 0.66, MAX_MERGE_ALIGN_WASTE * 1.3))`
define LOFFS1
#define LOFFS1 `0 /* Key Len Offset */`
define LOFFS2
#define LOFFS2 `2 /* Node Type Offset: Leaf / NonLeaf Information */`
define LOFFS3
#define LOFFS3 `4 /* RECDES Type Offset */`
define LOFFS4
#define LOFFS4 `6 /* RECDES Data Offset */`
define MAX_LEAF_REC_NUM
#define MAX_LEAF_REC_NUM `( IO_MAX_PAGE_SIZE / MIN_LEAF_REC_SIZE )`
define MAX_MERGE_ALIGN_WASTE
#define MAX_MERGE_ALIGN_WASTE `(( DB_PAGESIZE / MIN_LEAF_REC_SIZE ) * ( BTREE_MAX_ALIGN - 1))`
define MIN_KEY_SIZE
#define MIN_KEY_SIZE `DB_ALIGN (1, BTREE_MAX_ALIGN )`
define MIN_LEAF_REC_SIZE
#define MIN_LEAF_REC_SIZE `( OR_OID_SIZE + MIN_KEY_SIZE )`
define NEXT_MERGE_RECORD
#define NEXT_MERGE_RECORD (
) `/* multi line expression */`
define NOT_FOUND
define OFFS1
#define OFFS1 `0 /* Node Type Offset: Leaf / NonLeaf Information */`
define OFFS2
#define OFFS2 `2 /* RECDES Type Offset */`
define OFFS3
#define OFFS3 `4 /* RECDES Data Offset */`
define OID_MSG_BUF_SIZE
#define OID_MSG_BUF_SIZE `64`
#define __STDC_FORMAT_MACROS
define btree_delete_log
#define btree_delete_log (
helper,
msg,
...
) `if (( helper )->log_operations) btree_log ("BTREE_DELETE ", msg, __VA_ARGS__ )`
define btree_insert_log
#define btree_insert_log (
helper,
msg,
...
) `if (( helper )->log_operations) btree_log ("BTREE_INSERT ", msg, __VA_ARGS__ )`
define btree_log
#define btree_log (
prefix,
msg,
...
) `_er_log_debug ( ARG_FILE_LINE , prefix LOG_THREAD_TRAN_MSG ": " msg "\n", \ LOG_THREAD_TRAN_ARGS ( thread_get_thread_entry_info ()), __VA_ARGS__ )`
define btree_log_if_enabled
#define btree_log_if_enabled (
...
) `if ( prm_get_bool_value ( PRM_ID_LOG_BTREE_OPS )) _er_log_debug ( ARG_FILE_LINE , __VA_ARGS__ )`
The documentation for this class was generated from the following file cubrid/src/storage/btree.c