Skip to content

File heap_file.c

FileList > cubrid > src > storage > heap_file.c

Go to the source code of this file

  • #include <inttypes.h>
  • #include "config.h"
  • #include <stdio.h>
  • #include <string.h>
  • #include <errno.h>
  • #include "heap_file.h"
  • #include "deduplicate_key.h"
  • #include "porting.h"
  • #include "porting_inline.hpp"
  • #include "record_descriptor.hpp"
  • #include "slotted_page.h"
  • #include "overflow_file.h"
  • #include "boot_sr.h"
  • #include "locator_sr.h"
  • #include "btree.h"
  • #include "btree_unique.hpp"
  • #include "schema_system_catalog_constants.h"
  • #include "transform.h"
  • #include "serial.h"
  • #include "object_primitive.h"
  • #include "object_representation.h"
  • #include "object_representation_sr.h"
  • #include "xserver_interface.h"
  • #include "chartype.h"
  • #include "query_executor.h"
  • #include "fetch.h"
  • #include "server_interface.h"
  • #include "elo.h"
  • #include "db_elo.h"
  • #include "string_opfunc.h"
  • #include "xasl.h"
  • #include "xasl_unpack_info.hpp"
  • #include "stream_to_xasl.h"
  • #include "query_opfunc.h"
  • #include "set_object.h"
  • #include "dbtype.h"
  • #include "thread_manager.hpp"
  • #include "db_value_printer.hpp"
  • #include "log_append.hpp"
  • #include "string_buffer.hpp"
  • #include "tde.h"
  • #include <set>
  • #include "memory_wrapper.hpp"

Classes

Type Name
struct heap_chain
struct heap_chk_relocoid
struct heap_chkall_relocoids
struct heap_chnguess
struct heap_chnguess_entry
struct heap_classrepr_LRU_list
struct heap_classrepr_cache
struct heap_classrepr_entry
struct heap_classrepr_free_list
struct heap_classrepr_hash
struct heap_classrepr_lock
struct heap_hdr_stats
struct heap_show_scan_ctx
struct heap_stats_bestspace_cache
struct heap_stats_entry

Public Types

Type Name
typedef struct heap_chain HEAP_CHAIN
typedef struct heap_chkall_relocoids HEAP_CHKALL_RELOCOIDS
typedef struct heap_chk_relocoid HEAP_CHK_RELOCOID
typedef struct heap_chnguess HEAP_CHNGUESS
typedef struct heap_chnguess_entry HEAP_CHNGUESS_ENTRY
typedef struct heap_classrepr_cache HEAP_CLASSREPR_CACHE
typedef struct heap_classrepr_entry HEAP_CLASSREPR_ENTRY
typedef struct heap_classrepr_free_list HEAP_CLASSREPR_FREE_LIST
typedef struct heap_classrepr_hash HEAP_CLASSREPR_HASH
typedef struct heap_classrepr_lock HEAP_CLASSREPR_LOCK
typedef struct heap_classrepr_LRU_list HEAP_CLASSREPR_LRU_LIST
enum HEAP_DIRECTION
enum HEAP_FINDSPACE
typedef struct heap_hdr_stats HEAP_HDR_STATS
typedef struct heap_show_scan_ctx HEAP_SHOW_SCAN_CTX
typedef struct heap_stats_bestspace_cache HEAP_STATS_BESTSPACE_CACHE
typedef struct heap_stats_entry HEAP_STATS_ENTRY
enum heap__file_8c_1a425be5f49e9c31d8d13d53190a3e7bc2
enum heap__file_8c_1ac72f7803394f05658258f8a2b76f53aa

Public Static Attributes

Type Name
const cubmem::block_allocator HEAP_SCANCACHE_BLOCK_ALLOCATOR = /* multi line expression */
HEAP_STATS_BESTSPACE_CACHE * heap_Bestspace = [**NULL**](freelistheap_8h.md#define-null)
HEAP_STATS_BESTSPACE_CACHE heap_Bestspace_cache_area = { 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), 0, [**NULL**](freelistheap_8h.md#define-null), [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout) }
HEAP_CLASSREPR_CACHE * heap_Classrepr = [**NULL**](freelistheap_8h.md#define-null)
HEAP_CLASSREPR_CACHE heap_Classrepr_cache = /* multi line expression */
const int heap_Find_best_page_limit = 100
HEAP_CHNGUESS * heap_Guesschn = [**NULL**](freelistheap_8h.md#define-null)
HEAP_CHNGUESS heap_Guesschn_area = /* multi line expression */
HEAP_HFID_TABLE * heap_Hfid_table = [**NULL**](freelistheap_8h.md#define-null)
HEAP_HFID_TABLE heap_Hfid_table_area = /* multi line expression */
int heap_Maxslotted_reclength
int heap_Slotted_overhead = 4

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 * db_valuep, 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 * attrids, 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_pred, 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)
void heap_classrepr_logging_template (const char * filename, const int line, ErF && er_f, const char * msg, Args &&... args)
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 ** classname_out)
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 * recdes, 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 docreate, 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 * next_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 * ignore_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_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 * peeked_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_create (THREAD_ENTRY * thread_p, HFID * hfid, const OID * class_oid, bool reuse_oid)
int xheap_destroy (THREAD_ENTRY * thread_p, const HFID * hfid, const OID * class_oid)
int xheap_destroy_newly_created (THREAD_ENTRY * thread_p, const HFID * hfid, const OID * class_oid, const bool force)
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)

Public Static Functions

Type Name
bool check_supplemental_log (THREAD_ENTRY * thread_p, OID * classoid)
int fill_string_to_buffer (char ** start, char * end, const char * str)
int heap_add_chain_links (THREAD_ENTRY * thread_p, const HFID * hfid, const VPID * vpid, const VPID * next_link, const VPID * prev_link, PGBUF_WATCHER * page_watcher, bool keep_page_fixed, bool is_page_watcher_inited)
int heap_attrinfo_check (const OID * inst_oid, HEAP_CACHE_ATTRINFO * attr_info)
size_t heap_attrinfo_determine_disksize (HEAP_CACHE_ATTRINFO * attr_info, bool is_mvcc_class, size_t * offset_size_ptr)
int heap_attrinfo_get_record_header_size (HEAP_CACHE_ATTRINFO * attr_info, int payload_size, bool is_mvcc_class, size_t * offset_size_ptr)
int heap_attrinfo_get_record_payload_size (HEAP_CACHE_ATTRINFO * attr_info)
int heap_attrinfo_recache (THREAD_ENTRY * thread_p, REPR_ID reprid, HEAP_CACHE_ATTRINFO * attr_info)
int heap_attrinfo_recache_attrepr (HEAP_CACHE_ATTRINFO * attr_info, bool islast_reset)
int heap_attrinfo_set_uninitialized (THREAD_ENTRY * thread_p, OID * inst_oid, RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info)
int heap_attrinfo_start_refoids (THREAD_ENTRY * thread_p, OID * class_oid, HEAP_CACHE_ATTRINFO * attr_info)
SCAN_CODE heap_attrinfo_transform_columns_to_disk (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, OR_BUF * buf, std::set< int > * incremented_attrids, int offset_size, int header_size, size_t mvcc_extra, int lob_create_flag, size_t * record_size)
SCAN_CODE heap_attrinfo_transform_fixed_to_disk (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, OR_BUF * buf, int index, std::set< int > * incremented_attrids, char * bitmap_bound)
SCAN_CODE heap_attrinfo_transform_header_to_disk (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, OR_BUF * buf, int offset_size, bool is_mvcc_class, bool is_update)
SCAN_CODE heap_attrinfo_transform_to_disk_internal (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, RECDES * old_recdes, record_descriptor * new_recdes, int lob_create_flag)
SCAN_CODE heap_attrinfo_transform_variable_to_disk (THREAD_ENTRY * thread_p, HEAP_CACHE_ATTRINFO * attr_info, OR_BUF * buf, char ** ptr_varvals, int index, int offset_size, int header_size, int lob_create_flag)
void heap_attrvalue_point_fixed (RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info, OR_ATTRIBUTE * attrepr, RECDES * raw)
void heap_attrvalue_point_variable (RECDES * recdes, HEAP_CACHE_ATTRINFO * attr_info, OR_ATTRIBUTE * attrepr, RECDES * raw)
int heap_attrvalue_read (RECDES * recdes, HEAP_ATTRVALUE * value, HEAP_CACHE_ATTRINFO * attr_info)
int heap_attrvalue_transform_to_dbvalue (HEAP_ATTRVALUE * value, OR_ATTRIBUTE * attrepr, RECDES * raw)
char * heap_bestspace_to_string (char * buf, int buf_size, const HEAP_BESTSPACE * hb)
void heap_build_forwarding_recdes (RECDES * recdes_p, INT16 rec_type, OID * forward_oid)
DISK_ISVALID heap_check_all_pages_by_file_table (THREAD_ENTRY * thread_p, HFID * hfid, HEAP_CHKALL_RELOCOIDS * chk_objs)
DISK_ISVALID heap_check_all_pages_by_heapchain (THREAD_ENTRY * thread_p, HFID * hfid, HEAP_CHKALL_RELOCOIDS * chk_objs, INT32 * num_checked)
DISK_ISVALID heap_chkreloc_end (HEAP_CHKALL_RELOCOIDS * chk)
DISK_ISVALID heap_chkreloc_next (THREAD_ENTRY * thread_p, HEAP_CHKALL_RELOCOIDS * chk, PAGE_PTR pgptr)
int heap_chkreloc_print_notfound (const void * ignore_reloc_oid, void * ent, void * xchk)
DISK_ISVALID heap_chkreloc_start (HEAP_CHKALL_RELOCOIDS * chk)
int heap_chnguess_decache (const OID * oid)
int heap_chnguess_finalize (void)
int heap_chnguess_initialize (void)
int heap_chnguess_realloc (void)
int heap_chnguess_remove_entry (const void * oid_key, void * ent, void * xignore)
int heap_class_get_partition_info (THREAD_ENTRY * thread_p, const OID * class_oid, OR_PARTITION * partition_info, HFID * class_hfid, REPR_ID * repr_id, int * has_partition_info)
int heap_classrepr_decache_guessed_last (const OID * class_oid)
int heap_classrepr_dump (THREAD_ENTRY * thread_p, FILE * fp, const OID * class_oid, const OR_CLASSREP * repr)
HEAP_CLASSREPR_ENTRY * heap_classrepr_entry_alloc (void)
int heap_classrepr_entry_free (HEAP_CLASSREPR_ENTRY * cache_entry)
int heap_classrepr_entry_remove_from_LRU (HEAP_CLASSREPR_ENTRY * cache_entry)
int heap_classrepr_entry_reset (HEAP_CLASSREPR_ENTRY * cache_entry)
int heap_classrepr_finalize_cache (void)
OR_CLASSREP * heap_classrepr_get_from_record (THREAD_ENTRY * thread_p, REPR_ID * last_reprid, const OID * class_oid, RECDES * class_recdes, REPR_ID reprid)
int heap_classrepr_initialize_cache (void)
int heap_classrepr_lock_class (THREAD_ENTRY * thread_p, HEAP_CLASSREPR_HASH * hash_anchor, const OID * class_oid)
int heap_classrepr_unlock_class (HEAP_CLASSREPR_HASH * hash_anchor, const OID * class_oid, int need_hash_mutex)
void heap_clear_operation_context (HEAP_OPERATION_CONTEXT * context, HFID * hfid_p)
int heap_compare_hfid (const void * key_hfid1, const void * key_hfid2)
int heap_compare_vpid (const void * key_vpid1, const void * key_vpid2)
int heap_copy_chain (THREAD_ENTRY * thread_p, PAGE_PTR page_heap, HEAP_CHAIN * chain)
int heap_copy_header_stats (THREAD_ENTRY * thread_p, PAGE_PTR page_header, HEAP_HDR_STATS * header_stats)
int heap_create_internal (THREAD_ENTRY * thread_p, HFID * hfid, const OID * class_oid, const bool reuse_oid)
void heap_delete_adjust_header (MVCC_REC_HEADER * header_p, MVCCID mvcc_id, bool need_mvcc_header_max_size)
bool heap_delete_all_page_records (THREAD_ENTRY * thread_p, const VPID * vpid, PAGE_PTR pgptr)
int heap_delete_bigone (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_op)
int heap_delete_home (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_op)
int heap_delete_physical (THREAD_ENTRY * thread_p, HFID * hfid_p, PAGE_PTR page_p, OID * oid_p)
int heap_delete_relocation (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_op)
int heap_dump_hdr (FILE * fp, HEAP_HDR_STATS * heap_hdr)
int heap_estimate_avg_length (THREAD_ENTRY * thread_p, const HFID * hfid, int & avg_reclen)
int heap_eval_function_index (THREAD_ENTRY * thread_p, FUNCTION_INDEX_INFO * func_index_info, int n_atts, int * att_ids, HEAP_CACHE_ATTRINFO * attr_info, RECDES * recdes, int btid_index, DB_VALUE * result, FUNC_PRED_UNPACK_INFO * func_pred, TP_DOMAIN ** fi_domain)
int heap_file_map_chkreloc (THREAD_ENTRY * thread_p, PAGE_PTR * page, bool * stop, void * args)
int heap_find_location_and_insert_rec_newhome (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
int heap_fix_forward_page (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, OID * forward_oid_hint)
int heap_fix_header_page (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
SCAN_CODE heap_get_bigone_content (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, bool ispeeking, OID * forward_oid, RECDES * recdes)
int heap_get_capacity (THREAD_ENTRY * thread_p, const HFID * hfid, INT64 * num_recs, INT64 * num_recs_relocated, INT64 * num_recs_inovf, INT64 * num_pages, int * avg_freespace, int * avg_freespace_nolast, int * avg_reclength, int * avg_overhead)
HEAP_CHAIN * heap_get_chain_ptr (THREAD_ENTRY * thread_p, PAGE_PTR page_heap)
int heap_get_class_info_from_record (THREAD_ENTRY * thread_p, const OID * class_oid, HFID * hfid, char ** classname_out)
int heap_get_class_subclasses (THREAD_ENTRY * thread_p, const OID * class_oid, int * count, OID ** subclasses)
FILE_TYPE heap_get_file_type (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
int heap_get_header_page (THREAD_ENTRY * thread_p, const HFID * hfid, VPID * header_vpid)
HEAP_HDR_STATS * heap_get_header_stats_ptr (THREAD_ENTRY * thread_p, PAGE_PTR page_header)
SCAN_CODE heap_get_if_diff_chn (THREAD_ENTRY * thread_p, PAGE_PTR pgptr, INT16 slotid, RECDES * recdes, bool ispeeking, int chn, MVCC_SNAPSHOT * mvcc_snapshot)
int heap_get_insert_location_with_lock (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, PGBUF_WATCHER * home_hint_p)
int heap_get_last_page (THREAD_ENTRY * thread_p, const HFID * hfid, HEAP_HDR_STATS * heap_hdr, HEAP_SCANCACHE * scan_cache, VPID * last_vpid, PGBUF_WATCHER * pg_watcher)
int heap_get_last_vpid (THREAD_ENTRY * thread_p, const HFID * hfid, VPID * last_vpid)
SCAN_CODE heap_get_page_info (THREAD_ENTRY * thread_p, const OID * cls_oid, const HFID * hfid, const VPID * vpid, const PAGE_PTR pgptr, DB_VALUE ** page_info)
int heap_get_page_with_watcher (THREAD_ENTRY * thread_p, const VPID * page_vpid, PGBUF_WATCHER * pg_watcher)
int heap_get_partition_attributes (THREAD_ENTRY * thread_p, const OID * cls_oid, ATTR_ID * type_id, ATTR_ID * values_id)
int heap_get_partitions_from_subclasses (THREAD_ENTRY * thread_p, const OID * subclasses, int * parts_count, OR_PARTITION * partitions)
SCAN_CODE heap_get_record_info (THREAD_ENTRY * thread_p, const OID oid, RECDES * recdes, RECDES forward_recdes, PGBUF_WATCHER * page_watcher, HEAP_SCANCACHE * scan_cache, bool ispeeking, DB_VALUE ** record_info)
int heap_get_record_location (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
int heap_get_spage_type (void)
SCAN_CODE heap_get_visible_version_from_log (THREAD_ENTRY * thread_p, RECDES * recdes, LOG_LSA * previous_version_lsa, HEAP_SCANCACHE * scan_cache, int has_chn)
unsigned int heap_hash_hfid (const void * key_hfid, unsigned int htsize)
unsigned int heap_hash_vpid (const void * key_vpid, unsigned int htsize)
int heap_hfid_cache_get (THREAD_ENTRY * thread_p, const OID * class_oid, HFID * hfid, FILE_TYPE * ftype_out, char ** classname_out)
DISK_ISVALID heap_hfid_isvalid (HFID * hfid)
void * heap_hfid_table_entry_alloc (void)
int heap_hfid_table_entry_free (void * unique_stat)
int heap_hfid_table_entry_init (void * unique_stat)
int heap_hfid_table_entry_key_compare (void * k1, void * k2)
int heap_hfid_table_entry_key_copy (void * src, void * dest)
unsigned int heap_hfid_table_entry_key_hash (void * key, int hash_table_size)
int heap_hfid_table_entry_uninit (void * entry)
int heap_insert_adjust_recdes_header (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_class)
int heap_insert_handle_multipage_record (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
int heap_insert_newhome (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * parent_context, RECDES * recdes_p, OID * out_oid_p, PGBUF_WATCHER * newhome_pg_watcher)
int heap_insert_physical (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
bool heap_is_reusable_oid (const FILE_TYPE file_type)
int heap_is_valid_oid (THREAD_ENTRY * thread_p, OID * oid)
void heap_link_watchers (HEAP_OPERATION_CONTEXT * child, HEAP_OPERATION_CONTEXT * parent)
OR_ATTRIBUTE * heap_locate_attribute (ATTR_ID attrid, HEAP_CACHE_ATTRINFO * attr_info)
void heap_log_delete_physical (THREAD_ENTRY * thread_p, PAGE_PTR page_p, VFID * vfid_p, OID * oid_p, RECDES * recdes_p, bool mark_reusable, LOG_LSA * undo_lsa)
void heap_log_insert_physical (THREAD_ENTRY * thread_p, PAGE_PTR page_p, VFID * vfid_p, OID * oid_p, RECDES * recdes_p, bool is_mvcc_op, bool is_redistribute_op)
void heap_log_update_physical (THREAD_ENTRY * thread_p, PAGE_PTR page_p, VFID * vfid_p, OID * oid_p, RECDES * old_recdes_p, RECDES * new_recdes_p, LOG_RCVINDEX rcvindex)
int heap_mark_class_as_modified (THREAD_ENTRY * thread_p, OID * oid_p, int chn, bool decache)
int heap_midxkey_get_value (RECDES * recdes, OR_ATTRIBUTE * att, DB_VALUE * value, HEAP_CACHE_ATTRINFO * attr_info)
DB_MIDXKEY * heap_midxkey_key_generate (THREAD_ENTRY * thread_p, RECDES * recdes, DB_MIDXKEY * midxkey, int * att_ids, HEAP_CACHE_ATTRINFO * attrinfo, DB_VALUE * func_res, int func_col_id, int func_attr_index_start, TP_DOMAIN * midxkey_domain, OID * rec_oid)
DB_MIDXKEY * heap_midxkey_key_get (RECDES * recdes, DB_MIDXKEY * midxkey, OR_INDEX * index, HEAP_CACHE_ATTRINFO * attrinfo, DB_VALUE * func_res, TP_DOMAIN * func_domain, TP_DOMAIN ** key_domain, OID * rec_oid, bool is_check_foreign)
void heap_mvcc_log_delete (THREAD_ENTRY * thread_p, LOG_DATA_ADDR * p_addr, LOG_RCVINDEX rcvindex)
void heap_mvcc_log_home_change_on_delete (THREAD_ENTRY * thread_p, RECDES * old_recdes, RECDES * new_recdes, LOG_DATA_ADDR * p_addr)
void heap_mvcc_log_home_no_change (THREAD_ENTRY * thread_p, LOG_DATA_ADDR * p_addr)
void heap_mvcc_log_insert (THREAD_ENTRY * thread_p, RECDES * p_recdes, LOG_DATA_ADDR * p_addr)
void heap_mvcc_log_redistribute (THREAD_ENTRY * thread_p, RECDES * p_recdes, LOG_DATA_ADDR * p_addr)
SCAN_CODE heap_next_internal (THREAD_ENTRY * thread_p, const HFID * hfid, OID * class_oid, OID * next_oid, RECDES * recdes, HEAP_SCANCACHE * scan_cache, bool ispeeking, bool reversed_direction, DB_VALUE ** cache_recordinfo, sampling_info * sampling)
int heap_ovf_flush (THREAD_ENTRY * thread_p, const OID * ovf_oid)
SCAN_CODE heap_ovf_get (THREAD_ENTRY * thread_p, const OID * ovf_oid, RECDES * recdes, int chn, MVCC_SNAPSHOT * mvcc_snapshot)
int heap_ovf_get_capacity (THREAD_ENTRY * thread_p, const OID * ovf_oid, int * ovf_len, int * ovf_num_pages, int * ovf_overhead, int * ovf_free_space)
int heap_ovf_get_length (THREAD_ENTRY * thread_p, const OID * ovf_oid)
OID * heap_ovf_insert (THREAD_ENTRY * thread_p, const HFID * hfid, OID * ovf_oid, RECDES * recdes)
const OID * heap_ovf_update (THREAD_ENTRY * thread_p, const HFID * hfid, const OID * ovf_oid, RECDES * recdes)
void heap_page_rv_chain_update (THREAD_ENTRY * thread_p, PAGE_PTR heap_page, MVCCID mvccid, bool vacuum_status_change)
void heap_page_update_chain_after_mvcc_op (THREAD_ENTRY * thread_p, PAGE_PTR heap_page, MVCCID mvccid)
int heap_reinitialize_page (THREAD_ENTRY * thread_p, PAGE_PTR pgptr, const bool is_header_page)
const HFID * heap_reuse (THREAD_ENTRY * thread_p, const HFID * hfid, const OID * class_oid, const bool reuse_oid)
int heap_rv_mvcc_redo_delete_internal (THREAD_ENTRY * thread_p, PAGE_PTR page, PGSLOTID slotid, MVCCID mvccid)
int heap_scan_cache_allocate_recdes_data (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache_p, RECDES * recdes_p, int size)
PAGE_PTR heap_scan_pb_lock_and_fetch_debug (THREAD_ENTRY * thread_p, const VPID * vpid_ptr, PAGE_FETCH_MODE fetch_mode, LOCK lock, HEAP_SCANCACHE * scan_cache, PGBUF_WATCHER * pg_watcher, const char * caller_file, const int caller_line, const char * caller_func)
int heap_scancache_add_partition_node (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, OID * partition_oid)
void heap_scancache_block_allocate (cubmem::block & b, size_t size)
void heap_scancache_block_deallocate (cubmem::block & b)
int heap_scancache_check_with_hfid (THREAD_ENTRY * thread_p, HFID * hfid, OID * class_oid, HEAP_SCANCACHE ** scan_cache)
int heap_scancache_end_internal (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, bool scan_state)
int heap_scancache_force_modify (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
int heap_scancache_quick_end (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache)
int heap_scancache_quick_start_internal (HEAP_SCANCACHE * scan_cache, const HFID * hfid)
int heap_scancache_reset_modify (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, const HFID * hfid, const OID * class_oid)
int heap_scancache_start_internal (THREAD_ENTRY * thread_p, HEAP_SCANCACHE * scan_cache, const HFID * hfid, const OID * class_oid, int cache_last_fix_page, bool is_queryscan, MVCC_SNAPSHOT * mvcc_snapshot)
DISK_ISVALID heap_scanrange_isvalid (HEAP_SCANRANGE * scan_range)
HEAP_STATS_ENTRY * heap_stats_add_bestspace (THREAD_ENTRY * thread_p, const HFID * hfid, VPID * vpid, int freespace)
int heap_stats_bestspace_finalize (void)
int heap_stats_bestspace_initialize (void)
int heap_stats_del_bestspace_by_hfid (THREAD_ENTRY * thread_p, const HFID * hfid)
int heap_stats_del_bestspace_by_vpid (THREAD_ENTRY * thread_p, VPID * vpid)
int heap_stats_entry_free (THREAD_ENTRY * thread_p, void * data, void * args)
PAGE_PTR heap_stats_find_best_page (THREAD_ENTRY * thread_p, const HFID * hfid, int needed_space, bool isnew_rec, HEAP_SCANCACHE * space_cache, PGBUF_WATCHER * pg_watcher)
HEAP_FINDSPACE heap_stats_find_page_in_bestspace (THREAD_ENTRY * thread_p, const HFID * hfid, HEAP_BESTSPACE * bestspace, int * idx_badspace, int record_length, int needed_space, HEAP_SCANCACHE * scan_cache, PGBUF_WATCHER * pg_watcher)
HEAP_BESTSPACE heap_stats_get_bestspace_by_vpid (THREAD_ENTRY * thread_p, VPID * vpid)
int heap_stats_get_min_freespace (HEAP_HDR_STATS * heap_hdr)
int heap_stats_get_second_best (HEAP_HDR_STATS * heap_hdr, VPID * vpid)
void heap_stats_put_second_best (HEAP_HDR_STATS * heap_hdr, VPID * vpid)
int heap_stats_quick_num_fit_in_bestspace (HEAP_BESTSPACE * bestspace, int num_entries, int unit_size, int unfill_space)
int heap_stats_sync_bestspace (THREAD_ENTRY * thread_p, const HFID * hfid, HEAP_HDR_STATS * heap_hdr, VPID * hdr_vpid, bool scan_all, bool can_cycle)
int heap_stats_update_internal (THREAD_ENTRY * thread_p, const HFID * hfid, VPID * lotspace_vpid, int free_space)
int heap_try_fetch_forward_page (THREAD_ENTRY * thread_p, PAGE_PTR * home_pgptr_p, const VPID * home_vpid_p, const OID * oid_p, PAGE_PTR * fwd_pgptr_p, const VPID * fwd_vpid_p, const OID * fwd_oid_p, HEAP_SCANCACHE * scan_cache, int * again_count, int again_max)
int heap_try_fetch_header_page (THREAD_ENTRY * thread_p, PAGE_PTR * home_pgptr_p, const VPID * home_vpid_p, const OID * oid_p, PAGE_PTR * hdr_pgptr_p, const VPID * hdr_vpid_p, HEAP_SCANCACHE * scan_cache, int * again_count, int again_max)
int heap_try_fetch_header_with_forward_page (THREAD_ENTRY * thread_p, PAGE_PTR * home_pgptr_p, const VPID * home_vpid_p, const OID * oid_p, PAGE_PTR * hdr_pgptr_p, const VPID * hdr_vpid_p, PAGE_PTR * fwd_pgptr_p, const VPID * fwd_vpid_p, const OID * fwd_oid_p, HEAP_SCANCACHE * scan_cache, int * again_count, int again_max)
void heap_unfix_watchers (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context)
int heap_update_adjust_recdes_header (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * update_context, bool is_mvcc_class)
int heap_update_and_log_header (THREAD_ENTRY * thread_p, const HFID * hfid, const PGBUF_WATCHER heap_header_watcher, HEAP_HDR_STATS * heap_hdr, const VPID new_next_vpid, const VPID new_last_vpid, const int new_num_pages)
int heap_update_bigone (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_op)
int heap_update_home (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_op)
int heap_update_physical (THREAD_ENTRY * thread_p, PAGE_PTR page_p, short slot_id, RECDES * recdes_p)
int heap_update_relocation (THREAD_ENTRY * thread_p, HEAP_OPERATION_CONTEXT * context, bool is_mvcc_op)
int heap_update_set_prev_version (THREAD_ENTRY * thread_p, const OID * oid, PGBUF_WATCHER * home_pg_watcher, PGBUF_WATCHER * fwd_pg_watcher, LOG_LSA * prev_version_lsa)
int heap_vpid_alloc (THREAD_ENTRY * thread_p, const HFID * hfid, PAGE_PTR hdr_pgptr, HEAP_HDR_STATS * heap_hdr, HEAP_SCANCACHE * scan_cache, PGBUF_WATCHER * new_pg_watcher)
int heap_vpid_init_new (THREAD_ENTRY * thread_p, PAGE_PTR page, void * args)
VPID * heap_vpid_remove (THREAD_ENTRY * thread_p, const HFID * hfid, HEAP_HDR_STATS * heap_hdr, VPID * rm_vpid)

Macros

Type Name
define BEST_PAGE_SEARCH_MAX_COUNT 100
define CLASSREPR_HASH_SIZE (heap\_Classrepr\_cache.num\_entries \* 2)
define CLASSREPR_REPR_INCREMENT 10
define DEFAULT_REPR_INCREMENT 16
define HEAP_BESTSPACE_SYNC_THRESHOLD (0.1f)
define HEAP_BITMASK ([**HEAP\_NBITS\_IN\_BYTE**](heap__file_8c.md#define-heap_nbits_in_byte) - 1)
define HEAP_BITMASK_INBYTE (bit_num) (1 &lt;&lt; (([**unsigned**](broker__monitor_8c.md#function-timeout) [**int**](broker__monitor_8c.md#function-timeout))([**bit\_num**](broker__monitor_8c.md#function-timeout)) & [**HEAP\_BITMASK**](heap__file_8c.md#define-heap_bitmask)))
define HEAP_BIT_CLEAR (byte_ptr, bit_num) /* multi line expression */
define HEAP_BIT_GET (byte_ptr, bit_num) (\*[**HEAP\_BYTEGET**](heap__file_8c.md#define-heap_byteget)([**byte\_ptr**](broker__monitor_8c.md#function-timeout), [**bit\_num**](broker__monitor_8c.md#function-timeout)) & [**HEAP\_BITMASK\_INBYTE**](heap__file_8c.md#define-heap_bitmask_inbyte)([**bit\_num**](broker__monitor_8c.md#function-timeout)))
define HEAP_BIT_SET (byte_ptr, bit_num) /* multi line expression */
define HEAP_BYTEGET (byte_ptr, bit_num) (([**unsigned**](broker__monitor_8c.md#function-timeout) [**char**](broker__monitor_8c.md#function-timeout) \*)([**byte\_ptr**](broker__monitor_8c.md#function-timeout)) + [**HEAP\_BYTEOFFSET\_OFBIT**](heap__file_8c.md#define-heap_byteoffset_ofbit)([**bit\_num**](broker__monitor_8c.md#function-timeout)))
define HEAP_BYTEOFFSET_OFBIT (bit_num) (([**unsigned**](broker__monitor_8c.md#function-timeout) [**int**](broker__monitor_8c.md#function-timeout))([**bit\_num**](broker__monitor_8c.md#function-timeout)) &gt;&gt; [**HEAP\_NSHIFTS**](heap__file_8c.md#define-heap_nshifts))
define HEAP_CHKRELOC_UNFOUND_SHORT 5
define HEAP_CHK_ADD_UNFOUND_RELOCOIDS 100
define HEAP_CHNGUESS_FUDGE_MININDICES (100)
define HEAP_CLASSREPR_MAXCACHE 1024
define HEAP_DEBUG_ISVALID_SCANRANGE (scan_range) [**heap\_scanrange\_isvalid**](heap__file_8c.md#function-heap_scanrange_isvalid)(scan\_range)
define HEAP_DEBUG_SCANCACHE_INITPATTERN (12345)
define HEAP_GUESS_NUM_ATTRS_REFOIDS 100
define HEAP_GUESS_NUM_INDEXED_ATTRS 100
define HEAP_IS_PAGE_OF_OID (thread_p, pgptr, oid) /* multi line expression */
define HEAP_LOG_MVCC_INSERT_MAX_REDO_CRUMBS 4
define HEAP_LOG_MVCC_REDISTRIBUTE_MAX_REDO_CRUMBS 4
define HEAP_MAX_FIRSTSLOTID_LENGTH ([**sizeof**](broker__monitor_8c.md#function-timeout) ([**HEAP\_HDR\_STATS**](heap__file_8c.md#typedef-heap_hdr_stats)))
define HEAP_MAYNEED_DECACHE_GUESSED_LASTREPRS (class_oid, hfid) /* multi line expression */
define HEAP_MVCC_SET_HEADER_MAXIMUM_SIZE (mvcc_rec_header_p) /* multi line expression */
define HEAP_NBITS_IN_BYTE (8)
define HEAP_NBITS_TO_NBYTES (bit_cnt) (([**unsigned**](broker__monitor_8c.md#function-timeout) [**int**](broker__monitor_8c.md#function-timeout))(([**bit\_cnt**](broker__monitor_8c.md#function-timeout)) + [**HEAP\_BITMASK**](heap__file_8c.md#define-heap_bitmask)) &gt;&gt; [**HEAP\_NSHIFTS**](heap__file_8c.md#define-heap_nshifts))
define HEAP_NBYTES_CLEARED (byte_ptr, byte_cnt) [**memset**](broker__monitor_8c.md#function-timeout)(([**byte\_ptr**](broker__monitor_8c.md#function-timeout)), '\0', ([**byte\_cnt**](broker__monitor_8c.md#function-timeout)))
define HEAP_NBYTES_TO_NBITS (byte_cnt) (([**unsigned**](broker__monitor_8c.md#function-timeout) [**int**](broker__monitor_8c.md#function-timeout))([**byte\_cnt**](broker__monitor_8c.md#function-timeout)) &lt;&lt; [**HEAP\_NSHIFTS**](heap__file_8c.md#define-heap_nshifts))
define HEAP_NSHIFTS (3) /\* [**For**](broker__monitor_8c.md#function-timeout) [**multiplication**](broker__monitor_8c.md#function-timeout)/[**division**](broker__monitor_8c.md#function-timeout) [**by**](broker__monitor_8c.md#function-timeout) 8 \*/
define HEAP_NUM_BEST_SPACESTATS 10
define HEAP_PAGE_FLAG_VACUUM_ONCE 0x80000000
define HEAP_PAGE_FLAG_VACUUM_STATUS_MASK 0xC0000000
define HEAP_PAGE_FLAG_VACUUM_UNKNOWN 0x40000000
define HEAP_PAGE_GET_VACUUM_STATUS (chain) /* multi line expression */
define HEAP_PAGE_SET_VACUUM_STATUS (chain, status) /* multi line expression */
define HEAP_PERF_START (thread_p, context) [**PERF\_UTIME\_TRACKER\_START**](perf__monitor_8h.md#define-perf_utime_tracker_start) (thread\_p, (context)-&gt;time\_track)
define HEAP_PERF_TRACK_EXECUTE (thread_p, context) /* multi line expression */
define HEAP_PERF_TRACK_LOGGING (thread_p, context) /* multi line expression */
define HEAP_PERF_TRACK_PREPARE (thread_p, context) /* multi line expression */
define HEAP_RV_FLAG_VACUUM_STATUS_CHANGE 0x8000
define HEAP_SCAN_ORDERED_HFID (scan) (((scan) != [**NULL**](freelistheap_8h.md#define-null)) ? (&(scan)-&gt;node.hfid) : ([**PGBUF\_ORDERED\_NULL\_HFID**](page__buffer_8h.md#define-pgbuf_ordered_null_hfid)))
define HEAP_STATS_ENTRY_FREELIST_SIZE 1000
define HEAP_STATS_ENTRY_MHT_EST_SIZE 1000
define HEAP_STATS_NEXT_BEST_INDEX (i) ((([**i**](dynamic__load_8c.md#variable-i)) + 1) % [**HEAP\_NUM\_BEST\_SPACESTATS**](heap__file_8c.md#define-heap_num_best_spacestats))
define HEAP_STATS_PREV_BEST_INDEX (i) ((([**i**](dynamic__load_8c.md#variable-i)) == 0) ? ([**HEAP\_NUM\_BEST\_SPACESTATS**](heap__file_8c.md#define-heap_num_best_spacestats) - 1) : (([**i**](dynamic__load_8c.md#variable-i)) - 1));
define HEAP_UPDATE_IS_MVCC_OP (is_mvcc_class, update_style) (([**is\_mvcc\_class**](broker__monitor_8c.md#function-timeout)) && (![**HEAP\_IS\_UPDATE\_INPLACE**](heap__file_8h.md#define-heap_is_update_inplace) ([**update\_style**](broker__monitor_8c.md#function-timeout))) ? ([**true**](broker__monitor_8c.md#function-timeout)) : ([**false**](broker__monitor_8c.md#function-timeout)))
define MVCC_SET_DELETE_INFO (mvcc_delete_info_p, row_delete_id, satisfies_del_result) /* multi line expression */
define OR_FIXED_ATTRIBUTES_OFFSET_BY_OBJ (obj, nvars) ([**OR\_HEADER\_SIZE**](object__representation_8h.md#define-or_header_size)(obj) + [**OR\_VAR\_TABLE\_SIZE\_INTERNAL**](object__representation_8h.md#define-or_var_table_size_internal)([**nvars**](broker__monitor_8c.md#function-timeout), [**OR\_GET\_OFFSET\_SIZE**](object__representation_8h.md#define-or_get_offset_size)(obj)))
define REPR_HASH (class_oid) ([**OID\_PSEUDO\_KEY**](oid_8h.md#define-oid_pseudo_key)(class\_oid)%[**CLASSREPR\_HASH\_SIZE**](heap__file_8c.md#define-classrepr_hash_size))
define __STDC_FORMAT_MACROS
define heap_bestspace_log (...) [**if**](dynamic__load_8c.md#function-if) ([**prm\_get\_bool\_value**](system__parameter_8h.md#function-prm_get_bool_value) (PRM\_ID\_DEBUG\_BESTSPACE)) [**\_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))
define heap_classrepr_log_er (msg, ...) /* multi line expression */
define heap_classrepr_log_stack (msg, ...) /* multi line expression */
define heap_hfid_table_log (thp, oidp, msg, ...) /* multi line expression */
define heap_scan_pb_lock_and_fetch (...) [**heap\_scan\_pb\_lock\_and\_fetch\_debug**](heap__file_8c.md#function-heap_scan_pb_lock_and_fetch_debug) ([**\_\_VA\_ARGS\_\_**](broker__monitor_8c.md#function-timeout), [**ARG\_FILE\_LINE\_FUNC**](error__manager_8h.md#define-arg_file_line_func))

Public Types Documentation

typedef HEAP_CHAIN

typedef struct heap_chain HEAP_CHAIN;

typedef HEAP_CHKALL_RELOCOIDS

typedef struct heap_chkall_relocoids HEAP_CHKALL_RELOCOIDS;

typedef HEAP_CHK_RELOCOID

typedef struct heap_chk_relocoid HEAP_CHK_RELOCOID;

typedef HEAP_CHNGUESS

typedef struct heap_chnguess HEAP_CHNGUESS;

typedef HEAP_CHNGUESS_ENTRY

typedef struct heap_chnguess_entry HEAP_CHNGUESS_ENTRY;

typedef HEAP_CLASSREPR_CACHE

typedef struct heap_classrepr_cache HEAP_CLASSREPR_CACHE;

typedef HEAP_CLASSREPR_ENTRY

typedef struct heap_classrepr_entry HEAP_CLASSREPR_ENTRY;

typedef HEAP_CLASSREPR_FREE_LIST

typedef struct heap_classrepr_free_list HEAP_CLASSREPR_FREE_LIST;

typedef HEAP_CLASSREPR_HASH

typedef struct heap_classrepr_hash HEAP_CLASSREPR_HASH;

typedef HEAP_CLASSREPR_LOCK

typedef struct heap_classrepr_lock HEAP_CLASSREPR_LOCK;

typedef HEAP_CLASSREPR_LRU_LIST

typedef struct heap_classrepr_LRU_list HEAP_CLASSREPR_LRU_LIST;

enum HEAP_DIRECTION

enum HEAP_DIRECTION {
    HEAP_DIRECTION_NONE,
    HEAP_DIRECTION_LEFT,
    HEAP_DIRECTION_RIGHT,
    HEAP_DIRECTION_BOTH
};

enum HEAP_FINDSPACE

enum HEAP_FINDSPACE {
    HEAP_FINDSPACE_FOUND,
    HEAP_FINDSPACE_NOTFOUND,
    HEAP_FINDSPACE_ERROR
};

typedef HEAP_HDR_STATS

typedef struct heap_hdr_stats HEAP_HDR_STATS;

typedef HEAP_SHOW_SCAN_CTX

typedef struct heap_show_scan_ctx HEAP_SHOW_SCAN_CTX;

typedef HEAP_STATS_BESTSPACE_CACHE

typedef struct heap_stats_bestspace_cache HEAP_STATS_BESTSPACE_CACHE;

typedef HEAP_STATS_ENTRY

typedef struct heap_stats_entry HEAP_STATS_ENTRY;

enum heap__file_8c_1a425be5f49e9c31d8d13d53190a3e7bc2

enum heap__file_8c_1a425be5f49e9c31d8d13d53190a3e7bc2 {
    NEED_TO_RETRY = 0,
    LOCK_ACQUIRED
};

enum heap__file_8c_1ac72f7803394f05658258f8a2b76f53aa

enum heap__file_8c_1ac72f7803394f05658258f8a2b76f53aa {
    ZONE_VOID = 1,
    ZONE_FREE = 2,
    ZONE_LRU = 3
};

Public Static Attributes Documentation

variable HEAP_SCANCACHE_BLOCK_ALLOCATOR

const cubmem::block_allocator HEAP_SCANCACHE_BLOCK_ALLOCATOR;

variable heap_Bestspace

HEAP_STATS_BESTSPACE_CACHE* heap_Bestspace;

variable heap_Bestspace_cache_area

HEAP_STATS_BESTSPACE_CACHE heap_Bestspace_cache_area;

variable heap_Classrepr

HEAP_CLASSREPR_CACHE* heap_Classrepr;

variable heap_Classrepr_cache

HEAP_CLASSREPR_CACHE heap_Classrepr_cache;

variable heap_Find_best_page_limit

const int heap_Find_best_page_limit;

variable heap_Guesschn

HEAP_CHNGUESS* heap_Guesschn;

variable heap_Guesschn_area

HEAP_CHNGUESS heap_Guesschn_area;

variable heap_Hfid_table

HEAP_HFID_TABLE* heap_Hfid_table;

variable heap_Hfid_table_area

HEAP_HFID_TABLE heap_Hfid_table_area;

variable heap_Maxslotted_reclength

int heap_Maxslotted_reclength;

variable heap_Slotted_overhead

int heap_Slotted_overhead;

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 * db_valuep,
    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 * attrids,
    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
) 

function heap_attrinfo_transform_to_disk

SCAN_CODE heap_attrinfo_transform_to_disk (
    THREAD_ENTRY * thread_p,
    HEAP_CACHE_ATTRINFO * attr_info,
    RECDES * old_recdes,
    record_descriptor * new_recdes
) 

function heap_attrinfo_transform_to_disk_except_lob

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_pred,
    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_logging_template

template<typename  ErF, typename ... Args>
void heap_classrepr_logging_template (
    const  char * filename,
    const  int line,
    ErF && er_f,
    const  char * msg,
    Args &&... args
) 

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 ** classname_out
) 

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
) 

function heap_get_mvcc_header

SCAN_CODE heap_get_mvcc_header (
    THREAD_ENTRY * thread_p,
    HEAP_GET_CONTEXT * context,
    MVCC_REC_HEADER * mvcc_header
) 

function heap_get_mvcc_rec_header_from_overflow

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 * recdes,
    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
) 

function heap_header_capacity_end_scan

int heap_header_capacity_end_scan (
    THREAD_ENTRY * thread_p,
    void ** ptr
) 

function heap_header_capacity_start_scan

int heap_header_capacity_start_scan (
    THREAD_ENTRY * thread_p,
    int show_type,
    DB_VALUE ** arg_values,
    int arg_cnt,
    void ** ptr
) 

function heap_header_next_scan

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
) 

function heap_is_page_header

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
) 

function heap_nonheader_page_capacity

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 docreate,
    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 * next_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 * ignore_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_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 * peeked_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
) 

function heap_set_mvcc_rec_header_on_overflow

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_create

int xheap_create (
    THREAD_ENTRY * thread_p,
    HFID * hfid,
    const  OID * class_oid,
    bool reuse_oid
) 

function xheap_destroy

int xheap_destroy (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    const  OID * class_oid
) 

function xheap_destroy_newly_created

int xheap_destroy_newly_created (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    const  OID * class_oid,
    const  bool force
) 

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
) 

Public Static Functions Documentation

function check_supplemental_log

static bool check_supplemental_log (
    THREAD_ENTRY * thread_p,
    OID * classoid
) 

function fill_string_to_buffer

static int fill_string_to_buffer (
    char ** start,
    char * end,
    const  char * str
) 

static int heap_add_chain_links (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    const  VPID * vpid,
    const  VPID * next_link,
    const  VPID * prev_link,
    PGBUF_WATCHER * page_watcher,
    bool keep_page_fixed,
    bool is_page_watcher_inited
) 

function heap_attrinfo_check

static int heap_attrinfo_check (
    const  OID * inst_oid,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_attrinfo_determine_disksize

static size_t heap_attrinfo_determine_disksize (
    HEAP_CACHE_ATTRINFO * attr_info,
    bool is_mvcc_class,
    size_t * offset_size_ptr
) 

function heap_attrinfo_get_record_header_size

static int heap_attrinfo_get_record_header_size (
    HEAP_CACHE_ATTRINFO * attr_info,
    int payload_size,
    bool is_mvcc_class,
    size_t * offset_size_ptr
) 

function heap_attrinfo_get_record_payload_size

static int heap_attrinfo_get_record_payload_size (
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_attrinfo_recache

static int heap_attrinfo_recache (
    THREAD_ENTRY * thread_p,
    REPR_ID reprid,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_attrinfo_recache_attrepr

static int heap_attrinfo_recache_attrepr (
    HEAP_CACHE_ATTRINFO * attr_info,
    bool islast_reset
) 

function heap_attrinfo_set_uninitialized

static int heap_attrinfo_set_uninitialized (
    THREAD_ENTRY * thread_p,
    OID * inst_oid,
    RECDES * recdes,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_attrinfo_start_refoids

static int heap_attrinfo_start_refoids (
    THREAD_ENTRY * thread_p,
    OID * class_oid,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_attrinfo_transform_columns_to_disk

static SCAN_CODE heap_attrinfo_transform_columns_to_disk (
    THREAD_ENTRY * thread_p,
    HEAP_CACHE_ATTRINFO * attr_info,
    OR_BUF * buf,
    std::set< int > * incremented_attrids,
    int offset_size,
    int header_size,
    size_t mvcc_extra,
    int lob_create_flag,
    size_t * record_size
) 

function heap_attrinfo_transform_fixed_to_disk

static SCAN_CODE heap_attrinfo_transform_fixed_to_disk (
    THREAD_ENTRY * thread_p,
    HEAP_CACHE_ATTRINFO * attr_info,
    OR_BUF * buf,
    int index,
    std::set< int > * incremented_attrids,
    char * bitmap_bound
) 

function heap_attrinfo_transform_header_to_disk

static SCAN_CODE heap_attrinfo_transform_header_to_disk (
    THREAD_ENTRY * thread_p,
    HEAP_CACHE_ATTRINFO * attr_info,
    OR_BUF * buf,
    int offset_size,
    bool is_mvcc_class,
    bool is_update
) 

function heap_attrinfo_transform_to_disk_internal

static SCAN_CODE heap_attrinfo_transform_to_disk_internal (
    THREAD_ENTRY * thread_p,
    HEAP_CACHE_ATTRINFO * attr_info,
    RECDES * old_recdes,
    record_descriptor * new_recdes,
    int lob_create_flag
) 

function heap_attrinfo_transform_variable_to_disk

static SCAN_CODE heap_attrinfo_transform_variable_to_disk (
    THREAD_ENTRY * thread_p,
    HEAP_CACHE_ATTRINFO * attr_info,
    OR_BUF * buf,
    char ** ptr_varvals,
    int index,
    int offset_size,
    int header_size,
    int lob_create_flag
) 

function heap_attrvalue_point_fixed

static void heap_attrvalue_point_fixed (
    RECDES * recdes,
    HEAP_CACHE_ATTRINFO * attr_info,
    OR_ATTRIBUTE * attrepr,
    RECDES * raw
) 

function heap_attrvalue_point_variable

static void heap_attrvalue_point_variable (
    RECDES * recdes,
    HEAP_CACHE_ATTRINFO * attr_info,
    OR_ATTRIBUTE * attrepr,
    RECDES * raw
) 

function heap_attrvalue_read

static int heap_attrvalue_read (
    RECDES * recdes,
    HEAP_ATTRVALUE * value,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_attrvalue_transform_to_dbvalue

static int heap_attrvalue_transform_to_dbvalue (
    HEAP_ATTRVALUE * value,
    OR_ATTRIBUTE * attrepr,
    RECDES * raw
) 

function heap_bestspace_to_string

static char * heap_bestspace_to_string (
    char * buf,
    int buf_size,
    const  HEAP_BESTSPACE * hb
) 

function heap_build_forwarding_recdes

static void heap_build_forwarding_recdes (
    RECDES * recdes_p,
    INT16 rec_type,
    OID * forward_oid
) 

function heap_check_all_pages_by_file_table

static DISK_ISVALID heap_check_all_pages_by_file_table (
    THREAD_ENTRY * thread_p,
    HFID * hfid,
    HEAP_CHKALL_RELOCOIDS * chk_objs
) 

function heap_check_all_pages_by_heapchain

static DISK_ISVALID heap_check_all_pages_by_heapchain (
    THREAD_ENTRY * thread_p,
    HFID * hfid,
    HEAP_CHKALL_RELOCOIDS * chk_objs,
    INT32 * num_checked
) 

function heap_chkreloc_end

static DISK_ISVALID heap_chkreloc_end (
    HEAP_CHKALL_RELOCOIDS * chk
) 

function heap_chkreloc_next

static DISK_ISVALID heap_chkreloc_next (
    THREAD_ENTRY * thread_p,
    HEAP_CHKALL_RELOCOIDS * chk,
    PAGE_PTR pgptr
) 

function heap_chkreloc_print_notfound

static int heap_chkreloc_print_notfound (
    const  void * ignore_reloc_oid,
    void * ent,
    void * xchk
) 

function heap_chkreloc_start

static DISK_ISVALID heap_chkreloc_start (
    HEAP_CHKALL_RELOCOIDS * chk
) 

function heap_chnguess_decache

static int heap_chnguess_decache (
    const  OID * oid
) 

function heap_chnguess_finalize

static int heap_chnguess_finalize (
    void
) 

function heap_chnguess_initialize

static int heap_chnguess_initialize (
    void
) 

function heap_chnguess_realloc

static int heap_chnguess_realloc (
    void
) 

function heap_chnguess_remove_entry

static int heap_chnguess_remove_entry (
    const  void * oid_key,
    void * ent,
    void * xignore
) 

function heap_class_get_partition_info

static int heap_class_get_partition_info (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid,
    OR_PARTITION * partition_info,
    HFID * class_hfid,
    REPR_ID * repr_id,
    int * has_partition_info
) 

function heap_classrepr_decache_guessed_last

static int heap_classrepr_decache_guessed_last (
    const  OID * class_oid
) 

function heap_classrepr_dump

static int heap_classrepr_dump (
    THREAD_ENTRY * thread_p,
    FILE * fp,
    const  OID * class_oid,
    const  OR_CLASSREP * repr
) 

function heap_classrepr_entry_alloc

static HEAP_CLASSREPR_ENTRY * heap_classrepr_entry_alloc (
    void
) 

function heap_classrepr_entry_free

static int heap_classrepr_entry_free (
    HEAP_CLASSREPR_ENTRY * cache_entry
) 

function heap_classrepr_entry_remove_from_LRU

static int heap_classrepr_entry_remove_from_LRU (
    HEAP_CLASSREPR_ENTRY * cache_entry
) 

function heap_classrepr_entry_reset

static int heap_classrepr_entry_reset (
    HEAP_CLASSREPR_ENTRY * cache_entry
) 

function heap_classrepr_finalize_cache

static int heap_classrepr_finalize_cache (
    void
) 

function heap_classrepr_get_from_record

static OR_CLASSREP * heap_classrepr_get_from_record (
    THREAD_ENTRY * thread_p,
    REPR_ID * last_reprid,
    const  OID * class_oid,
    RECDES * class_recdes,
    REPR_ID reprid
) 

function heap_classrepr_initialize_cache

static int heap_classrepr_initialize_cache (
    void
) 

function heap_classrepr_lock_class

static int heap_classrepr_lock_class (
    THREAD_ENTRY * thread_p,
    HEAP_CLASSREPR_HASH * hash_anchor,
    const  OID * class_oid
) 

function heap_classrepr_unlock_class

static int heap_classrepr_unlock_class (
    HEAP_CLASSREPR_HASH * hash_anchor,
    const  OID * class_oid,
    int need_hash_mutex
) 

function heap_clear_operation_context

static void heap_clear_operation_context (
    HEAP_OPERATION_CONTEXT * context,
    HFID * hfid_p
) 

function heap_compare_hfid

static int heap_compare_hfid (
    const  void * key_hfid1,
    const  void * key_hfid2
) 

function heap_compare_vpid

static int heap_compare_vpid (
    const  void * key_vpid1,
    const  void * key_vpid2
) 

function heap_copy_chain

static int heap_copy_chain (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_heap,
    HEAP_CHAIN * chain
) 

function heap_copy_header_stats

static int heap_copy_header_stats (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_header,
    HEAP_HDR_STATS * header_stats
) 

function heap_create_internal

static int heap_create_internal (
    THREAD_ENTRY * thread_p,
    HFID * hfid,
    const  OID * class_oid,
    const  bool reuse_oid
) 

function heap_delete_adjust_header

static void heap_delete_adjust_header (
    MVCC_REC_HEADER * header_p,
    MVCCID mvcc_id,
    bool need_mvcc_header_max_size
) 

function heap_delete_all_page_records

static bool heap_delete_all_page_records (
    THREAD_ENTRY * thread_p,
    const  VPID * vpid,
    PAGE_PTR pgptr
) 

function heap_delete_bigone

static int heap_delete_bigone (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_op
) 

function heap_delete_home

static int heap_delete_home (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_op
) 

function heap_delete_physical

static int heap_delete_physical (
    THREAD_ENTRY * thread_p,
    HFID * hfid_p,
    PAGE_PTR page_p,
    OID * oid_p
) 

function heap_delete_relocation

static int heap_delete_relocation (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_op
) 

function heap_dump_hdr

static int heap_dump_hdr (
    FILE * fp,
    HEAP_HDR_STATS * heap_hdr
) 

function heap_estimate_avg_length

static int heap_estimate_avg_length (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    int & avg_reclen
) 

function heap_eval_function_index

static int heap_eval_function_index (
    THREAD_ENTRY * thread_p,
    FUNCTION_INDEX_INFO * func_index_info,
    int n_atts,
    int * att_ids,
    HEAP_CACHE_ATTRINFO * attr_info,
    RECDES * recdes,
    int btid_index,
    DB_VALUE * result,
    FUNC_PRED_UNPACK_INFO * func_pred,
    TP_DOMAIN ** fi_domain
) 

function heap_file_map_chkreloc

static int heap_file_map_chkreloc (
    THREAD_ENTRY * thread_p,
    PAGE_PTR * page,
    bool * stop,
    void * args
) 

function heap_find_location_and_insert_rec_newhome

static int heap_find_location_and_insert_rec_newhome (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_fix_forward_page

static int heap_fix_forward_page (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    OID * forward_oid_hint
) 

function heap_fix_header_page

static int heap_fix_header_page (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_get_bigone_content

static SCAN_CODE heap_get_bigone_content (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache,
    bool ispeeking,
    OID * forward_oid,
    RECDES * recdes
) 

function heap_get_capacity

static int heap_get_capacity (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    INT64 * num_recs,
    INT64 * num_recs_relocated,
    INT64 * num_recs_inovf,
    INT64 * num_pages,
    int * avg_freespace,
    int * avg_freespace_nolast,
    int * avg_reclength,
    int * avg_overhead
) 

function heap_get_chain_ptr

static HEAP_CHAIN * heap_get_chain_ptr (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_heap
) 

function heap_get_class_info_from_record

static int heap_get_class_info_from_record (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid,
    HFID * hfid,
    char ** classname_out
) 

function heap_get_class_subclasses

static int heap_get_class_subclasses (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid,
    int * count,
    OID ** subclasses
) 

function heap_get_file_type

static FILE_TYPE heap_get_file_type (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_get_header_page

static int heap_get_header_page (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    VPID * header_vpid
) 

function heap_get_header_stats_ptr

static HEAP_HDR_STATS * heap_get_header_stats_ptr (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_header
) 

function heap_get_if_diff_chn

static SCAN_CODE heap_get_if_diff_chn (
    THREAD_ENTRY * thread_p,
    PAGE_PTR pgptr,
    INT16 slotid,
    RECDES * recdes,
    bool ispeeking,
    int chn,
    MVCC_SNAPSHOT * mvcc_snapshot
) 

function heap_get_insert_location_with_lock

static int heap_get_insert_location_with_lock (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    PGBUF_WATCHER * home_hint_p
) 

function heap_get_last_page

static int heap_get_last_page (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    HEAP_HDR_STATS * heap_hdr,
    HEAP_SCANCACHE * scan_cache,
    VPID * last_vpid,
    PGBUF_WATCHER * pg_watcher
) 

function heap_get_last_vpid

static int heap_get_last_vpid (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    VPID * last_vpid
) 

function heap_get_page_info

static SCAN_CODE heap_get_page_info (
    THREAD_ENTRY * thread_p,
    const  OID * cls_oid,
    const  HFID * hfid,
    const  VPID * vpid,
    const  PAGE_PTR pgptr,
    DB_VALUE ** page_info
) 

function heap_get_page_with_watcher

static int heap_get_page_with_watcher (
    THREAD_ENTRY * thread_p,
    const  VPID * page_vpid,
    PGBUF_WATCHER * pg_watcher
) 

function heap_get_partition_attributes

static int heap_get_partition_attributes (
    THREAD_ENTRY * thread_p,
    const  OID * cls_oid,
    ATTR_ID * type_id,
    ATTR_ID * values_id
) 

function heap_get_partitions_from_subclasses

static int heap_get_partitions_from_subclasses (
    THREAD_ENTRY * thread_p,
    const  OID * subclasses,
    int * parts_count,
    OR_PARTITION * partitions
) 

function heap_get_record_info

static SCAN_CODE heap_get_record_info (
    THREAD_ENTRY * thread_p,
    const  OID oid,
    RECDES * recdes,
    RECDES forward_recdes,
    PGBUF_WATCHER * page_watcher,
    HEAP_SCANCACHE * scan_cache,
    bool ispeeking,
    DB_VALUE ** record_info
) 

function heap_get_record_location

static int heap_get_record_location (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_get_spage_type

static int heap_get_spage_type (
    void
) 

function heap_get_visible_version_from_log

static SCAN_CODE heap_get_visible_version_from_log (
    THREAD_ENTRY * thread_p,
    RECDES * recdes,
    LOG_LSA * previous_version_lsa,
    HEAP_SCANCACHE * scan_cache,
    int has_chn
) 

function heap_hash_hfid

static unsigned  int heap_hash_hfid (
    const  void * key_hfid,
    unsigned  int htsize
) 

function heap_hash_vpid

static unsigned  int heap_hash_vpid (
    const  void * key_vpid,
    unsigned  int htsize
) 

function heap_hfid_cache_get

static int heap_hfid_cache_get (
    THREAD_ENTRY * thread_p,
    const  OID * class_oid,
    HFID * hfid,
    FILE_TYPE * ftype_out,
    char ** classname_out
) 

function heap_hfid_isvalid

static DISK_ISVALID heap_hfid_isvalid (
    HFID * hfid
) 

function heap_hfid_table_entry_alloc

static void * heap_hfid_table_entry_alloc (
    void
) 

function heap_hfid_table_entry_free

static int heap_hfid_table_entry_free (
    void * unique_stat
) 

function heap_hfid_table_entry_init

static int heap_hfid_table_entry_init (
    void * unique_stat
) 

function heap_hfid_table_entry_key_compare

static int heap_hfid_table_entry_key_compare (
    void * k1,
    void * k2
) 

function heap_hfid_table_entry_key_copy

static int heap_hfid_table_entry_key_copy (
    void * src,
    void * dest
) 

function heap_hfid_table_entry_key_hash

static unsigned  int heap_hfid_table_entry_key_hash (
    void * key,
    int hash_table_size
) 

function heap_hfid_table_entry_uninit

static int heap_hfid_table_entry_uninit (
    void * entry
) 

function heap_insert_adjust_recdes_header

static int heap_insert_adjust_recdes_header (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_class
) 

function heap_insert_handle_multipage_record

static int heap_insert_handle_multipage_record (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_insert_newhome

static int heap_insert_newhome (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * parent_context,
    RECDES * recdes_p,
    OID * out_oid_p,
    PGBUF_WATCHER * newhome_pg_watcher
) 

function heap_insert_physical

static int heap_insert_physical (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_is_reusable_oid

static bool heap_is_reusable_oid (
    const  FILE_TYPE file_type
) 

function heap_is_valid_oid

static int heap_is_valid_oid (
    THREAD_ENTRY * thread_p,
    OID * oid
) 

static void heap_link_watchers (
    HEAP_OPERATION_CONTEXT * child,
    HEAP_OPERATION_CONTEXT * parent
) 

function heap_locate_attribute

static OR_ATTRIBUTE * heap_locate_attribute (
    ATTR_ID attrid,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_log_delete_physical

static void heap_log_delete_physical (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    VFID * vfid_p,
    OID * oid_p,
    RECDES * recdes_p,
    bool mark_reusable,
    LOG_LSA * undo_lsa
) 

function heap_log_insert_physical

static void heap_log_insert_physical (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    VFID * vfid_p,
    OID * oid_p,
    RECDES * recdes_p,
    bool is_mvcc_op,
    bool is_redistribute_op
) 

function heap_log_update_physical

static void heap_log_update_physical (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    VFID * vfid_p,
    OID * oid_p,
    RECDES * old_recdes_p,
    RECDES * new_recdes_p,
    LOG_RCVINDEX rcvindex
) 

function heap_mark_class_as_modified

static int heap_mark_class_as_modified (
    THREAD_ENTRY * thread_p,
    OID * oid_p,
    int chn,
    bool decache
) 

function heap_midxkey_get_value

static int heap_midxkey_get_value (
    RECDES * recdes,
    OR_ATTRIBUTE * att,
    DB_VALUE * value,
    HEAP_CACHE_ATTRINFO * attr_info
) 

function heap_midxkey_key_generate

static DB_MIDXKEY * heap_midxkey_key_generate (
    THREAD_ENTRY * thread_p,
    RECDES * recdes,
    DB_MIDXKEY * midxkey,
    int * att_ids,
    HEAP_CACHE_ATTRINFO * attrinfo,
    DB_VALUE * func_res,
    int func_col_id,
    int func_attr_index_start,
    TP_DOMAIN * midxkey_domain,
    OID * rec_oid
) 

function heap_midxkey_key_get

static DB_MIDXKEY * heap_midxkey_key_get (
    RECDES * recdes,
    DB_MIDXKEY * midxkey,
    OR_INDEX * index,
    HEAP_CACHE_ATTRINFO * attrinfo,
    DB_VALUE * func_res,
    TP_DOMAIN * func_domain,
    TP_DOMAIN ** key_domain,
    OID * rec_oid,
    bool is_check_foreign
) 

function heap_mvcc_log_delete

static void heap_mvcc_log_delete (
    THREAD_ENTRY * thread_p,
    LOG_DATA_ADDR * p_addr,
    LOG_RCVINDEX rcvindex
) 

function heap_mvcc_log_home_change_on_delete

static void heap_mvcc_log_home_change_on_delete (
    THREAD_ENTRY * thread_p,
    RECDES * old_recdes,
    RECDES * new_recdes,
    LOG_DATA_ADDR * p_addr
) 

function heap_mvcc_log_home_no_change

static void heap_mvcc_log_home_no_change (
    THREAD_ENTRY * thread_p,
    LOG_DATA_ADDR * p_addr
) 

function heap_mvcc_log_insert

static void heap_mvcc_log_insert (
    THREAD_ENTRY * thread_p,
    RECDES * p_recdes,
    LOG_DATA_ADDR * p_addr
) 

function heap_mvcc_log_redistribute

static void heap_mvcc_log_redistribute (
    THREAD_ENTRY * thread_p,
    RECDES * p_recdes,
    LOG_DATA_ADDR * p_addr
) 

function heap_next_internal

static SCAN_CODE heap_next_internal (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    OID * class_oid,
    OID * next_oid,
    RECDES * recdes,
    HEAP_SCANCACHE * scan_cache,
    bool ispeeking,
    bool reversed_direction,
    DB_VALUE ** cache_recordinfo,
    sampling_info * sampling
) 

function heap_ovf_flush

static int heap_ovf_flush (
    THREAD_ENTRY * thread_p,
    const  OID * ovf_oid
) 

function heap_ovf_get

static SCAN_CODE heap_ovf_get (
    THREAD_ENTRY * thread_p,
    const  OID * ovf_oid,
    RECDES * recdes,
    int chn,
    MVCC_SNAPSHOT * mvcc_snapshot
) 

function heap_ovf_get_capacity

static int heap_ovf_get_capacity (
    THREAD_ENTRY * thread_p,
    const  OID * ovf_oid,
    int * ovf_len,
    int * ovf_num_pages,
    int * ovf_overhead,
    int * ovf_free_space
) 

function heap_ovf_get_length

static int heap_ovf_get_length (
    THREAD_ENTRY * thread_p,
    const  OID * ovf_oid
) 

function heap_ovf_insert

static OID * heap_ovf_insert (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    OID * ovf_oid,
    RECDES * recdes
) 

function heap_ovf_update

static const  OID * heap_ovf_update (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    const  OID * ovf_oid,
    RECDES * recdes
) 

function heap_page_rv_chain_update

static void heap_page_rv_chain_update (
    THREAD_ENTRY * thread_p,
    PAGE_PTR heap_page,
    MVCCID mvccid,
    bool vacuum_status_change
) 

function heap_page_update_chain_after_mvcc_op

static void heap_page_update_chain_after_mvcc_op (
    THREAD_ENTRY * thread_p,
    PAGE_PTR heap_page,
    MVCCID mvccid
) 

function heap_reinitialize_page

static int heap_reinitialize_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR pgptr,
    const  bool is_header_page
) 

function heap_reuse

static const  HFID * heap_reuse (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    const  OID * class_oid,
    const  bool reuse_oid
) 

function heap_rv_mvcc_redo_delete_internal

static int heap_rv_mvcc_redo_delete_internal (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page,
    PGSLOTID slotid,
    MVCCID mvccid
) 

function heap_scan_cache_allocate_recdes_data

static int heap_scan_cache_allocate_recdes_data (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache_p,
    RECDES * recdes_p,
    int size
) 

function heap_scan_pb_lock_and_fetch_debug

static PAGE_PTR heap_scan_pb_lock_and_fetch_debug (
    THREAD_ENTRY * thread_p,
    const  VPID * vpid_ptr,
    PAGE_FETCH_MODE fetch_mode,
    LOCK lock,
    HEAP_SCANCACHE * scan_cache,
    PGBUF_WATCHER * pg_watcher,
    const  char * caller_file,
    const  int caller_line,
    const  char * caller_func
) 

function heap_scancache_add_partition_node

static int heap_scancache_add_partition_node (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache,
    OID * partition_oid
) 

function heap_scancache_block_allocate

static void heap_scancache_block_allocate (
    cubmem::block & b,
    size_t size
) 

function heap_scancache_block_deallocate

static void heap_scancache_block_deallocate (
    cubmem::block & b
) 

function heap_scancache_check_with_hfid

static int heap_scancache_check_with_hfid (
    THREAD_ENTRY * thread_p,
    HFID * hfid,
    OID * class_oid,
    HEAP_SCANCACHE ** scan_cache
) 

function heap_scancache_end_internal

static int heap_scancache_end_internal (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache,
    bool scan_state
) 

function heap_scancache_force_modify

static int heap_scancache_force_modify (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache
) 

function heap_scancache_quick_end

static int heap_scancache_quick_end (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache
) 

function heap_scancache_quick_start_internal

static int heap_scancache_quick_start_internal (
    HEAP_SCANCACHE * scan_cache,
    const  HFID * hfid
) 

function heap_scancache_reset_modify

static int heap_scancache_reset_modify (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache,
    const  HFID * hfid,
    const  OID * class_oid
) 

function heap_scancache_start_internal

static int heap_scancache_start_internal (
    THREAD_ENTRY * thread_p,
    HEAP_SCANCACHE * scan_cache,
    const  HFID * hfid,
    const  OID * class_oid,
    int cache_last_fix_page,
    bool is_queryscan,
    MVCC_SNAPSHOT * mvcc_snapshot
) 

function heap_scanrange_isvalid

static DISK_ISVALID heap_scanrange_isvalid (
    HEAP_SCANRANGE * scan_range
) 

function heap_stats_add_bestspace

static HEAP_STATS_ENTRY * heap_stats_add_bestspace (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    VPID * vpid,
    int freespace
) 

function heap_stats_bestspace_finalize

static int heap_stats_bestspace_finalize (
    void
) 

function heap_stats_bestspace_initialize

static int heap_stats_bestspace_initialize (
    void
) 

function heap_stats_del_bestspace_by_hfid

static int heap_stats_del_bestspace_by_hfid (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid
) 

function heap_stats_del_bestspace_by_vpid

static int heap_stats_del_bestspace_by_vpid (
    THREAD_ENTRY * thread_p,
    VPID * vpid
) 

function heap_stats_entry_free

static int heap_stats_entry_free (
    THREAD_ENTRY * thread_p,
    void * data,
    void * args
) 

function heap_stats_find_best_page

static PAGE_PTR heap_stats_find_best_page (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    int needed_space,
    bool isnew_rec,
    HEAP_SCANCACHE * space_cache,
    PGBUF_WATCHER * pg_watcher
) 

function heap_stats_find_page_in_bestspace

static HEAP_FINDSPACE heap_stats_find_page_in_bestspace (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    HEAP_BESTSPACE * bestspace,
    int * idx_badspace,
    int record_length,
    int needed_space,
    HEAP_SCANCACHE * scan_cache,
    PGBUF_WATCHER * pg_watcher
) 

function heap_stats_get_bestspace_by_vpid

static HEAP_BESTSPACE heap_stats_get_bestspace_by_vpid (
    THREAD_ENTRY * thread_p,
    VPID * vpid
) 

function heap_stats_get_min_freespace

static int heap_stats_get_min_freespace (
    HEAP_HDR_STATS * heap_hdr
) 

function heap_stats_get_second_best

static int heap_stats_get_second_best (
    HEAP_HDR_STATS * heap_hdr,
    VPID * vpid
) 

function heap_stats_put_second_best

static void heap_stats_put_second_best (
    HEAP_HDR_STATS * heap_hdr,
    VPID * vpid
) 

function heap_stats_quick_num_fit_in_bestspace

static int heap_stats_quick_num_fit_in_bestspace (
    HEAP_BESTSPACE * bestspace,
    int num_entries,
    int unit_size,
    int unfill_space
) 

function heap_stats_sync_bestspace

static int heap_stats_sync_bestspace (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    HEAP_HDR_STATS * heap_hdr,
    VPID * hdr_vpid,
    bool scan_all,
    bool can_cycle
) 

function heap_stats_update_internal

static int heap_stats_update_internal (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    VPID * lotspace_vpid,
    int free_space
) 

function heap_try_fetch_forward_page

static inline int heap_try_fetch_forward_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR * home_pgptr_p,
    const  VPID * home_vpid_p,
    const  OID * oid_p,
    PAGE_PTR * fwd_pgptr_p,
    const  VPID * fwd_vpid_p,
    const  OID * fwd_oid_p,
    HEAP_SCANCACHE * scan_cache,
    int * again_count,
    int again_max
) 

function heap_try_fetch_header_page

static inline int heap_try_fetch_header_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR * home_pgptr_p,
    const  VPID * home_vpid_p,
    const  OID * oid_p,
    PAGE_PTR * hdr_pgptr_p,
    const  VPID * hdr_vpid_p,
    HEAP_SCANCACHE * scan_cache,
    int * again_count,
    int again_max
) 

function heap_try_fetch_header_with_forward_page

static inline int heap_try_fetch_header_with_forward_page (
    THREAD_ENTRY * thread_p,
    PAGE_PTR * home_pgptr_p,
    const  VPID * home_vpid_p,
    const  OID * oid_p,
    PAGE_PTR * hdr_pgptr_p,
    const  VPID * hdr_vpid_p,
    PAGE_PTR * fwd_pgptr_p,
    const  VPID * fwd_vpid_p,
    const  OID * fwd_oid_p,
    HEAP_SCANCACHE * scan_cache,
    int * again_count,
    int again_max
) 

function heap_unfix_watchers

static void heap_unfix_watchers (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context
) 

function heap_update_adjust_recdes_header

static int heap_update_adjust_recdes_header (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * update_context,
    bool is_mvcc_class
) 

function heap_update_and_log_header

static int heap_update_and_log_header (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    const  PGBUF_WATCHER heap_header_watcher,
    HEAP_HDR_STATS * heap_hdr,
    const  VPID new_next_vpid,
    const  VPID new_last_vpid,
    const  int new_num_pages
) 

function heap_update_bigone

static int heap_update_bigone (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_op
) 

function heap_update_home

static int heap_update_home (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_op
) 

function heap_update_physical

static int heap_update_physical (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page_p,
    short slot_id,
    RECDES * recdes_p
) 

function heap_update_relocation

static int heap_update_relocation (
    THREAD_ENTRY * thread_p,
    HEAP_OPERATION_CONTEXT * context,
    bool is_mvcc_op
) 

function heap_update_set_prev_version

static int heap_update_set_prev_version (
    THREAD_ENTRY * thread_p,
    const  OID * oid,
    PGBUF_WATCHER * home_pg_watcher,
    PGBUF_WATCHER * fwd_pg_watcher,
    LOG_LSA * prev_version_lsa
) 

function heap_vpid_alloc

static int heap_vpid_alloc (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    PAGE_PTR hdr_pgptr,
    HEAP_HDR_STATS * heap_hdr,
    HEAP_SCANCACHE * scan_cache,
    PGBUF_WATCHER * new_pg_watcher
) 

function heap_vpid_init_new

static int heap_vpid_init_new (
    THREAD_ENTRY * thread_p,
    PAGE_PTR page,
    void * args
) 

function heap_vpid_remove

static VPID * heap_vpid_remove (
    THREAD_ENTRY * thread_p,
    const  HFID * hfid,
    HEAP_HDR_STATS * heap_hdr,
    VPID * rm_vpid
) 

Macro Definition Documentation

define BEST_PAGE_SEARCH_MAX_COUNT

#define BEST_PAGE_SEARCH_MAX_COUNT `100`

define CLASSREPR_HASH_SIZE

#define CLASSREPR_HASH_SIZE `(heap_Classrepr_cache.num_entries * 2)`

define CLASSREPR_REPR_INCREMENT

#define CLASSREPR_REPR_INCREMENT `10`

define DEFAULT_REPR_INCREMENT

#define DEFAULT_REPR_INCREMENT `16`

define HEAP_BESTSPACE_SYNC_THRESHOLD

#define HEAP_BESTSPACE_SYNC_THRESHOLD `(0.1f)`

define HEAP_BITMASK

#define HEAP_BITMASK `( HEAP_NBITS_IN_BYTE - 1)`

define HEAP_BITMASK_INBYTE

#define HEAP_BITMASK_INBYTE (
    bit_num
) `(1 << (( unsigned  int )( bit_num ) & HEAP_BITMASK ))`

define HEAP_BIT_CLEAR

#define HEAP_BIT_CLEAR (
    byte_ptr,
    bit_num
) `/* multi line expression */`

define HEAP_BIT_GET

#define HEAP_BIT_GET (
    byte_ptr,
    bit_num
) `(* HEAP_BYTEGET ( byte_ptr , bit_num ) & HEAP_BITMASK_INBYTE ( bit_num ))`

define HEAP_BIT_SET

#define HEAP_BIT_SET (
    byte_ptr,
    bit_num
) `/* multi line expression */`

define HEAP_BYTEGET

#define HEAP_BYTEGET (
    byte_ptr,
    bit_num
) `(( unsigned  char *)( byte_ptr ) + HEAP_BYTEOFFSET_OFBIT ( bit_num ))`

define HEAP_BYTEOFFSET_OFBIT

#define HEAP_BYTEOFFSET_OFBIT (
    bit_num
) `(( unsigned  int )( bit_num ) >> HEAP_NSHIFTS )`

define HEAP_CHKRELOC_UNFOUND_SHORT

#define HEAP_CHKRELOC_UNFOUND_SHORT `5`

define HEAP_CHK_ADD_UNFOUND_RELOCOIDS

#define HEAP_CHK_ADD_UNFOUND_RELOCOIDS `100`

define HEAP_CHNGUESS_FUDGE_MININDICES

#define HEAP_CHNGUESS_FUDGE_MININDICES `(100)`

define HEAP_CLASSREPR_MAXCACHE

#define HEAP_CLASSREPR_MAXCACHE `1024`

define HEAP_DEBUG_ISVALID_SCANRANGE

#define HEAP_DEBUG_ISVALID_SCANRANGE (
    scan_range
) `heap_scanrange_isvalid (scan_range)`

define HEAP_DEBUG_SCANCACHE_INITPATTERN

#define HEAP_DEBUG_SCANCACHE_INITPATTERN `(12345)`

define HEAP_GUESS_NUM_ATTRS_REFOIDS

#define HEAP_GUESS_NUM_ATTRS_REFOIDS `100`

define HEAP_GUESS_NUM_INDEXED_ATTRS

#define HEAP_GUESS_NUM_INDEXED_ATTRS `100`

define HEAP_IS_PAGE_OF_OID

#define HEAP_IS_PAGE_OF_OID (
    thread_p,
    pgptr,
    oid
) `/* multi line expression */`

define HEAP_LOG_MVCC_INSERT_MAX_REDO_CRUMBS

#define HEAP_LOG_MVCC_INSERT_MAX_REDO_CRUMBS `4`

define HEAP_LOG_MVCC_REDISTRIBUTE_MAX_REDO_CRUMBS

#define HEAP_LOG_MVCC_REDISTRIBUTE_MAX_REDO_CRUMBS `4`

define HEAP_MAX_FIRSTSLOTID_LENGTH

#define HEAP_MAX_FIRSTSLOTID_LENGTH `( sizeof ( HEAP_HDR_STATS ))`

define HEAP_MAYNEED_DECACHE_GUESSED_LASTREPRS

#define HEAP_MAYNEED_DECACHE_GUESSED_LASTREPRS (
    class_oid,
    hfid
) `/* multi line expression */`

define HEAP_MVCC_SET_HEADER_MAXIMUM_SIZE

#define HEAP_MVCC_SET_HEADER_MAXIMUM_SIZE (
    mvcc_rec_header_p
) `/* multi line expression */`

define HEAP_NBITS_IN_BYTE

#define HEAP_NBITS_IN_BYTE `(8)`

define HEAP_NBITS_TO_NBYTES

#define HEAP_NBITS_TO_NBYTES (
    bit_cnt
) `(( unsigned  int )(( bit_cnt ) + HEAP_BITMASK ) >> HEAP_NSHIFTS )`

define HEAP_NBYTES_CLEARED

#define HEAP_NBYTES_CLEARED (
    byte_ptr,
    byte_cnt
) `memset (( byte_ptr ), '\0', ( byte_cnt ))`

define HEAP_NBYTES_TO_NBITS

#define HEAP_NBYTES_TO_NBITS (
    byte_cnt
) `(( unsigned  int )( byte_cnt ) << HEAP_NSHIFTS )`

define HEAP_NSHIFTS

#define HEAP_NSHIFTS `(3)   /* For  multiplication / division  by 8 */`

define HEAP_NUM_BEST_SPACESTATS

#define HEAP_NUM_BEST_SPACESTATS `10`

define HEAP_PAGE_FLAG_VACUUM_ONCE

#define HEAP_PAGE_FLAG_VACUUM_ONCE `0x80000000`

define HEAP_PAGE_FLAG_VACUUM_STATUS_MASK

#define HEAP_PAGE_FLAG_VACUUM_STATUS_MASK `0xC0000000`

define HEAP_PAGE_FLAG_VACUUM_UNKNOWN

#define HEAP_PAGE_FLAG_VACUUM_UNKNOWN `0x40000000`

define HEAP_PAGE_GET_VACUUM_STATUS

#define HEAP_PAGE_GET_VACUUM_STATUS (
    chain
) `/* multi line expression */`

define HEAP_PAGE_SET_VACUUM_STATUS

#define HEAP_PAGE_SET_VACUUM_STATUS (
    chain,
    status
) `/* multi line expression */`

define HEAP_PERF_START

#define HEAP_PERF_START (
    thread_p,
    context
) `PERF_UTIME_TRACKER_START (thread_p, (context)->time_track)`

define HEAP_PERF_TRACK_EXECUTE

#define HEAP_PERF_TRACK_EXECUTE (
    thread_p,
    context
) `/* multi line expression */`

define HEAP_PERF_TRACK_LOGGING

#define HEAP_PERF_TRACK_LOGGING (
    thread_p,
    context
) `/* multi line expression */`

define HEAP_PERF_TRACK_PREPARE

#define HEAP_PERF_TRACK_PREPARE (
    thread_p,
    context
) `/* multi line expression */`

define HEAP_RV_FLAG_VACUUM_STATUS_CHANGE

#define HEAP_RV_FLAG_VACUUM_STATUS_CHANGE `0x8000`

define HEAP_SCAN_ORDERED_HFID

#define HEAP_SCAN_ORDERED_HFID (
    scan
) `(((scan) != NULL ) ? (&(scan)->node.hfid) : ( PGBUF_ORDERED_NULL_HFID ))`

define HEAP_STATS_ENTRY_FREELIST_SIZE

#define HEAP_STATS_ENTRY_FREELIST_SIZE `1000`

define HEAP_STATS_ENTRY_MHT_EST_SIZE

#define HEAP_STATS_ENTRY_MHT_EST_SIZE `1000`

define HEAP_STATS_NEXT_BEST_INDEX

#define HEAP_STATS_NEXT_BEST_INDEX (
    i
) `((( i ) + 1) % HEAP_NUM_BEST_SPACESTATS )`

define HEAP_STATS_PREV_BEST_INDEX

#define HEAP_STATS_PREV_BEST_INDEX (
    i
) `((( i ) == 0) ? ( HEAP_NUM_BEST_SPACESTATS - 1) : (( i ) - 1));`

define HEAP_UPDATE_IS_MVCC_OP

#define HEAP_UPDATE_IS_MVCC_OP (
    is_mvcc_class,
    update_style
) `(( is_mvcc_class ) && (! HEAP_IS_UPDATE_INPLACE ( update_style )) ? ( true ) : ( false ))`

define MVCC_SET_DELETE_INFO

#define MVCC_SET_DELETE_INFO (
    mvcc_delete_info_p,
    row_delete_id,
    satisfies_del_result
) `/* multi line expression */`

define OR_FIXED_ATTRIBUTES_OFFSET_BY_OBJ

#define OR_FIXED_ATTRIBUTES_OFFSET_BY_OBJ (
    obj,
    nvars
) `( OR_HEADER_SIZE (obj) + OR_VAR_TABLE_SIZE_INTERNAL ( nvars , OR_GET_OFFSET_SIZE (obj)))`

define REPR_HASH

#define REPR_HASH (
    class_oid
) `( OID_PSEUDO_KEY (class_oid)% CLASSREPR_HASH_SIZE )`

define __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS 

define heap_bestspace_log

#define heap_bestspace_log (
    ...
) `if ( prm_get_bool_value ( PRM_ID_DEBUG_BESTSPACE )) _er_log_debug ( ARG_FILE_LINE , __VA_ARGS__ )`

define heap_classrepr_log_er

#define heap_classrepr_log_er (
    msg,
    ...
) `if ( prm_get_bool_value ( PRM_ID_REPR_CACHE_LOG )) \ heap_classrepr_logging_template ( ARG_FILE_LINE , _er_log_debug , msg, __VA_ARGS__ )`

define heap_classrepr_log_stack

#define heap_classrepr_log_stack (
    msg,
    ...
) `if ( prm_get_bool_value ( PRM_ID_REPR_CACHE_LOG )) \ heap_classrepr_logging_template ( ARG_FILE_LINE , er_print_callstack , msg, __VA_ARGS__ )`

define heap_hfid_table_log

#define heap_hfid_table_log (
    thp,
    oidp,
    msg,
    ...
) `/* multi line expression */`

define heap_scan_pb_lock_and_fetch

#define heap_scan_pb_lock_and_fetch (
    ...
) `heap_scan_pb_lock_and_fetch_debug ( __VA_ARGS__ , ARG_FILE_LINE_FUNC )`


The documentation for this class was generated from the following file cubrid/src/storage/heap_file.c