File btree.h¶
FileList > cubrid > src > storage > btree.h
Go to the source code of this file
#include "access_spec.hpp"#include "config.h"#include "disk_manager.h"#include "object_domain.h"#include "oid.h"#include "lock_manager.h"#include "log_lsa.hpp"#include "mvcc.h"#include "query_evaluator.h"#include "recovery.h"#include "statistics.h"#include "storage_common.h"#include "scan_manager.h"
Classes¶
| Type | Name |
|---|---|
| struct | btid_int |
| struct | btree_capacity |
| struct | btree_checkscan |
| struct | btree_insert_list |
| struct | btree_iscan_oid_list |
| struct | btree_keyrange |
| struct | btree_mvcc_info |
| struct | btree_node_scan |
| struct | btree_node_scan_queue_item |
| struct | btree_object_info |
| struct | btree_ovfl_oid_capacity |
| struct | btree_scan |
| struct | bts_attid_idx_info |
| struct | key_oid |
| struct | leaf_rec |
| struct | non_leaf_rec |
| struct | page_key_boundary |
Public Types¶
| Type | Name |
|---|---|
| typedef struct btid_int | BTID_INT |
| typedef struct btree_capacity | BTREE_CAPACITY |
| typedef struct btree_checkscan | BTREE_CHECKSCAN |
| typedef struct btree_iscan_oid_list | BTREE_ISCAN_OID_LIST |
| typedef struct btree_keyrange | BTREE_KEYRANGE |
| typedef struct btree_mvcc_info | BTREE_MVCC_INFO |
| typedef struct btree_node_scan | BTREE_NODE_SCAN |
| typedef struct btree_node_scan_queue_item | BTREE_NODE_SCAN_QUEUE_ITEM |
| enum | BTREE_NODE_TYPE |
| typedef struct btree_object_info | BTREE_OBJECT_INFO |
| typedef enum btree_op_purpose | BTREE_OP_PURPOSE |
| typedef int | BTREE_RANGE_SCAN_PROCESS_KEY_FUNC |
| typedef struct btree_scan | BTREE_SCAN |
| typedef enum bts_key_status | BTS_KEY_STATUS |
| typedef struct indx_scan_id | INDX_SCAN_ID |
| typedef struct leaf_rec | LEAF_REC |
| typedef struct non_leaf_rec | NON_LEAF_REC |
| typedef struct or_buf | OR_BUF |
| enum | btree_8h_1aaa1faf9307efabe7471b4443de4ba66b |
| enum | btree_op_purpose |
| enum | bts_key_status |
Public Functions¶
Macros¶
| Type | Name |
|---|---|
| define | BTREE_CONTINUE -1 |
| define | BTREE_END_OF_SCAN (bts) /* multi line expression */ |
| define | BTREE_GETOID_AGAIN -2 |
| define | BTREE_GETOID_AGAIN_WITH_CHECK -3 |
| define | BTREE_GOTO_END_OF_SCAN -5 |
| define | BTREE_GOTO_LOCKING_DONE -7 |
| define | BTREE_GOTO_START_LOCKING -6 |
| define | BTREE_INIT_MVCC_HEADER (p_mvcc_rec_header) /* multi line expression */ |
| define | BTREE_INIT_SCAN (bts) |
| define | BTREE_INIT_SCAN_ATTID_IDXS_INFO (bts) /* multi line expression */ |
| define | BTREE_IS_MULTI_ROW_OP (op) (op == [**MULTI\_ROW\_INSERT**](btree_8h.md#define-multi_row_insert) \|\| op == [**MULTI\_ROW\_UPDATE**](btree_8h.md#define-multi_row_update) \|\| op == [**MULTI\_ROW\_DELETE**](btree_8h.md#define-multi_row_delete)) |
| define | BTREE_IS_PART_KEY_DESC (btid_int) (([**btid\_int**](structbtid__int.md))->part\_key\_desc != 0) |
| define | BTREE_IS_PRIMARY_KEY (unique_pk) ((unique\_pk) & BTREE\_CONSTRAINT\_PRIMARY\_KEY) |
| define | BTREE_IS_UNIQUE (unique_pk) ((unique\_pk) & BTREE\_CONSTRAINT\_UNIQUE) |
| define | BTREE_MVCC_INFO_INITIALIZER { 0, [**MVCCID\_ALL\_VISIBLE**](storage__common_8h.md#define-mvccid_all_visible), [**MVCCID\_NULL**](storage__common_8h.md#define-mvccid_null) } |
| define | BTREE_NEED_UNIQUE_CHECK (thread_p, op) /* multi line expression */ |
| define | BTREE_NODE_SCAN_ADD_PAGE_TO_QUEUE (bns, node) /* multi line expression */ |
| define | BTREE_NODE_SCAN_INIT (bns) /* multi line expression */ |
| define | BTREE_NODE_SCAN_IS_QUEUE_EMPTY (bns) (([**bns**](broker__monitor_8c.md#function-timeout))->queue\_head == [**NULL**](freelistheap_8h.md#define-null)) |
| define | BTREE_NODE_SCAN_POP_PAGE_FROM_QUEUE (bns, node) /* multi line expression */ |
| define | BTREE_NORMAL_KEY 0 |
| define | BTREE_OBJECT_INFO_INITIALIZER { [**OID\_INITIALIZER**](oid_8h.md#define-oid_initializer), [**OID\_INITIALIZER**](oid_8h.md#define-oid_initializer), [**BTREE\_MVCC\_INFO\_INITIALIZER**](btree_8h.md#define-btree_mvcc_info_initializer) } |
| define | BTREE_OVERFLOW_KEY 1 |
| define | BTREE_RESET_SCAN (bts) /* multi line expression */ |
| define | BTREE_RESTART_SCAN -8 |
| define | BTREE_SEARCH_AGAIN_WITH_CHECK -4 |
| define | BTREE_SET_UNIQUE_VIOLATION_ERROR (THREAD, KEY, OID, C_OID, BTID, BTNM) /* multi line expression */ |
| define | BTREE_START_OF_SCAN (bts) [**BTREE\_END\_OF\_SCAN**](btree_8h.md#define-btree_end_of_scan)(bts) |
| define | BTS_IS_DESCENDING_SCAN (bts) ((bts)->index\_scan\_idp->[**indx\_info**](structindx__info.md)->use\_desc\_index) |
| define | BTS_SET_INDEX_SCANID (bts, index_scan_idp) ((bts)->index\_scan\_idp = index\_scan\_idp) |
| define | BTS_SET_KEY_LIMIT (bts, lower, upper) /* multi line expression */ |
| define | CHECK_VERIFY_COMMON_PREFIX_PAGE_INFO |
| define | COMMON_PREFIX_PAGE_DEBUG_INFO_RESET (bts) /* multi line expression */ |
| define | COMMON_PREFIX_UNKNOWN (-1) |
| define | DBVAL_BUFSIZE 4096 |
| define | MULTI_ROW_DELETE 6 |
| define | MULTI_ROW_INSERT 5 |
| define | MULTI_ROW_UPDATE 7 |
| define | SINGLE_ROW_DELETE 2 |
| define | SINGLE_ROW_INSERT 1 |
| define | SINGLE_ROW_MODIFY 4 /\* used in [**case**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) undo \*/ |
| define | SINGLE_ROW_UPDATE 3 |
Public Types Documentation¶
typedef BTID_INT¶
typedef BTREE_CAPACITY¶
typedef BTREE_CHECKSCAN¶
typedef BTREE_ISCAN_OID_LIST¶
typedef BTREE_KEYRANGE¶
typedef BTREE_MVCC_INFO¶
typedef BTREE_NODE_SCAN¶
typedef BTREE_NODE_SCAN_QUEUE_ITEM¶
enum BTREE_NODE_TYPE¶
typedef BTREE_OBJECT_INFO¶
typedef BTREE_OP_PURPOSE¶
typedef BTREE_RANGE_SCAN_PROCESS_KEY_FUNC¶
typedef BTREE_SCAN¶
typedef BTS_KEY_STATUS¶
typedef INDX_SCAN_ID¶
typedef LEAF_REC¶
typedef NON_LEAF_REC¶
typedef OR_BUF¶
enum btree_8h_1aaa1faf9307efabe7471b4443de4ba66b¶
enum btree_8h_1aaa1faf9307efabe7471b4443de4ba66b {
BTREE_COERCE_KEY_WITH_MIN_VALUE = 1,
BTREE_COERCE_KEY_WITH_MAX_VALUE = 2
};
enum btree_op_purpose¶
enum btree_op_purpose {
BTREE_OP_NO_OP,
BTREE_OP_INSERT_NEW_OBJECT,
BTREE_OP_INSERT_MVCC_DELID,
BTREE_OP_INSERT_MARK_DELETED,
BTREE_OP_INSERT_UNDO_PHYSICAL_DELETE,
BTREE_OP_DELETE_OBJECT_PHYSICAL,
BTREE_OP_DELETE_OBJECT_PHYSICAL_POSTPONED,
BTREE_OP_DELETE_UNDO_INSERT,
BTREE_OP_DELETE_UNDO_INSERT_UNQ_MULTIUPD,
BTREE_OP_DELETE_UNDO_INSERT_DELID,
BTREE_OP_DELETE_VACUUM_OBJECT,
BTREE_OP_DELETE_VACUUM_INSID,
BTREE_OP_NOTIFY_VACUUM,
BTREE_OP_ONLINE_INDEX_IB_INSERT,
BTREE_OP_ONLINE_INDEX_IB_DELETE,
BTREE_OP_ONLINE_INDEX_TRAN_INSERT,
BTREE_OP_ONLINE_INDEX_TRAN_INSERT_DF,
BTREE_OP_ONLINE_INDEX_UNDO_TRAN_INSERT,
BTREE_OP_ONLINE_INDEX_TRAN_DELETE,
BTREE_OP_ONLINE_INDEX_UNDO_TRAN_DELETE
};
enum bts_key_status¶
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¶
function btree_check_by_class_oid¶
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¶
function btree_coerce_key¶
int btree_coerce_key (
DB_VALUE * src_keyp,
int keysize,
TP_DOMAIN * btree_domainp,
int key_minmax
)
function btree_compare_btids¶
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¶
function btree_dump¶
function btree_dump_capacity¶
function btree_dump_key¶
function btree_estimate_total_numpages¶
int btree_estimate_total_numpages (
THREAD_ENTRY * thread_p,
int dis_key_cnt,
int avg_key_len,
int tot_val_cnt,
int * blt_pgcnt_est,
int * blt_wrs_pgcnt_est
)
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 flag_minkey
)
function btree_get_btid_from_file¶
function btree_get_class_oid_of_unique_btid¶
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¶
function btree_get_pkey_btid¶
function btree_get_root_vpid_from_btid¶
function btree_get_stats¶
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
)
function btree_hash_btid¶
function btree_index_capacity¶
function btree_index_end_scan¶
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 * ctx
)
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 ** ctx
)
function btree_initialize_new_page¶
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¶
function btree_is_unique_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¶
function btree_keyoid_checkscan_start¶
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 * key_val_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¶
function btree_multicol_key_is_null¶
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
)
function btree_mvcc_info_from_heap_mvcc_header¶
void btree_mvcc_info_from_heap_mvcc_header (
MVCC_REC_HEADER * mvcc_header,
BTREE_MVCC_INFO * mvcc_info
)
function btree_mvcc_info_to_heap_mvcc_header¶
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 * cls_oid,
btree_insert_list * insert_list,
int unique,
BTREE_OP_PURPOSE purpose,
LOG_LSA * undo_nxlsa
)
function btree_pack_mvccinfo¶
function btree_packed_mvccinfo_size¶
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 * key_val_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¶
function btree_range_scan_select_visible_oids¶
function btree_read_key_type¶
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,
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 * btid,
bool repair
)
function btree_rv_keyval_dump¶
function btree_rv_keyval_undo_delete¶
function btree_rv_keyval_undo_insert¶
function btree_rv_keyval_undo_insert_mvcc_delid¶
function btree_rv_keyval_undo_insert_unique¶
function btree_rv_keyval_undo_online_index_tran_delete¶
function btree_rv_keyval_undo_online_index_tran_insert¶
function btree_rv_newpage_redo_init¶
function btree_rv_nodehdr_redo_insert¶
function btree_rv_nodehdr_undo_insert¶
function btree_rv_nodehdr_undoredo_update¶
function btree_rv_noderec_dump¶
function btree_rv_noderec_dump_slot_id¶
function btree_rv_noderec_redo_insert¶
function btree_rv_noderec_undo_insert¶
function btree_rv_noderec_undoredo_update¶
function btree_rv_nop¶
function btree_rv_ovfid_dump¶
function btree_rv_ovfid_undoredo_update¶
function btree_rv_pagerec_delete¶
function btree_rv_pagerec_insert¶
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¶
function btree_rv_redo_record_modify¶
function btree_rv_remove_marked_for_delete¶
function btree_rv_remove_unique_stats¶
function btree_rv_roothdr_dump¶
function btree_rv_roothdr_undo_update¶
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¶
function btree_rv_undo_mark_dealloc_page¶
function btree_rv_undo_record_modify¶
function btree_rv_undoredo_copy_page¶
function btree_rv_update_tran_stats¶
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¶
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¶
function btree_set_mvcc_header_ids_for_update¶
void btree_set_mvcc_header_ids_for_update (
THREAD_ENTRY * thread_p,
bool do_delete_only,
bool do_insert_only,
MVCCID * mvccid,
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_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¶
function xbtree_get_key_type¶
function xbtree_get_unique_pk¶
Macro Definition Documentation¶
define BTREE_CONTINUE¶
define BTREE_END_OF_SCAN¶
define BTREE_GETOID_AGAIN¶
define BTREE_GETOID_AGAIN_WITH_CHECK¶
define BTREE_GOTO_END_OF_SCAN¶
define BTREE_GOTO_LOCKING_DONE¶
define BTREE_GOTO_START_LOCKING¶
define BTREE_INIT_MVCC_HEADER¶
define BTREE_INIT_SCAN¶
define BTREE_INIT_SCAN_ATTID_IDXS_INFO¶
define BTREE_IS_MULTI_ROW_OP¶
#define BTREE_IS_MULTI_ROW_OP (
op
) `(op == MULTI_ROW_INSERT || op == MULTI_ROW_UPDATE || op == MULTI_ROW_DELETE )`
define BTREE_IS_PART_KEY_DESC¶
define BTREE_IS_PRIMARY_KEY¶
define BTREE_IS_UNIQUE¶
define BTREE_MVCC_INFO_INITIALIZER¶
define BTREE_NEED_UNIQUE_CHECK¶
define BTREE_NODE_SCAN_ADD_PAGE_TO_QUEUE¶
define BTREE_NODE_SCAN_INIT¶
define BTREE_NODE_SCAN_IS_QUEUE_EMPTY¶
define BTREE_NODE_SCAN_POP_PAGE_FROM_QUEUE¶
define BTREE_NORMAL_KEY¶
define BTREE_OBJECT_INFO_INITIALIZER¶
#define BTREE_OBJECT_INFO_INITIALIZER `{ OID_INITIALIZER , OID_INITIALIZER , BTREE_MVCC_INFO_INITIALIZER }`
define BTREE_OVERFLOW_KEY¶
define BTREE_RESET_SCAN¶
define BTREE_RESTART_SCAN¶
define BTREE_SEARCH_AGAIN_WITH_CHECK¶
define BTREE_SET_UNIQUE_VIOLATION_ERROR¶
#define BTREE_SET_UNIQUE_VIOLATION_ERROR (
THREAD,
KEY,
OID,
C_OID,
BTID,
BTNM
) `btree_set_error ( THREAD , KEY , OID , C_OID , BTID , BTNM , \ ER_ERROR_SEVERITY , ER_BTREE_UNIQUE_FAILED , __FILE__ , __LINE__ )`
define BTREE_START_OF_SCAN¶
define BTS_IS_DESCENDING_SCAN¶
define BTS_SET_INDEX_SCANID¶
define BTS_SET_KEY_LIMIT¶
define CHECK_VERIFY_COMMON_PREFIX_PAGE_INFO¶
define COMMON_PREFIX_PAGE_DEBUG_INFO_RESET¶
define COMMON_PREFIX_UNKNOWN¶
define DBVAL_BUFSIZE¶
define MULTI_ROW_DELETE¶
define MULTI_ROW_INSERT¶
define MULTI_ROW_UPDATE¶
define SINGLE_ROW_DELETE¶
define SINGLE_ROW_INSERT¶
define SINGLE_ROW_MODIFY¶
define SINGLE_ROW_UPDATE¶
The documentation for this class was generated from the following file cubrid/src/storage/btree.h