24 #ifndef _FILE_MANAGER_H_ 25 #define _FILE_MANAGER_H_ 58 #define VFID_SET(vfid_ptr, volid_value, fileid_value) \ 60 (vfid_ptr)->volid = (volid_value); \ 61 (vfid_ptr)->fileid = (fileid_value); \ 65 #define VFID_SET_NULL(vfid_ptr) \ 66 VFID_SET (vfid_ptr, NULL_VOLID, NULL_FILEID) 69 #define VFID_COPY(vfid_ptr1, vfid_ptr2) \ 70 *(vfid_ptr1) = *(vfid_ptr2) 72 #define VFID_ISNULL(vfid_ptr) \ 73 ((vfid_ptr)->fileid == NULL_FILEID) 75 #define VFID_EQ(vfid_ptr1, vfid_ptr2) \ 76 ((vfid_ptr1) == (vfid_ptr2) \ 77 || ((vfid_ptr1)->fileid == (vfid_ptr2)->fileid \ 78 && (vfid_ptr1)->volid == (vfid_ptr2)->volid)) 128 #define FILE_DESCRIPTORS_SIZE 64 180 void *f_init_args,
int npages,
VPID * vpids_out);
182 void *f_init_args,
VPID * vpid_out,
PAGE_PTR * page_out);
219 #if defined (SA_MODE) 220 extern int file_tracker_reclaim_marked_deleted (
THREAD_ENTRY * thread_p);
int file_numerable_truncate(THREAD_ENTRY *thread_p, const VFID *vfid, DKNPAGES npages)
DISK_ISVALID file_tracker_check(THREAD_ENTRY *thread_p)
int file_get_num_user_pages(THREAD_ENTRY *thread_p, const VFID *vfid, int *n_user_pages_out)
int file_create_temp(THREAD_ENTRY *thread_p, int npages, VFID *vfid)
int file_rv_tracker_unregister_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_alloc_multiple(THREAD_ENTRY *thread_p, const VFID *vfid, FILE_INIT_PAGE_FUNC f_init, void *f_init_args, int npages, VPID *vpids_out)
int file_create_ehash_dir(THREAD_ENTRY *thread_p, int npages, bool is_tmp, FILE_EHASH_DES *des_ehash, VFID *vfid)
int file_rv_fhead_convert_user_to_ftab_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_extdata_set_next(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_extdata_add(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_fhead_set_last_user_page_ftab(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_get_sticky_first_page(THREAD_ENTRY *thread_p, const VFID *vfid, VPID *vpid_out)
int file_manager_init(void)
int file_tracker_reuse_heap(THREAD_ENTRY *thread_p, const OID *class_oid, HFID *hfid_out)
int file_rv_user_page_mark_delete(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void file_rv_dump_vfid_and_vpid(FILE *fp, int length, void *data)
int file_temp_retire_preserved(THREAD_ENTRY *thread_p, const VFID *vfid)
int(* FILE_MAP_PAGE_FUNC)(THREAD_ENTRY *thread_p, PAGE_PTR *page, bool *stop, void *args)
void file_rv_dump_extdata_remove(FILE *fp, int length, void *data)
int file_dump(THREAD_ENTRY *thread_p, const VFID *vfid, FILE *fp)
int file_tracker_dump_all_capacities(THREAD_ENTRY *thread_p, FILE *fp)
int file_get_type(THREAD_ENTRY *thread_p, const VFID *vfid, FILE_TYPE *ftype_out)
int file_tracker_dump(THREAD_ENTRY *thread_p, FILE *fp)
int file_create_ehash(THREAD_ENTRY *thread_p, int npages, bool is_tmp, FILE_EHASH_DES *des_ehash, VFID *vfid)
int file_apply_tde_algorithm(THREAD_ENTRY *thread_p, const VFID *vfid, const TDE_ALGORITHM tde_algo)
int file_rv_user_page_unmark_delete_physical(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_dealloc_on_postpone(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_destroy(THREAD_ENTRY *thread_p, const VFID *vfid, bool is_temp)
int file_rv_perm_expand_redo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int spacedb(UTIL_FUNCTION_ARG *arg)
int file_rv_partsect_set(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_get_tde_algorithm(THREAD_ENTRY *thread_p, const VFID *vfid, PGBUF_LATCH_CONDITION fix_head_cond, TDE_ALGORITHM *tde_algo)
FILE_VACUUM_DATA_DES vacuum_data
int file_rv_destroy(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_create_with_npages(THREAD_ENTRY *thread_p, FILE_TYPE file_type, int npages, FILE_DESCRIPTORS *des, VFID *vfid)
int file_rv_tracker_mark_heap_deleted_compensate_or_run_postpone(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void file_tempcache_drop_tran_temp_files(THREAD_ENTRY *thread_p)
int file_dealloc(THREAD_ENTRY *thread_p, const VFID *vfid, const VPID *vpid, FILE_TYPE file_type_hint)
int file_tracker_interruptable_iterate(THREAD_ENTRY *thread_p, FILE_TYPE desired_ftype, VFID *vfid, OID *class_oid)
int file_rv_extdata_remove(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_init_page_type(THREAD_ENTRY *thread_p, PAGE_PTR page, void *args)
int file_tracker_dump_all_heap_capacities(THREAD_ENTRY *thread_p, FILE *fp)
DISK_ISVALID file_check_vpid(THREAD_ENTRY *thread_p, const VFID *vfid, const VPID *vpid_lookup)
int file_tracker_dump_all_btree_capacities(THREAD_ENTRY *thread_p, FILE *fp)
int file_rv_set_tde_algorithm(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_temp_retire(THREAD_ENTRY *thread_p, const VFID *vfid)
int file_rv_fhead_alloc(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_fhead_sticky_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
void file_rv_dump_extdata_set_next(FILE *fp, int length, void *data)
int file_tracker_create(THREAD_ENTRY *thread_p, VFID *vfid_tracker_out)
int file_init_temp_page_type(THREAD_ENTRY *thread_p, PAGE_PTR page, void *args)
int file_rv_user_page_unmark_delete_logical(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_alloc(THREAD_ENTRY *thread_p, const VFID *vfid, FILE_INIT_PAGE_FUNC f_init, void *f_init_args, VPID *vpid_out, PAGE_PTR *page_out)
void file_temp_preserve(THREAD_ENTRY *thread_p, const VFID *vfid)
const char * file_type_to_string(FILE_TYPE fstruct_type)
int file_create_query_area(THREAD_ENTRY *thread_p, VFID *vfid)
int file_rv_dealloc_on_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_tracker_load(THREAD_ENTRY *thread_p, const VFID *vfid)
void file_postpone_destroy(THREAD_ENTRY *thread_p, const VFID *vfid)
int file_rv_perm_expand_undo(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_tracker_mark_heap_deleted(THREAD_ENTRY *thread_p, LOG_RCV *rcv, bool is_undo)
int file_create_temp_numerable(THREAD_ENTRY *thread_p, int npages, VFID *vfid)
int file_rv_tracker_reuse_heap(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_alloc_sticky_first_page(THREAD_ENTRY *thread_p, const VFID *vfid, FILE_INIT_PAGE_FUNC f_init, void *f_init_args, VPID *vpid_out, PAGE_PTR *page_out)
int file_tracker_dump_all_heap(THREAD_ENTRY *thread_p, FILE *fp, bool dump_records)
int file_rv_header_update_mark_deleted(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_rv_partsect_clear(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_create(THREAD_ENTRY *thread_p, FILE_TYPE file_type, FILE_TABLESPACE *tablespace, FILE_DESCRIPTORS *des, bool is_temp, bool is_numerable, VFID *vfid)
int file_create_heap(THREAD_ENTRY *thread_p, bool reuse_oid, const OID *class_oid, VFID *vfid)
void file_rv_dump_extdata_add(FILE *fp, int length, void *data)
FILE_OVF_BTREE_DES btree_key_overflow
void file_manager_final(void)
int file_descriptor_update(THREAD_ENTRY *thread_p, const VFID *vfid, void *des_new)
int(* FILE_INIT_PAGE_FUNC)(THREAD_ENTRY *thread_p, PAGE_PTR page, void *args)
FILE_OVF_HEAP_DES heap_overflow
#define FILE_DESCRIPTORS_SIZE
int file_descriptor_dump(THREAD_ENTRY *thread_p, const VFID *vfid, FILE *fp)
int file_rv_extdata_merge(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_spacedb(THREAD_ENTRY *thread_p, SPACEDB_FILES *spacedb)
int file_map_pages(THREAD_ENTRY *thread_p, const VFID *vfid, PGBUF_LATCH_MODE latch_mode, PGBUF_LATCH_CONDITION latch_cond, FILE_MAP_PAGE_FUNC func, void *args)
int file_get_tran_num_temp_files(THREAD_ENTRY *thread_p)
int file_rv_fhead_convert_ftab_to_user_page(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_descriptor_get(THREAD_ENTRY *thread_p, const VFID *vfid, FILE_DESCRIPTORS *desc_out)
int file_rv_fhead_dealloc(THREAD_ENTRY *thread_p, LOG_RCV *rcv)
int file_numerable_find_nth(THREAD_ENTRY *thread_p, const VFID *vfid, int nth, bool auto_alloc, FILE_INIT_PAGE_FUNC f_init, void *f_init_args, VPID *vpid_nth)
int file_is_temp(THREAD_ENTRY *thread_p, const VFID *vfid, bool *is_temp)