29 #if !defined (SERVER_MODE) && !defined (SA_MODE) 30 #error Belongs to server module 35 #if defined (SERVER_MODE) 54 #define QFILE_IS_LIST_CACHE_DISABLED (qfile_Is_list_cache_disabled) 56 #define QFILE_FREE_AND_INIT_LIST_ID(list_id) \ 58 if (list_id != NULL) \ 60 qfile_free_list_id (list_id); \ 77 #define QFILE_PAGE_HEADER_INITIALIZER \ 78 { 0, NULL_PAGEID, NULL_PAGEID, 0, NULL_PAGEID, NULL_VOLID, NULL_VOLID, NULL_VOLID } 87 #if defined(SERVER_MODE) 90 bool uncommitted_marker;
91 int *tran_index_array;
97 struct timeval time_created;
98 struct timeval time_last_used;
149 void *extra_arg,
int limit,
bool do_close);
158 #if defined (CUBRID_DEBUG) 159 extern int qfile_dump_list_cache (
THREAD_ENTRY * thread_p,
const char *fname);
179 int *tuple_length_p);
191 #if defined (CUBRID_DEBUG)
QFILE_LIST_ID * qfile_combine_two_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *lhs_file, QFILE_LIST_ID *rhs_file, int flag)
SORT_STATUS qfile_make_sort_key(THREAD_ENTRY *thread_p, SORTKEY_INFO *info, RECDES *key, QFILE_LIST_SCAN_ID *input_scan, QFILE_TUPLE_RECORD *tplrec)
int qfile_set_tuple_column_value(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id_p, PAGE_PTR curr_page_p, VPID *vpid_p, QFILE_TUPLE tuple_p, int col_num, DB_VALUE *value_p, TP_DOMAIN *domain)
int qfile_fast_intint_tuple_to_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id_p, int v1, int v2)
int qfile_generate_tuple_into_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, QFILE_TUPLE_TYPE tpl_type)
int qfile_get_first_page(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id)
int qfile_add_item_to_list(THREAD_ENTRY *thread_p, char *item, int item_size, QFILE_LIST_ID *list_id)
int qfile_unify_types(QFILE_LIST_ID *list_id1, const QFILE_LIST_ID *list_id2)
QFILE_TUPLE_VALUE_FLAG qfile_locate_tuple_value_r(QFILE_TUPLE tpl, int index, char **tpl_val, int *val_size)
QFILE_TUPLE_VALUE_FLAG qfile_locate_tuple_value(QFILE_TUPLE tpl, int index, char **tpl_val, int *val_size)
void qfile_clear_sort_key_info(SORTKEY_INFO *info)
QFILE_TUPLE qfile_generate_sort_tuple(SORTKEY_INFO *info, SORT_REC *sort_rec, RECDES *output_recdes)
int qfile_Is_list_cache_disabled
int SORT_PUT_FUNC(THREAD_ENTRY *thread_p, const RECDES *, void *)
int qfile_copy_tuple_descr_to_tuple(THREAD_ENTRY *thread_p, QFILE_TUPLE_DESCRIPTOR *tpl_descr, QFILE_TUPLE_RECORD *tplrec)
void qfile_load_xasl_node_header(THREAD_ENTRY *thread_p, char *xasl_stream, xasl_node_header *xasl_header_p)
void qfile_clear_list_id(QFILE_LIST_ID *list_id)
void qfile_clear_uncommited_list_cache_entry(THREAD_ENTRY *thread_p, int tran_index)
void qfile_free_sort_list(THREAD_ENTRY *thread_p, SORT_LIST *sort_list)
int qfile_add_tuple_to_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, QFILE_TUPLE tpl)
SCAN_CODE qfile_jump_scan_tuple_position(THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *s_id, QFILE_TUPLE_POSITION *ls_tplpos, QFILE_TUPLE_RECORD *tplrec, int peek)
QFILE_LIST_ID * qfile_open_list(THREAD_ENTRY *thread_p, QFILE_TUPLE_VALUE_TYPE_LIST *type_list, SORT_LIST *sort_list, QUERY_ID query_id, int flag)
void qfile_destroy_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id)
DB_VALUE_ARRAY param_values
int qfile_finalize_list_cache(THREAD_ENTRY *thread_p)
int qfile_compare_all_sort_record(const void *pk0, const void *pk1, void *arg)
XASL_CACHE_ENTRY * xcache_entry
int qfile_get_estimated_pages_for_sorting(QFILE_LIST_ID *listid, SORTKEY_INFO *info)
int qfile_add_tuple_get_pos_in_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, QFILE_TUPLE tpl, QFILE_TUPLE_POSITION *tuple_pos)
QFILE_LIST_ID * qfile_clone_list_id(const QFILE_LIST_ID *list_id, bool include_sort_list)
void qfile_end_scan_fix(THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *s_id)
const char * query_string
SORTKEY_INFO * qfile_initialize_sort_key_info(SORTKEY_INFO *info, SORT_LIST *list, QFILE_TUPLE_VALUE_TYPE_LIST *types)
void qfile_update_qlist_count(THREAD_ENTRY *thread_p, const QFILE_LIST_ID *list_p, int inc)
bool qfile_is_sort_list_covered(SORT_LIST *covering_list, SORT_LIST *covered_list)
int qfile_save_tuple(QFILE_TUPLE_DESCRIPTOR *tuple_descr_p, QFILE_TUPLE_TYPE tuple_type, char *page_p, int *tuple_length_p)
int qfile_end_use_of_list_cache_entry(THREAD_ENTRY *thread_p, QFILE_LIST_CACHE_ENTRY *lent, bool marker)
int qfile_reopen_list_as_append_mode(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id_p)
int qfile_update_domains_on_type_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id_p, valptr_list_node *valptr_list_p)
void qfile_close_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id)
int qfile_start_scan_fix(THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *s_id)
int qfile_locate_tuple_next_value(OR_BUF *iterator, OR_BUF *buf, QFILE_TUPLE_VALUE_FLAG *flag)
int qfile_get_tuple(THREAD_ENTRY *thread_p, PAGE_PTR first_page, QFILE_TUPLE tuplep, QFILE_TUPLE_RECORD *tplrec, QFILE_LIST_ID *list_idp)
int qfile_initialize_list_cache(THREAD_ENTRY *thread_p)
SCAN_CODE qfile_scan_list_prev(THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *s_id, QFILE_TUPLE_RECORD *tplrec, int peek)
QFILE_LIST_ID * qfile_duplicate_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, int flag)
QFILE_LIST_ID * qfile_sort_list_with_func(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, SORT_LIST *sort_list, QUERY_OPTIONS option, int ls_flag, SORT_GET_FUNC *get_fn, SORT_PUT_FUNC *put_fn, SORT_CMP_FUNC *cmp_fn, void *extra_arg, int limit, bool do_close)
int qfile_fast_val_tuple_to_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id_p, DB_VALUE *val)
int qfile_overwrite_tuple(THREAD_ENTRY *thread_p, PAGE_PTR first_page, QFILE_TUPLE tuplep, QFILE_TUPLE_RECORD *tplrec, QFILE_LIST_ID *list_idp)
int qfile_dump_list_cache_internal(THREAD_ENTRY *thread_p, FILE *fp)
int qfile_copy_list_id(QFILE_LIST_ID *dest_list_id, const QFILE_LIST_ID *src_list_id, bool include_sort_list)
int qfile_add_overflow_tuple_to_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, PAGE_PTR ovfl_tpl_pg, QFILE_LIST_ID *input_list_id)
SORT_LIST * qfile_allocate_sort_list(THREAD_ENTRY *thread_p, int cnt)
int qfile_initialize(void)
SCAN_CODE qfile_scan_list_next(THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *s_id, QFILE_TUPLE_RECORD *tplrec, int peek)
int qfile_clear_list_cache(THREAD_ENTRY *thread_p, int list_ht_no)
int qfile_compare_partial_sort_record(const void *pk0, const void *pk1, void *arg)
int qfile_reallocate_tuple(QFILE_TUPLE_RECORD *tplrec, int tpl_size)
int qfile_modify_type_list(QFILE_TUPLE_VALUE_TYPE_LIST *type_list, QFILE_LIST_ID *list_id)
bool qfile_has_next_page(PAGE_PTR page_p)
void qfile_close_scan(THREAD_ENTRY *thread_p, QFILE_LIST_SCAN_ID *s_id)
int qfile_get_list_cache_number_of_entries(int ht_no)
void qfile_save_current_scan_tuple_position(QFILE_LIST_SCAN_ID *s_id, QFILE_TUPLE_POSITION *ls_tplpos)
QFILE_LIST_CACHE_ENTRY * qfile_lookup_list_cache_entry(THREAD_ENTRY *thread_p, int list_ht_no, const DB_VALUE_ARRAY *params, bool *result_cached)
QFILE_LIST_CACHE_ENTRY * qfile_update_list_cache_entry(THREAD_ENTRY *thread_p, int list_ht_no, const DB_VALUE_ARRAY *params, const QFILE_LIST_ID *list_id, XASL_CACHE_ENTRY *xasl)
int qfile_open_list_scan(QFILE_LIST_ID *list_id, QFILE_LIST_SCAN_ID *s_id)
int SORT_CMP_FUNC(const void *, const void *, void *)
bool qfile_has_no_cache_entries()
QFILE_LIST_ID * qfile_sort_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id, SORT_LIST *sort_list, QUERY_OPTIONS option, bool do_close)
SORT_STATUS SORT_GET_FUNC(THREAD_ENTRY *thread_p, RECDES *, void *)
void qfile_finalize(void)
void qfile_free_list_id(QFILE_LIST_ID *list_id)
int qfile_fast_intval_tuple_to_list(THREAD_ENTRY *thread_p, QFILE_LIST_ID *list_id_p, int v1, DB_VALUE *v2)