File heap_file.h
FileList > cubrid > src > storage > heap_file.h
Go to the source code of this file
#include "config.h"
#include "file_manager.h"
#include "heap_attrinfo.h"
#include "mem_block.hpp"
#include "mvcc.h"
#include "page_buffer.h"
#include "perf_monitor.h"
#include "storage_common.h"
#include "thread_compat.hpp"
#include "tde.h"
Classes
Public Types
Public Attributes
Public Functions
| Type |
Name |
| int |
heap_alloc_new_page (THREAD_ENTRY * thread_p, HFID * hfid, OID class_oid, PGBUF_WATCHER * home_hint_p, VPID * new_page_vpid)
|
| int |
heap_assign_address (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * oid, int expected_length)
|
| DB_VALUE * |
heap_attrinfo_access (ATTR_ID attrid, HEAP_CACHE_ATTRINFO * attr_info)
|
| bool |
heap_attrinfo_check_unique_index (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, ATTR_ID * att_id, int n_att_id)
|
| int |
heap_attrinfo_clear_dbvalues (HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_delete_lob (THREAD_ENTRY * thread_p, RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info)
|
| void |
heap_attrinfo_dump (THREAD_ENTRY * thread_p, FILE * fp, HEAP_CACHE_ATTRINFO * attr_info, bool dump_schema)
|
| void |
heap_attrinfo_end (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info)
|
| DB_VALUE * |
heap_attrinfo_generate_key (THREAD_ENTRY * thread_p, int n_atts, int * att_ids, int * atts_prefix_length, HEAP_CACHE_ATTRINFO * attr_info, RECDES * recdes, DB_VALUE * dbvalue, char * buf, FUNCTION_INDEX_INFO * func_index_info, TP_DOMAIN * midxkey_domain, OID * cur_oid)
|
| int |
heap_attrinfo_read_dbvalues (THREAD_ENTRY * thread_p, const OID * inst_oid, RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_read_dbvalues_without_oid (THREAD_ENTRY * thread_p, RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_set (const OID * inst_oid, ATTR_ID attrid, DB_VALUE * attr_val, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_set_uninitialized_global (THREAD_ENTRY * thread_p, OID * inst_oid, RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_start (THREAD_ENTRY * thread_p, const OID * class_oid, int requested_num_attrs, const ATTR_ID * attrid, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_start_with_btid (THREAD_ENTRY * thread_p, OID * class_oid, BTID * btid, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_attrinfo_start_with_index (THREAD_ENTRY * thread_p, OID * class_oid, RECDES * class_recdes, HEAP_CACHE_ATTRINFO * attr_info, HEAP_IDX_ELEMENTS_INFO * idx_info, bool is_check_foreign)
|
| SCAN_CODE |
heap_attrinfo_transform_to_disk (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, RECDES * old_recdes, record_descriptor * new_recdes)
|
| SCAN_CODE |
heap_attrinfo_transform_to_disk_except_lob (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, RECDES * old_recdes, record_descriptor * new_recdes)
|
| DB_VALUE * |
heap_attrvalue_get_index (int value_index, ATTR_ID * attrid, int * n_btids, BTID ** btids, HEAP_CACHE_ATTRINFO * idx_attrinfo)
|
| DB_VALUE * |
heap_attrvalue_get_key (THREAD_ENTRY * thread_p, int btid_index, HEAP_CACHE_ATTRINFO * idx_attrinfo, RECDES * recdes, BTID * btid, DB_VALUE * db_value, char * buf, FUNC_PRED_UNPACK_INFO * func_indx_preds, TP_DOMAIN ** key_domain, OID * rec_oid, bool is_check_foreign)
|
| HEAP_ATTRVALUE * |
heap_attrvalue_locate (ATTR_ID attrid, HEAP_CACHE_ATTRINFO * attr_info)
|
| int |
heap_cache_class_info (THREAD_ENTRY * thread_p, const OID * class_oid, HFID * hfid, FILE_TYPE ftype, const char * classname_in)
|
| SCAN_CODE |
heap_capacity_next_scan (THREAD_ENTRY * thread_p, int cursor, DB_VALUE ** out_values, int out_cnt, void * ptr)
|
| DISK_ISVALID |
heap_check_all_heaps (THREAD_ENTRY * thread_p)
|
| DISK_ISVALID |
heap_check_all_pages (THREAD_ENTRY * thread_p, HFID * hfid)
|
| DISK_ISVALID |
heap_check_heap_file (THREAD_ENTRY * thread_p, HFID * hfid)
|
| void |
heap_chnguess_clear (THREAD_ENTRY * thread_p, int tran_index)
|
| void |
heap_chnguess_dump (FILE * fp)
|
| int |
heap_chnguess_get (THREAD_ENTRY * thread_p, const OID * oid, int tran_index)
|
| int |
heap_chnguess_put (THREAD_ENTRY * thread_p, const OID * oid, int tran_index, int chn)
|
| int |
heap_classrepr_decache (THREAD_ENTRY * thread_p, const OID * class_oid)
|
| void |
heap_classrepr_dump_all (THREAD_ENTRY * thread_p, FILE * fp, OID * class_oid)
|
| int |
heap_classrepr_find_index_id (OR_CLASSREP * classrepr, const BTID * btid)
|
| int |
heap_classrepr_free (OR_CLASSREP * classrep, int * idx_incache)
|
| OR_CLASSREP * |
heap_classrepr_get (THREAD_ENTRY * thread_p, const OID * class_oid, RECDES * class_recdes, REPR_ID reprid, int * idx_incache)
|
| int |
heap_classrepr_restart_cache (void)
|
| void |
heap_clean_get_context (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context)
|
| void |
heap_clear_partition_info (THREAD_ENTRY * thread_p, OR_PARTITION * parts, int parts_count)
|
| int |
heap_cmp (THREAD_ENTRY * thread_p, const OID * oid, RECDES * recdes)
|
| int |
heap_compact_pages (THREAD_ENTRY * thread_p, OID * class_oid)
|
| void |
heap_create_delete_context (HEAP_OPERATION_CONTEXT * context, HFID * hfid_p, OID * oid_p, OID * class_oid_p, HEAP_SCANCACHE * scancache_p)
|
| void |
heap_create_insert_context (HEAP_OPERATION_CONTEXT * context, HFID * hfid_p, OID * class_oid_p, RECDES * recdes_p, HEAP_SCANCACHE * scancache_p)
|
| void |
heap_create_update_context (HEAP_OPERATION_CONTEXT * context, HFID * hfid_p, OID * oid_p, OID * class_oid_p, RECDES * recdes_p, HEAP_SCANCACHE * scancache_p, UPDATE_INPLACE_STYLE in_place)
|
| int |
heap_delete_hfid_from_cache (THREAD_ENTRY * thread_p, OID * class_oid)
|
| int |
heap_delete_logical (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
|
| bool |
heap_does_exist (THREAD_ENTRY * thread_p, OID * class_oid, const OID * oid)
|
| void |
heap_dump (THREAD_ENTRY * thread_p, FILE * fp, HFID * hfid, bool dump_records)
|
| int |
heap_dump_capacity (THREAD_ENTRY * thread_p, FILE * fp, const HFID * hfid)
|
| int |
heap_dump_heap_file (THREAD_ENTRY * thread_p, FILE * fp, bool dump_records, const char * class_name)
|
| int |
heap_estimate (THREAD_ENTRY * thread_p, const HFID * hfid, int * npages, int * nobjs, int * avg_length)
|
| int |
heap_estimate_num_objects (THREAD_ENTRY * thread_p, const HFID * hfid)
|
| void |
heap_finalize_hfid_table (void)
|
| SCAN_CODE |
heap_first (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking)
|
| void |
heap_flush (THREAD_ENTRY * thread_p, const OID * oid)
|
| void |
heap_free_func_pred_unpack_info (THREAD_ENTRY * thread_p, int n_indexes, FUNC_PRED_UNPACK_INFO * func_indx_preds, int * attr_info_started)
|
| int |
heap_get_best_space_num_stats_entries (void)
|
| int |
heap_get_btid_from_index_name (THREAD_ENTRY * thread_p, const OID * p_class_oid, const char * index_name, BTID * p_found_btid)
|
| int |
heap_get_class_info (THREAD_ENTRY * thread_p, const OID * class_oid, HFID * hfid_out, FILE_TYPE * ftype_out, char ** classname_out)
|
| int |
heap_get_class_name (THREAD_ENTRY * thread_p, const OID * class_oid, char ** class_name)
|
| int |
heap_get_class_name_alloc_if_diff (THREAD_ENTRY * thread_p, const OID * class_oid, char * guess_classname, char ** class_name_out)
|
| char * |
heap_get_class_name_with_is_class (THREAD_ENTRY * thread_p, const OID * oid, int * isclass)
|
| SCAN_CODE |
heap_get_class_oid (THREAD_ENTRY * thread_p, const OID * oid, OID * class_oid)
|
| int |
heap_get_class_oid_from_page (THREAD_ENTRY * thread_p, PAGE_PTR page_p, OID * class_oid)
|
| int |
heap_get_class_partitions (THREAD_ENTRY * thread_p, const OID * class_oid, OR_PARTITION ** parts, int * parts_count)
|
| SCAN_CODE |
heap_get_class_record (THREAD_ENTRY * thread_p, const OID * class_oid, RECDES * recdes_p, HEAP_SCANCACHE * scan_cache, int ispeeking)
|
| REPR_ID |
heap_get_class_repr_id (THREAD_ENTRY * thread_p, OID * class_oid)
|
| int |
heap_get_class_supers (THREAD_ENTRY * thread_p, const OID * class_oid, OID ** super_oids, int * count)
|
| int |
heap_get_class_tde_algorithm (THREAD_ENTRY * thread_p, const OID * class_oid, TDE_ALGORITHM * tde_algo)
|
| int |
heap_get_compress_attr_by_btid (THREAD_ENTRY * thread_p, OID * class_oid, BTID * btid, ATTR_ID * last_attrid, int * last_asc_desc, TP_DOMAIN ** tpdomain)
|
| int |
heap_get_hfid_from_vfid (THREAD_ENTRY * thread_p, const VFID * vfid, HFID * hfid)
|
| int |
heap_get_hfid_if_cached (THREAD_ENTRY * thread_p, const OID * class_oid, HFID * hfid_out, FILE_TYPE * ftype_out, char ** classname_out, bool * success)
|
| int |
heap_get_index_with_name (THREAD_ENTRY * thread_p, OID * class_oid, const char * index_name, BTID * btid)
|
| int |
heap_get_indexinfo_of_btid (THREAD_ENTRY * thread_p, const OID * class_oid, const BTID * btid, BTREE_TYPE * type, int * num_attrs, ATTR_ID ** attr_ids, int ** attrs_prefix_length, char ** btnamepp, int * func_index_col_id)
|
| SCAN_CODE |
heap_get_last_version (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context)
|
| SCAN_CODE |
heap_get_mvcc_header (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context, MVCC_REC_HEADER * mvcc_header)
|
| int |
heap_get_mvcc_rec_header_from_overflow (PAGE_PTR ovf_page, MVCC_REC_HEADER * mvcc_header, RECDES * peek_recdes)
|
| int |
heap_get_num_objects (THREAD_ENTRY * thread_p, const HFID * hfid, int * npages, int * nobjs, int * avg_length)
|
| SCAN_CODE |
heap_get_record_data_when_all_ready (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context)
|
| int |
heap_get_referenced_by (THREAD_ENTRY * thread_p, OID * class_oid, const OID * obj_oid, RECDES * obj, int * max_oid_cnt, OID ** oid_list)
|
| SCAN_CODE |
heap_get_visible_version (THREAD_ENTRY * thread_p, const OID * oid, OID * class_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, int old_chn)
|
| SCAN_CODE |
heap_get_visible_version_internal (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context, bool is_heap_scan)
|
| int |
heap_header_capacity_end_scan (THREAD_ENTRY * thread_p, void ** ptr)
|
| int |
heap_header_capacity_start_scan (THREAD_ENTRY * thread_p, int show_type, DB_VALUE ** arg_values, int arg_cnt, void ** ptr)
|
| SCAN_CODE |
heap_header_next_scan (THREAD_ENTRY * thread_p, int cursor, DB_VALUE ** out_values, int out_cnt, void * ptr)
|
| int |
heap_indexinfo_get_attrids (int btid_index, HEAP_CACHE_ATTRINFO * attrinfo, ATTR_ID * attrids)
|
| int |
heap_indexinfo_get_attrs_prefix_length (int btid_index, HEAP_CACHE_ATTRINFO * attrinfo, int * attrs_prefix_length, int len_attrs_prefix_length)
|
| BTID * |
heap_indexinfo_get_btid (int btid_index, HEAP_CACHE_ATTRINFO * attrinfo)
|
| int |
heap_indexinfo_get_num_attrs (int btid_index, HEAP_CACHE_ATTRINFO * attrinfo)
|
| int |
heap_init_func_pred_unpack_info (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, const OID * class_oid, FUNC_PRED_UNPACK_INFO ** func_indx_preds)
|
| void |
heap_init_get_context (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context, const OID * oid, OID * class_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, int old_chn)
|
| int |
heap_initialize_hfid_table (void)
|
| int |
heap_insert_logical (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, PGBUF_WATCHER * home_hint_p)
|
| bool |
heap_is_big_length (int length)
|
| bool |
heap_is_object_not_null (THREAD_ENTRY * thread_p, OID * class_oid, const OID * oid)
|
| bool |
heap_is_page_header (THREAD_ENTRY * thread_p, PAGE_PTR page)
|
| SCAN_CODE |
heap_last (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking)
|
| OR_ATTRIBUTE * |
heap_locate_last_attrepr (ATTR_ID attrid, HEAP_CACHE_ATTRINFO * attr_info)
|
| void |
heap_log_postpone_heap_append_pages (THREAD_ENTRY * thread_p, const HFID * hfid, const OID * class_oid, const std::vector< VPID > & heap_pages_array)
|
| int |
heap_manager_finalize (void)
|
| int |
heap_manager_initialize (void)
|
| SCAN_CODE |
heap_next (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * next_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking)
|
| SCAN_CODE |
heap_next_1page (THREAD_ENTRY * thread_p, const HFID * hfid, const VPID * vpid, OID * class_oid, OID * next_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking)
|
| SCAN_CODE |
heap_next_record_info (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * next_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, DB_VALUE ** cache_recordinfo)
|
| SCAN_CODE |
heap_next_sampling (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * next_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, sampling_info * sampling)
|
| int |
heap_nonheader_page_capacity ()
|
| int |
heap_object_upgrade_domain (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * upd_scancache, HEAP_CACHE_ATTRINFO * attr_info, OID * oid, const ATTR_ID att_id)
|
| const OID * |
heap_ovf_delete (THREAD_ENTRY * thread_p, const HFID * hfid, const OID * ovf_oid, VFID * ovf_vfid_p)
|
| VFID * |
heap_ovf_find_vfid (THREAD_ENTRY * thread_p, const HFID * hfid, VFID * ovf_vfid, bool create, PGBUF_LATCH_CONDITION latch_cond)
|
| MVCCID |
heap_page_get_max_mvccid (THREAD_ENTRY * thread_p, PAGE_PTR heap_page)
|
| HEAP_PAGE_VACUUM_STATUS |
heap_page_get_vacuum_status (THREAD_ENTRY * thread_p, PAGE_PTR heap_page)
|
| SCAN_CODE |
heap_page_next (THREAD_ENTRY * thread_p, const OID * class_oid, const HFID * hfid, VPID * next_vpid, DB_VALUE ** cache_pageinfo)
|
| SCAN_CODE |
heap_page_next_fix_old (THREAD_ENTRY * thread_p, HFID * hfid, VPID * curr_vpid, HEAP_SCANCACHE * scan_cache)
|
| SCAN_CODE |
heap_page_prev (THREAD_ENTRY * thread_p, const OID * class_oid, const HFID * hfid, VPID * prev_vpid, DB_VALUE ** cache_pageinfo)
|
| void |
heap_page_set_vacuum_status_none (THREAD_ENTRY * thread_p, PAGE_PTR heap_page)
|
| int |
heap_prefetch (THREAD_ENTRY * thread_p, OID * class_oid, const OID * oid, LC_COPYAREA_DESC * prefetch)
|
| SCAN_CODE |
heap_prepare_get_context (THREAD_ENTRY * thread_p, HEAP_GET_CONTEXT * context, bool is_heap_scan, NON_EXISTENT_HANDLING non_ex_handling_type)
|
| int |
heap_prepare_object_page (THREAD_ENTRY * thread_p, const OID * oid, PGBUF_WATCHER * page_watcher_p, PGBUF_LATCH_MODE latch_mode)
|
| SCAN_CODE |
heap_prev (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * prev_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking)
|
| SCAN_CODE |
heap_prev_record_info (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * next_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, DB_VALUE ** cache_recordinfo)
|
| bool |
heap_remove_page_on_vacuum (THREAD_ENTRY * thread_p, PAGE_PTR * page_ptr, HFID * hfid)
|
| void |
heap_rv_dump_append_pages_to_heap (FILE * fp, int length, void * data)
|
| void |
heap_rv_dump_chain (FILE * fp, int ignore_length, void * data)
|
| void |
heap_rv_dump_reuse_page (FILE * fp, int ignore_length, void * data)
|
| void |
heap_rv_dump_statistics (FILE * fp, int ignore_length, void * data)
|
| int |
heap_rv_lob_remove_dir (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mark_deleted_on_postpone (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mark_deleted_on_undo (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_redo_delete_home (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_redo_delete_newhome (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_redo_delete_overflow (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_redo_insert (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_redo_redistribute (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_undo_delete (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_mvcc_undo_delete_overflow (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_nop (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_postpone_append_pages_to_heap (THREAD_ENTRY * thread_p, LOG_RCV * recv)
|
| int |
heap_rv_redo_delete (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_insert (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_mark_reusable_slot (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_newpage (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_newpage_reuse_oid (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_reuse_page (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_reuse_page_reuse_oid (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_update (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_redo_update_and_update_chain (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| INT16 |
heap_rv_remove_flags_from_offset (INT16 offset)
|
| int |
heap_rv_undo_delete (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_undo_insert (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_undo_ovf_update (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_undo_update (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_undoredo_pagehdr (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_undoredo_update (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_rv_update_chain_after_mvcc_op (THREAD_ENTRY * thread_p, LOG_RCV * rcv)
|
| int |
heap_scan_cache_allocate_area (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache_p, int size)
|
| SCAN_CODE |
heap_scan_get_visible_version (THREAD_ENTRY * thread_p, const OID * oid, OID * class_oid, RECDES * recdes, RECDES * forward_recdes, HEAP_SCANCACHE * scan_cache, int ispeeking, int old_chn)
|
| int |
heap_scancache_end (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
|
| void |
heap_scancache_end_modify (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
|
| int |
heap_scancache_end_when_scan_will_resume (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
|
| int |
heap_scancache_quick_start (HEAP_SCANCACHE * scan_cache)
|
| int |
heap_scancache_quick_start_modify (HEAP_SCANCACHE * scan_cache)
|
| int |
heap_scancache_quick_start_modify_with_class_oid (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, OID * class_oid)
|
| int |
heap_scancache_quick_start_root_hfid (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
|
| int |
heap_scancache_quick_start_with_class_hfid (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, const HFID * hfid)
|
| int |
heap_scancache_quick_start_with_class_oid (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, OID * class_oid)
|
| int |
heap_scancache_start (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, const HFID * hfid, const OID * class_oid, int cache_last_fix_page, MVCC_SNAPSHOT * mvcc_snapshot)
|
| int |
heap_scancache_start_modify (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, const HFID * hfid, const OID * class_oid, int op_type, MVCC_SNAPSHOT * mvcc_snapshot)
|
| void |
heap_scanrange_end (THREAD_ENTRY * thread_p, HEAP_SCANRANGE * scan_range)
|
| SCAN_CODE |
heap_scanrange_first (THREAD_ENTRY * thread_p, OID * first_oid, RECDES * recdes, HEAP_SCANRANGE * scan_range, int ispeeking)
|
| SCAN_CODE |
heap_scanrange_last (THREAD_ENTRY * thread_p, OID * last_oid, RECDES * recdes, HEAP_SCANRANGE * scan_range, int ispeeking)
|
| SCAN_CODE |
heap_scanrange_next (THREAD_ENTRY * thread_p, OID * next_oid, RECDES * recdes, HEAP_SCANRANGE * scan_range, int ispeeking)
|
| SCAN_CODE |
heap_scanrange_prev (THREAD_ENTRY * thread_p, OID * prev_oid, RECDES * recdes, HEAP_SCANRANGE * scan_range, int ispeeking)
|
| int |
heap_scanrange_start (THREAD_ENTRY * thread_p, HEAP_SCANRANGE * scan_range, const HFID * hfid, const OID * class_oid, MVCC_SNAPSHOT * mvcc_snapshot)
|
| SCAN_CODE |
heap_scanrange_to_following (THREAD_ENTRY * thread_p, HEAP_SCANRANGE * scan_range, OID * start_oid)
|
| SCAN_CODE |
heap_scanrange_to_prior (THREAD_ENTRY * thread_p, HEAP_SCANRANGE * scan_range, OID * last_oid)
|
| int |
heap_set_autoincrement_value (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, HEAP_SCANCACHE * scan_cache, int * is_set)
|
| int |
heap_set_mvcc_rec_header_on_overflow (PAGE_PTR ovf_page, MVCC_REC_HEADER * mvcc_header)
|
| bool |
heap_should_try_update_stat (const int current_freespace, const int prev_freespace)
|
| void |
heap_stats_update (THREAD_ENTRY * thread_p, PAGE_PTR pgptr, const HFID * hfid, int prev_freespace)
|
| int |
heap_update_logical (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
|
| int |
heap_vacuum_all_objects (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * upd_scancache, MVCCID threshold_mvccid)
|
| int |
heap_vpid_next (THREAD_ENTRY * thread_p, const HFID * hfid, PAGE_PTR pgptr, VPID * next_vpid)
|
| int |
heap_vpid_prev (THREAD_ENTRY * thread_p, const HFID * hfid, PAGE_PTR pgptr, VPID * prev_vpid)
|
| int |
heap_vpid_skip_next (THREAD_ENTRY * thread_p, const HFID * hfid, PGBUF_WATCHER * curr_page_watcher, PGBUF_WATCHER * old_page_watcher, int skip_cnt, VPID * vpid, HEAP_SCANCACHE * scan_cache)
|
| int |
xheap_get_class_num_objects_pages (THREAD_ENTRY * thread_p, const HFID * hfid, int approximation, int * nobjs, int * npages)
|
| int |
xheap_get_maxslotted_reclength (int & maxslotted_reclength)
|
| int |
xheap_has_instance (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, int has_visible_instance)
|
| int |
xheap_reclaim_addresses (THREAD_ENTRY * thread_p, const HFID * hfid)
|
Macros
| Type |
Name |
| define |
HEAP_DROP_FREE_SPACE ([**int**](broker__monitor_8c.md#function-timeout))([**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize) \* 0.3)
|
| define |
HEAP_HEADER_AND_CHAIN_SLOTID 0 /\* [**Slot**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) chain [**and**](broker__monitor_8c.md#function-timeout) header \*/
|
| define |
HEAP_HFID_HASH_SIZE 1000
|
| define |
HEAP_ISJUNK_OID (oid) /* multi line expression */
|
| define |
HEAP_ISVALID_OID (thread_p, oid) /* multi line expression */
|
| define |
HEAP_IS_UPDATE_INPLACE (update_inplace_style) (([**update\_inplace\_style**](heap__file_8h.md#enum-update_inplace_style)) != UPDATE\_INPLACE\_NONE)
|
| define |
HEAP_MAX_ALIGN [**INT\_ALIGNMENT**](memory__alloc_8h.md#define-int_alignment) /\* [**maximum**](broker__monitor_8c.md#function-timeout) alignment [**for**](dynamic__load_8c.md#function-for) heap record \*/
|
| define |
HEAP_SCANCACHE_SET_NODE (scan_cache, class_oid_p, hfid_p) /* multi line expression */
|
| define |
HEAP_SET_RECORD (recdes, record_area_size, record_length, record_type, record_data) /* multi line expression */
|
| define |
HFID_EQ (hfid_ptr1, hfid_ptr2) /* multi line expression */
|
| define |
heap_classrepr_free_and_init (class_repr, idxp) /* multi line expression */
|
Public Types Documentation
typedef FUNCTION_INDEX_INFO
typedef struct function_index_info FUNCTION_INDEX_INFO;
typedef FUNC_PRED_UNPACK_INFO
typedef struct func_pred_unpack_info FUNC_PRED_UNPACK_INFO;
typedef HEAP_BESTSPACE
typedef struct heap_bestspace HEAP_BESTSPACE;
typedef HEAP_GET_CONTEXT
typedef struct heap_get_context HEAP_GET_CONTEXT;
typedef HEAP_HFID_TABLE
typedef struct heap_hfid_table HEAP_HFID_TABLE;
typedef HEAP_HFID_TABLE_ENTRY
typedef struct heap_hfid_table_entry HEAP_HFID_TABLE_ENTRY;
typedef HEAP_IDX_ELEMENTS_INFO
typedef struct heap_idx_elements_info HEAP_IDX_ELEMENTS_INFO;
typedef HEAP_MVCC_DELETE_INFO
typedef struct heap_mvcc_delete_info HEAP_MVCC_DELETE_INFO;
typedef HEAP_OPERATION_CONTEXT
typedef struct heap_operation_context HEAP_OPERATION_CONTEXT;
enum HEAP_OPERATION_TYPE
enum HEAP_OPERATION_TYPE {
HEAP_OPERATION_NONE = 0,
HEAP_OPERATION_INSERT,
HEAP_OPERATION_DELETE,
HEAP_OPERATION_UPDATE
};
enum HEAP_PAGE_VACUUM_STATUS
enum HEAP_PAGE_VACUUM_STATUS {
HEAP_PAGE_VACUUM_NONE,
HEAP_PAGE_VACUUM_ONCE,
HEAP_PAGE_VACUUM_UNKNOWN
};
typedef HEAP_SCANCACHE
typedef struct heap_scancache HEAP_SCANCACHE;
typedef HEAP_SCANCACHE_NODE
typedef struct heap_scancache_node HEAP_SCANCACHE_NODE;
typedef HEAP_SCANCACHE_NODE_LIST
typedef struct heap_scancache_node_list HEAP_SCANCACHE_NODE_LIST;
typedef HEAP_SCANRANGE
typedef struct heap_scanrange HEAP_SCANRANGE;
typedef SAMPLING_INFO
typedef struct sampling_info SAMPLING_INFO;
enum SNAPSHOT_TYPE
enum SNAPSHOT_TYPE {
SNAPSHOT_TYPE_NONE,
SNAPSHOT_TYPE_MVCC,
SNAPSHOT_TYPE_DIRTY
};
typedef UPDATE_INPLACE_STYLE
typedef enum update_inplace_style UPDATE_INPLACE_STYLE;
enum heap__file_8h_1ab98c672c5aaffb98a9189cd99e58ff23
enum heap__file_8h_1ab98c672c5aaffb98a9189cd99e58ff23 {
END_SCAN,
CONTINUE_SCAN
};
enum update_inplace_style
enum update_inplace_style {
UPDATE_INPLACE_NONE = 0,
UPDATE_INPLACE_CURRENT_MVCCID = 1,
UPDATE_INPLACE_OLD_MVCCID = 2
};
Public Attributes Documentation
int mvcc_header_size_lookup[8];
Public Functions Documentation
function heap_alloc_new_page
int heap_alloc_new_page (
THREAD_ENTRY * thread_p,
HFID * hfid,
OID class_oid,
PGBUF_WATCHER * home_hint_p,
VPID * new_page_vpid
)
function heap_assign_address
int heap_assign_address (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * oid,
int expected_length
)
function heap_attrinfo_access
DB_VALUE * heap_attrinfo_access (
ATTR_ID attrid,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_check_unique_index
bool heap_attrinfo_check_unique_index (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info,
ATTR_ID * att_id,
int n_att_id
)
function heap_attrinfo_clear_dbvalues
int heap_attrinfo_clear_dbvalues (
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_delete_lob
int heap_attrinfo_delete_lob (
THREAD_ENTRY * thread_p,
RECDES * recdes,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_dump
void heap_attrinfo_dump (
THREAD_ENTRY * thread_p,
FILE * fp,
HEAP_CACHE_ATTRINFO * attr_info,
bool dump_schema
)
function heap_attrinfo_end
void heap_attrinfo_end (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_generate_key
DB_VALUE * heap_attrinfo_generate_key (
THREAD_ENTRY * thread_p,
int n_atts,
int * att_ids,
int * atts_prefix_length,
HEAP_CACHE_ATTRINFO * attr_info,
RECDES * recdes,
DB_VALUE * dbvalue,
char * buf,
FUNCTION_INDEX_INFO * func_index_info,
TP_DOMAIN * midxkey_domain,
OID * cur_oid
)
function heap_attrinfo_read_dbvalues
int heap_attrinfo_read_dbvalues (
THREAD_ENTRY * thread_p,
const OID * inst_oid,
RECDES * recdes,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_read_dbvalues_without_oid
int heap_attrinfo_read_dbvalues_without_oid (
THREAD_ENTRY * thread_p,
RECDES * recdes,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_set
int heap_attrinfo_set (
const OID * inst_oid,
ATTR_ID attrid,
DB_VALUE * attr_val,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_set_uninitialized_global
int heap_attrinfo_set_uninitialized_global (
THREAD_ENTRY * thread_p,
OID * inst_oid,
RECDES * recdes,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_start
int heap_attrinfo_start (
THREAD_ENTRY * thread_p,
const OID * class_oid,
int requested_num_attrs,
const ATTR_ID * attrid,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_start_with_btid
int heap_attrinfo_start_with_btid (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_attrinfo_start_with_index
int heap_attrinfo_start_with_index (
THREAD_ENTRY * thread_p,
OID * class_oid,
RECDES * class_recdes,
HEAP_CACHE_ATTRINFO * attr_info,
HEAP_IDX_ELEMENTS_INFO * idx_info,
bool is_check_foreign
)
SCAN_CODE heap_attrinfo_transform_to_disk (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info,
RECDES * old_recdes,
record_descriptor * new_recdes
)
SCAN_CODE heap_attrinfo_transform_to_disk_except_lob (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info,
RECDES * old_recdes,
record_descriptor * new_recdes
)
function heap_attrvalue_get_index
DB_VALUE * heap_attrvalue_get_index (
int value_index,
ATTR_ID * attrid,
int * n_btids,
BTID ** btids,
HEAP_CACHE_ATTRINFO * idx_attrinfo
)
function heap_attrvalue_get_key
DB_VALUE * heap_attrvalue_get_key (
THREAD_ENTRY * thread_p,
int btid_index,
HEAP_CACHE_ATTRINFO * idx_attrinfo,
RECDES * recdes,
BTID * btid,
DB_VALUE * db_value,
char * buf,
FUNC_PRED_UNPACK_INFO * func_indx_preds,
TP_DOMAIN ** key_domain,
OID * rec_oid,
bool is_check_foreign
)
function heap_attrvalue_locate
HEAP_ATTRVALUE * heap_attrvalue_locate (
ATTR_ID attrid,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_cache_class_info
int heap_cache_class_info (
THREAD_ENTRY * thread_p,
const OID * class_oid,
HFID * hfid,
FILE_TYPE ftype,
const char * classname_in
)
function heap_capacity_next_scan
SCAN_CODE heap_capacity_next_scan (
THREAD_ENTRY * thread_p,
int cursor,
DB_VALUE ** out_values,
int out_cnt,
void * ptr
)
function heap_check_all_heaps
DISK_ISVALID heap_check_all_heaps (
THREAD_ENTRY * thread_p
)
function heap_check_all_pages
DISK_ISVALID heap_check_all_pages (
THREAD_ENTRY * thread_p,
HFID * hfid
)
function heap_check_heap_file
DISK_ISVALID heap_check_heap_file (
THREAD_ENTRY * thread_p,
HFID * hfid
)
function heap_chnguess_clear
void heap_chnguess_clear (
THREAD_ENTRY * thread_p,
int tran_index
)
function heap_chnguess_dump
void heap_chnguess_dump (
FILE * fp
)
function heap_chnguess_get
int heap_chnguess_get (
THREAD_ENTRY * thread_p,
const OID * oid,
int tran_index
)
function heap_chnguess_put
int heap_chnguess_put (
THREAD_ENTRY * thread_p,
const OID * oid,
int tran_index,
int chn
)
function heap_classrepr_decache
int heap_classrepr_decache (
THREAD_ENTRY * thread_p,
const OID * class_oid
)
function heap_classrepr_dump_all
void heap_classrepr_dump_all (
THREAD_ENTRY * thread_p,
FILE * fp,
OID * class_oid
)
function heap_classrepr_find_index_id
int heap_classrepr_find_index_id (
OR_CLASSREP * classrepr,
const BTID * btid
)
function heap_classrepr_free
int heap_classrepr_free (
OR_CLASSREP * classrep,
int * idx_incache
)
function heap_classrepr_get
OR_CLASSREP * heap_classrepr_get (
THREAD_ENTRY * thread_p,
const OID * class_oid,
RECDES * class_recdes,
REPR_ID reprid,
int * idx_incache
)
function heap_classrepr_restart_cache
int heap_classrepr_restart_cache (
void
)
function heap_clean_get_context
void heap_clean_get_context (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context
)
function heap_clear_partition_info
void heap_clear_partition_info (
THREAD_ENTRY * thread_p,
OR_PARTITION * parts,
int parts_count
)
function heap_cmp
int heap_cmp (
THREAD_ENTRY * thread_p,
const OID * oid,
RECDES * recdes
)
function heap_compact_pages
int heap_compact_pages (
THREAD_ENTRY * thread_p,
OID * class_oid
)
function heap_create_delete_context
void heap_create_delete_context (
HEAP_OPERATION_CONTEXT * context,
HFID * hfid_p,
OID * oid_p,
OID * class_oid_p,
HEAP_SCANCACHE * scancache_p
)
function heap_create_insert_context
void heap_create_insert_context (
HEAP_OPERATION_CONTEXT * context,
HFID * hfid_p,
OID * class_oid_p,
RECDES * recdes_p,
HEAP_SCANCACHE * scancache_p
)
function heap_create_update_context
void heap_create_update_context (
HEAP_OPERATION_CONTEXT * context,
HFID * hfid_p,
OID * oid_p,
OID * class_oid_p,
RECDES * recdes_p,
HEAP_SCANCACHE * scancache_p,
UPDATE_INPLACE_STYLE in_place
)
function heap_delete_hfid_from_cache
int heap_delete_hfid_from_cache (
THREAD_ENTRY * thread_p,
OID * class_oid
)
function heap_delete_logical
int heap_delete_logical (
THREAD_ENTRY * thread_p,
HEAP_OPERATION_CONTEXT * context
)
function heap_does_exist
bool heap_does_exist (
THREAD_ENTRY * thread_p,
OID * class_oid,
const OID * oid
)
function heap_dump
void heap_dump (
THREAD_ENTRY * thread_p,
FILE * fp,
HFID * hfid,
bool dump_records
)
function heap_dump_capacity
int heap_dump_capacity (
THREAD_ENTRY * thread_p,
FILE * fp,
const HFID * hfid
)
function heap_dump_heap_file
int heap_dump_heap_file (
THREAD_ENTRY * thread_p,
FILE * fp,
bool dump_records,
const char * class_name
)
function heap_estimate
int heap_estimate (
THREAD_ENTRY * thread_p,
const HFID * hfid,
int * npages,
int * nobjs,
int * avg_length
)
function heap_estimate_num_objects
int heap_estimate_num_objects (
THREAD_ENTRY * thread_p,
const HFID * hfid
)
function heap_finalize_hfid_table
void heap_finalize_hfid_table (
void
)
function heap_first
SCAN_CODE heap_first (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking
)
function heap_flush
void heap_flush (
THREAD_ENTRY * thread_p,
const OID * oid
)
function heap_free_func_pred_unpack_info
void heap_free_func_pred_unpack_info (
THREAD_ENTRY * thread_p,
int n_indexes,
FUNC_PRED_UNPACK_INFO * func_indx_preds,
int * attr_info_started
)
function heap_get_best_space_num_stats_entries
int heap_get_best_space_num_stats_entries (
void
)
function heap_get_btid_from_index_name
int heap_get_btid_from_index_name (
THREAD_ENTRY * thread_p,
const OID * p_class_oid,
const char * index_name,
BTID * p_found_btid
)
function heap_get_class_info
int heap_get_class_info (
THREAD_ENTRY * thread_p,
const OID * class_oid,
HFID * hfid_out,
FILE_TYPE * ftype_out,
char ** classname_out
)
function heap_get_class_name
int heap_get_class_name (
THREAD_ENTRY * thread_p,
const OID * class_oid,
char ** class_name
)
function heap_get_class_name_alloc_if_diff
int heap_get_class_name_alloc_if_diff (
THREAD_ENTRY * thread_p,
const OID * class_oid,
char * guess_classname,
char ** class_name_out
)
function heap_get_class_name_with_is_class
char * heap_get_class_name_with_is_class (
THREAD_ENTRY * thread_p,
const OID * oid,
int * isclass
)
function heap_get_class_oid
SCAN_CODE heap_get_class_oid (
THREAD_ENTRY * thread_p,
const OID * oid,
OID * class_oid
)
function heap_get_class_oid_from_page
int heap_get_class_oid_from_page (
THREAD_ENTRY * thread_p,
PAGE_PTR page_p,
OID * class_oid
)
function heap_get_class_partitions
int heap_get_class_partitions (
THREAD_ENTRY * thread_p,
const OID * class_oid,
OR_PARTITION ** parts,
int * parts_count
)
function heap_get_class_record
SCAN_CODE heap_get_class_record (
THREAD_ENTRY * thread_p,
const OID * class_oid,
RECDES * recdes_p,
HEAP_SCANCACHE * scan_cache,
int ispeeking
)
function heap_get_class_repr_id
REPR_ID heap_get_class_repr_id (
THREAD_ENTRY * thread_p,
OID * class_oid
)
function heap_get_class_supers
int heap_get_class_supers (
THREAD_ENTRY * thread_p,
const OID * class_oid,
OID ** super_oids,
int * count
)
function heap_get_class_tde_algorithm
int heap_get_class_tde_algorithm (
THREAD_ENTRY * thread_p,
const OID * class_oid,
TDE_ALGORITHM * tde_algo
)
function heap_get_compress_attr_by_btid
int heap_get_compress_attr_by_btid (
THREAD_ENTRY * thread_p,
OID * class_oid,
BTID * btid,
ATTR_ID * last_attrid,
int * last_asc_desc,
TP_DOMAIN ** tpdomain
)
function heap_get_hfid_from_vfid
int heap_get_hfid_from_vfid (
THREAD_ENTRY * thread_p,
const VFID * vfid,
HFID * hfid
)
function heap_get_hfid_if_cached
int heap_get_hfid_if_cached (
THREAD_ENTRY * thread_p,
const OID * class_oid,
HFID * hfid_out,
FILE_TYPE * ftype_out,
char ** classname_out,
bool * success
)
function heap_get_index_with_name
int heap_get_index_with_name (
THREAD_ENTRY * thread_p,
OID * class_oid,
const char * index_name,
BTID * btid
)
function heap_get_indexinfo_of_btid
int heap_get_indexinfo_of_btid (
THREAD_ENTRY * thread_p,
const OID * class_oid,
const BTID * btid,
BTREE_TYPE * type,
int * num_attrs,
ATTR_ID ** attr_ids,
int ** attrs_prefix_length,
char ** btnamepp,
int * func_index_col_id
)
function heap_get_last_version
SCAN_CODE heap_get_last_version (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context
)
SCAN_CODE heap_get_mvcc_header (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context,
MVCC_REC_HEADER * mvcc_header
)
int heap_get_mvcc_rec_header_from_overflow (
PAGE_PTR ovf_page,
MVCC_REC_HEADER * mvcc_header,
RECDES * peek_recdes
)
function heap_get_num_objects
int heap_get_num_objects (
THREAD_ENTRY * thread_p,
const HFID * hfid,
int * npages,
int * nobjs,
int * avg_length
)
function heap_get_record_data_when_all_ready
SCAN_CODE heap_get_record_data_when_all_ready (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context
)
function heap_get_referenced_by
int heap_get_referenced_by (
THREAD_ENTRY * thread_p,
OID * class_oid,
const OID * obj_oid,
RECDES * obj,
int * max_oid_cnt,
OID ** oid_list
)
function heap_get_visible_version
SCAN_CODE heap_get_visible_version (
THREAD_ENTRY * thread_p,
const OID * oid,
OID * class_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
int old_chn
)
function heap_get_visible_version_internal
SCAN_CODE heap_get_visible_version_internal (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context,
bool is_heap_scan
)
int heap_header_capacity_end_scan (
THREAD_ENTRY * thread_p,
void ** ptr
)
int heap_header_capacity_start_scan (
THREAD_ENTRY * thread_p,
int show_type,
DB_VALUE ** arg_values,
int arg_cnt,
void ** ptr
)
SCAN_CODE heap_header_next_scan (
THREAD_ENTRY * thread_p,
int cursor,
DB_VALUE ** out_values,
int out_cnt,
void * ptr
)
function heap_indexinfo_get_attrids
int heap_indexinfo_get_attrids (
int btid_index,
HEAP_CACHE_ATTRINFO * attrinfo,
ATTR_ID * attrids
)
function heap_indexinfo_get_attrs_prefix_length
int heap_indexinfo_get_attrs_prefix_length (
int btid_index,
HEAP_CACHE_ATTRINFO * attrinfo,
int * attrs_prefix_length,
int len_attrs_prefix_length
)
function heap_indexinfo_get_btid
BTID * heap_indexinfo_get_btid (
int btid_index,
HEAP_CACHE_ATTRINFO * attrinfo
)
function heap_indexinfo_get_num_attrs
int heap_indexinfo_get_num_attrs (
int btid_index,
HEAP_CACHE_ATTRINFO * attrinfo
)
function heap_init_func_pred_unpack_info
int heap_init_func_pred_unpack_info (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info,
const OID * class_oid,
FUNC_PRED_UNPACK_INFO ** func_indx_preds
)
function heap_init_get_context
void heap_init_get_context (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context,
const OID * oid,
OID * class_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
int old_chn
)
function heap_initialize_hfid_table
int heap_initialize_hfid_table (
void
)
function heap_insert_logical
int heap_insert_logical (
THREAD_ENTRY * thread_p,
HEAP_OPERATION_CONTEXT * context,
PGBUF_WATCHER * home_hint_p
)
function heap_is_big_length
bool heap_is_big_length (
int length
)
function heap_is_object_not_null
bool heap_is_object_not_null (
THREAD_ENTRY * thread_p,
OID * class_oid,
const OID * oid
)
bool heap_is_page_header (
THREAD_ENTRY * thread_p,
PAGE_PTR page
)
function heap_last
SCAN_CODE heap_last (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking
)
function heap_locate_last_attrepr
OR_ATTRIBUTE * heap_locate_last_attrepr (
ATTR_ID attrid,
HEAP_CACHE_ATTRINFO * attr_info
)
function heap_log_postpone_heap_append_pages
void heap_log_postpone_heap_append_pages (
THREAD_ENTRY * thread_p,
const HFID * hfid,
const OID * class_oid,
const std::vector< VPID > & heap_pages_array
)
function heap_manager_finalize
int heap_manager_finalize (
void
)
function heap_manager_initialize
int heap_manager_initialize (
void
)
function heap_next
SCAN_CODE heap_next (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * next_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking
)
function heap_next_1page
SCAN_CODE heap_next_1page (
THREAD_ENTRY * thread_p,
const HFID * hfid,
const VPID * vpid,
OID * class_oid,
OID * next_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking
)
function heap_next_record_info
SCAN_CODE heap_next_record_info (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * next_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
DB_VALUE ** cache_recordinfo
)
function heap_next_sampling
SCAN_CODE heap_next_sampling (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * next_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
sampling_info * sampling
)
int heap_nonheader_page_capacity ()
function heap_object_upgrade_domain
int heap_object_upgrade_domain (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * upd_scancache,
HEAP_CACHE_ATTRINFO * attr_info,
OID * oid,
const ATTR_ID att_id
)
function heap_ovf_delete
const OID * heap_ovf_delete (
THREAD_ENTRY * thread_p,
const HFID * hfid,
const OID * ovf_oid,
VFID * ovf_vfid_p
)
function heap_ovf_find_vfid
VFID * heap_ovf_find_vfid (
THREAD_ENTRY * thread_p,
const HFID * hfid,
VFID * ovf_vfid,
bool create,
PGBUF_LATCH_CONDITION latch_cond
)
function heap_page_get_max_mvccid
MVCCID heap_page_get_max_mvccid (
THREAD_ENTRY * thread_p,
PAGE_PTR heap_page
)
function heap_page_get_vacuum_status
HEAP_PAGE_VACUUM_STATUS heap_page_get_vacuum_status (
THREAD_ENTRY * thread_p,
PAGE_PTR heap_page
)
function heap_page_next
SCAN_CODE heap_page_next (
THREAD_ENTRY * thread_p,
const OID * class_oid,
const HFID * hfid,
VPID * next_vpid,
DB_VALUE ** cache_pageinfo
)
function heap_page_next_fix_old
SCAN_CODE heap_page_next_fix_old (
THREAD_ENTRY * thread_p,
HFID * hfid,
VPID * curr_vpid,
HEAP_SCANCACHE * scan_cache
)
function heap_page_prev
SCAN_CODE heap_page_prev (
THREAD_ENTRY * thread_p,
const OID * class_oid,
const HFID * hfid,
VPID * prev_vpid,
DB_VALUE ** cache_pageinfo
)
function heap_page_set_vacuum_status_none
void heap_page_set_vacuum_status_none (
THREAD_ENTRY * thread_p,
PAGE_PTR heap_page
)
function heap_prefetch
int heap_prefetch (
THREAD_ENTRY * thread_p,
OID * class_oid,
const OID * oid,
LC_COPYAREA_DESC * prefetch
)
function heap_prepare_get_context
SCAN_CODE heap_prepare_get_context (
THREAD_ENTRY * thread_p,
HEAP_GET_CONTEXT * context,
bool is_heap_scan,
NON_EXISTENT_HANDLING non_ex_handling_type
)
function heap_prepare_object_page
int heap_prepare_object_page (
THREAD_ENTRY * thread_p,
const OID * oid,
PGBUF_WATCHER * page_watcher_p,
PGBUF_LATCH_MODE latch_mode
)
function heap_prev
SCAN_CODE heap_prev (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * prev_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking
)
function heap_prev_record_info
SCAN_CODE heap_prev_record_info (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
OID * next_oid,
RECDES * recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
DB_VALUE ** cache_recordinfo
)
function heap_remove_page_on_vacuum
bool heap_remove_page_on_vacuum (
THREAD_ENTRY * thread_p,
PAGE_PTR * page_ptr,
HFID * hfid
)
function heap_rv_dump_append_pages_to_heap
void heap_rv_dump_append_pages_to_heap (
FILE * fp,
int length,
void * data
)
function heap_rv_dump_chain
void heap_rv_dump_chain (
FILE * fp,
int ignore_length,
void * data
)
function heap_rv_dump_reuse_page
void heap_rv_dump_reuse_page (
FILE * fp,
int ignore_length,
void * data
)
function heap_rv_dump_statistics
void heap_rv_dump_statistics (
FILE * fp,
int ignore_length,
void * data
)
function heap_rv_lob_remove_dir
int heap_rv_lob_remove_dir (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mark_deleted_on_postpone
int heap_rv_mark_deleted_on_postpone (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mark_deleted_on_undo
int heap_rv_mark_deleted_on_undo (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_redo_delete_home
int heap_rv_mvcc_redo_delete_home (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_redo_delete_newhome
int heap_rv_mvcc_redo_delete_newhome (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_redo_delete_overflow
int heap_rv_mvcc_redo_delete_overflow (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_redo_insert
int heap_rv_mvcc_redo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_redo_redistribute
int heap_rv_mvcc_redo_redistribute (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_undo_delete
int heap_rv_mvcc_undo_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_mvcc_undo_delete_overflow
int heap_rv_mvcc_undo_delete_overflow (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_nop
int heap_rv_nop (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_postpone_append_pages_to_heap
int heap_rv_postpone_append_pages_to_heap (
THREAD_ENTRY * thread_p,
LOG_RCV * recv
)
function heap_rv_redo_delete
int heap_rv_redo_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_insert
int heap_rv_redo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_mark_reusable_slot
int heap_rv_redo_mark_reusable_slot (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_newpage
int heap_rv_redo_newpage (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_newpage_reuse_oid
int heap_rv_redo_newpage_reuse_oid (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_reuse_page
int heap_rv_redo_reuse_page (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_reuse_page_reuse_oid
int heap_rv_redo_reuse_page_reuse_oid (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_update
int heap_rv_redo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_redo_update_and_update_chain
int heap_rv_redo_update_and_update_chain (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_remove_flags_from_offset
INT16 heap_rv_remove_flags_from_offset (
INT16 offset
)
function heap_rv_undo_delete
int heap_rv_undo_delete (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_undo_insert
int heap_rv_undo_insert (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_undo_ovf_update
int heap_rv_undo_ovf_update (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_undo_update
int heap_rv_undo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_undoredo_pagehdr
int heap_rv_undoredo_pagehdr (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_undoredo_update
int heap_rv_undoredo_update (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_rv_update_chain_after_mvcc_op
int heap_rv_update_chain_after_mvcc_op (
THREAD_ENTRY * thread_p,
LOG_RCV * rcv
)
function heap_scan_cache_allocate_area
int heap_scan_cache_allocate_area (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache_p,
int size
)
function heap_scan_get_visible_version
SCAN_CODE heap_scan_get_visible_version (
THREAD_ENTRY * thread_p,
const OID * oid,
OID * class_oid,
RECDES * recdes,
RECDES * forward_recdes,
HEAP_SCANCACHE * scan_cache,
int ispeeking,
int old_chn
)
function heap_scancache_end
int heap_scancache_end (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache
)
function heap_scancache_end_modify
void heap_scancache_end_modify (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache
)
function heap_scancache_end_when_scan_will_resume
int heap_scancache_end_when_scan_will_resume (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache
)
function heap_scancache_quick_start
int heap_scancache_quick_start (
HEAP_SCANCACHE * scan_cache
)
function heap_scancache_quick_start_modify
int heap_scancache_quick_start_modify (
HEAP_SCANCACHE * scan_cache
)
function heap_scancache_quick_start_modify_with_class_oid
int heap_scancache_quick_start_modify_with_class_oid (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
OID * class_oid
)
function heap_scancache_quick_start_root_hfid
int heap_scancache_quick_start_root_hfid (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache
)
function heap_scancache_quick_start_with_class_hfid
int heap_scancache_quick_start_with_class_hfid (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
const HFID * hfid
)
function heap_scancache_quick_start_with_class_oid
int heap_scancache_quick_start_with_class_oid (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
OID * class_oid
)
function heap_scancache_start
int heap_scancache_start (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
const HFID * hfid,
const OID * class_oid,
int cache_last_fix_page,
MVCC_SNAPSHOT * mvcc_snapshot
)
function heap_scancache_start_modify
int heap_scancache_start_modify (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
const HFID * hfid,
const OID * class_oid,
int op_type,
MVCC_SNAPSHOT * mvcc_snapshot
)
function heap_scanrange_end
void heap_scanrange_end (
THREAD_ENTRY * thread_p,
HEAP_SCANRANGE * scan_range
)
function heap_scanrange_first
SCAN_CODE heap_scanrange_first (
THREAD_ENTRY * thread_p,
OID * first_oid,
RECDES * recdes,
HEAP_SCANRANGE * scan_range,
int ispeeking
)
function heap_scanrange_last
SCAN_CODE heap_scanrange_last (
THREAD_ENTRY * thread_p,
OID * last_oid,
RECDES * recdes,
HEAP_SCANRANGE * scan_range,
int ispeeking
)
function heap_scanrange_next
SCAN_CODE heap_scanrange_next (
THREAD_ENTRY * thread_p,
OID * next_oid,
RECDES * recdes,
HEAP_SCANRANGE * scan_range,
int ispeeking
)
function heap_scanrange_prev
SCAN_CODE heap_scanrange_prev (
THREAD_ENTRY * thread_p,
OID * prev_oid,
RECDES * recdes,
HEAP_SCANRANGE * scan_range,
int ispeeking
)
function heap_scanrange_start
int heap_scanrange_start (
THREAD_ENTRY * thread_p,
HEAP_SCANRANGE * scan_range,
const HFID * hfid,
const OID * class_oid,
MVCC_SNAPSHOT * mvcc_snapshot
)
function heap_scanrange_to_following
SCAN_CODE heap_scanrange_to_following (
THREAD_ENTRY * thread_p,
HEAP_SCANRANGE * scan_range,
OID * start_oid
)
function heap_scanrange_to_prior
SCAN_CODE heap_scanrange_to_prior (
THREAD_ENTRY * thread_p,
HEAP_SCANRANGE * scan_range,
OID * last_oid
)
function heap_set_autoincrement_value
int heap_set_autoincrement_value (
THREAD_ENTRY * thread_p,
HEAP_CACHE_ATTRINFO * attr_info,
HEAP_SCANCACHE * scan_cache,
int * is_set
)
int heap_set_mvcc_rec_header_on_overflow (
PAGE_PTR ovf_page,
MVCC_REC_HEADER * mvcc_header
)
function heap_should_try_update_stat
bool heap_should_try_update_stat (
const int current_freespace,
const int prev_freespace
)
function heap_stats_update
void heap_stats_update (
THREAD_ENTRY * thread_p,
PAGE_PTR pgptr,
const HFID * hfid,
int prev_freespace
)
function heap_update_logical
int heap_update_logical (
THREAD_ENTRY * thread_p,
HEAP_OPERATION_CONTEXT * context
)
function heap_vacuum_all_objects
int heap_vacuum_all_objects (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * upd_scancache,
MVCCID threshold_mvccid
)
function heap_vpid_next
int heap_vpid_next (
THREAD_ENTRY * thread_p,
const HFID * hfid,
PAGE_PTR pgptr,
VPID * next_vpid
)
function heap_vpid_prev
int heap_vpid_prev (
THREAD_ENTRY * thread_p,
const HFID * hfid,
PAGE_PTR pgptr,
VPID * prev_vpid
)
function heap_vpid_skip_next
int heap_vpid_skip_next (
THREAD_ENTRY * thread_p,
const HFID * hfid,
PGBUF_WATCHER * curr_page_watcher,
PGBUF_WATCHER * old_page_watcher,
int skip_cnt,
VPID * vpid,
HEAP_SCANCACHE * scan_cache
)
function xheap_get_class_num_objects_pages
int xheap_get_class_num_objects_pages (
THREAD_ENTRY * thread_p,
const HFID * hfid,
int approximation,
int * nobjs,
int * npages
)
function xheap_get_maxslotted_reclength
int xheap_get_maxslotted_reclength (
int & maxslotted_reclength
)
function xheap_has_instance
int xheap_has_instance (
THREAD_ENTRY * thread_p,
const HFID * hfid,
OID * class_oid,
int has_visible_instance
)
function xheap_reclaim_addresses
int xheap_reclaim_addresses (
THREAD_ENTRY * thread_p,
const HFID * hfid
)
Macro Definition Documentation
define HEAP_DROP_FREE_SPACE
#define HEAP_DROP_FREE_SPACE `( int )( DB_PAGESIZE * 0.3)`
define HEAP_HEADER_AND_CHAIN_SLOTID
#define HEAP_HEADER_AND_CHAIN_SLOTID `0 /* Slot for chain and header */`
define HEAP_HFID_HASH_SIZE
#define HEAP_HFID_HASH_SIZE `1000`
define HEAP_ISJUNK_OID
#define HEAP_ISJUNK_OID (
oid
) `/* multi line expression */`
define HEAP_ISVALID_OID
#define HEAP_ISVALID_OID (
thread_p,
oid
) `/* multi line expression */`
define HEAP_IS_UPDATE_INPLACE
#define HEAP_IS_UPDATE_INPLACE (
update_inplace_style
) `(( update_inplace_style ) != UPDATE_INPLACE_NONE )`
define HEAP_MAX_ALIGN
#define HEAP_MAX_ALIGN `INT_ALIGNMENT /* maximum alignment for heap record */`
define HEAP_SCANCACHE_SET_NODE
#define HEAP_SCANCACHE_SET_NODE (
scan_cache,
class_oid_p,
hfid_p
) `/* multi line expression */`
define HEAP_SET_RECORD
#define HEAP_SET_RECORD (
recdes,
record_area_size,
record_length,
record_type,
record_data
) `/* multi line expression */`
define HFID_EQ
#define HFID_EQ (
hfid_ptr1,
hfid_ptr2
) `/* multi line expression */`
define heap_classrepr_free_and_init
#define heap_classrepr_free_and_init (
class_repr,
idxp
) `/* multi line expression */`
The documentation for this class was generated from the following file cubrid/src/storage/heap_file.h