File query_executor.c¶
FileList > cubrid > src > query > query_executor.c
Go to the source code of this file
#include "config.h"#include <stdio.h>#include <string.h>#include <math.h>#include <search.h>#include <sys/timeb.h>#include "query_executor.h"#include "binaryheap.h"#include "deduplicate_key.h"#include "porting.h"#include "error_manager.h"#include "partition_sr.h"#include "query_aggregate.hpp"#include "query_analytic.hpp"#include "query_opfunc.h"#include "fetch.h"#include "dbtype.h"#include "object_primitive.h"#include "object_representation.h"#include "list_file.h"#include "extendible_hash.h"#include "xasl_cache.h"#include "stream_to_xasl.h"#include "query_manager.h"#include "query_reevaluation.hpp"#include "replication.h"#include "elo.h"#include "db_elo.h"#include "locator_sr.h"#include "log_lsa.hpp"#include "log_volids.hpp"#include "xserver_interface.h"#include "tz_support.h"#include "session.h"#include "db_date.h"#include "btree_load.h"#include "query_dump.h"#include "jansson.h"#include "db_json.hpp"#include "string_regex.hpp"#include "thread_entry.hpp"#include "regu_var.hpp"#include "xasl.h"#include "xasl_aggregate.hpp"#include "xasl_analytic.hpp"#include "xasl_predicate.hpp"#include "subquery_cache.h"#include "query_hash_join.h"#include "memoize.hpp"#include "px_parallel.hpp"#include "px_heap_scan_trace_handler.hpp"#include "px_heap_scan.hpp"#include "px_query_executor.hpp"#include <vector>#include "memory_wrapper.hpp"
Classes¶
| Type | Name |
|---|---|
| struct | analytic_function_state |
| struct | analytic_state |
| struct | del_lob_info |
| struct | groupby_dimension |
| struct | groupby_state |
| struct | ordbynum_info |
| struct | parent_pos_info |
| struct | upddel_class_info_internal |
Public Types¶
| Type | Name |
|---|---|
| typedef struct analytic_function_state | ANALYTIC_FUNCTION_STATE |
| typedef enum analytic_stage | ANALYTIC_STAGE |
| typedef struct analytic_state | ANALYTIC_STATE |
| typedef struct del_lob_info | DEL_LOB_INFO |
| typedef struct groupby_dimension | GROUPBY_DIMENSION |
| typedef enum groupby_dimension_flag | GROUPBY_DIMENSION_FLAG |
| typedef struct groupby_state | GROUPBY_STATE |
| typedef struct ordbynum_info | ORDBYNUM_INFO |
| typedef struct parent_pos_info | PARENT_POS_INFO |
| enum | TOPN_STATUS |
| typedef struct upddel_class_info_internal | UPDDEL_CLASS_INFO_INTERNAL |
| typedef XSAL_SCAN_FUNC * | XASL_SCAN_FNC_PTR |
| typedef SCAN_CODE(* | XSAL_SCAN_FUNC |
| enum | analytic_stage |
| enum | groupby_dimension_flag |
Public Functions¶
Public Static Functions¶
Macros¶
| Type | Name |
|---|---|
| define | CONNECTBY_TUPLE_INDEX_STRING_MEM 64 |
| define | CTE_CURRENT_SCAN_READ_TUPLE (node) /* multi line expression */ |
| define | CTE_CURR_ITERATION_LAST_TUPLE (node) /* multi line expression */ |
| define | GOTO_EXIT_ON_ERROR /* multi line expression */ |
| define | HASH_AGGREGATE_DEFAULT_TABLE_SIZE 1000 |
| define | HASH_AGGREGATE_VH_SELECTIVITY_THRESHOLD 0.5f |
| define | HASH_AGGREGATE_VH_SELECTIVITY_TUPLE_THRESHOLD 2000 |
| define | MIN_NUM_ROWS_FOR_MULTI_DELETE 20 |
| define | QEXEC_CLEAR_AGG_LIST_VALUE (agg_list) /* multi line expression */ |
| define | QEXEC_EMPTY_ACCESS_SPEC_SCAN (specp) /* multi line expression */ |
| define | QEXEC_GET_BH_TOPN_TUPLE (heap, index) (\*([**TOPN\_TUPLE**](xasl_8h.md#typedef-topn_tuple) \*\*) [**BH\_ELEMENT**](binaryheap_8h.md#define-bh_element) (heap, index)) |
| define | QEXEC_IS_MULTI_TABLE_UPDATE_DELETE (xasl) (xasl->upd\_del\_class\_cnt > 1 \|\| (xasl->upd\_del\_class\_cnt == 1 && xasl->scan\_ptr != [**NULL**](freelistheap_8h.md#define-null))) |
| define | QEXEC_IS_SUBQUERY_CACHE (n) ( (n) && ((n)->sub\_xasl\_id != [**NULL**](freelistheap_8h.md#define-null)) ) |
| define | QEXEC_MERGE_ADD_MERGETUPLE (thread_p, t1, t2) /* multi line expression */ |
| define | QEXEC_MERGE_NEXT_SCAN (thread_p, pre, e) /* multi line expression */ |
| define | QEXEC_MERGE_NEXT_SCAN_PVALS (thread_p, pre, e) /* multi line expression */ |
| define | QEXEC_MERGE_OUTER_NEXT_SCAN (thread_p, pre, e) /* multi line expression */ |
| define | QEXEC_MERGE_OUTER_NEXT_SCAN_PVALS (thread_p, pre, e) /* multi line expression */ |
| define | QEXEC_MERGE_OUTER_PREV_SCAN (thread_p, pre) /* multi line expression */ |
| define | QEXEC_MERGE_OUTER_PREV_SCAN_PVALS (thread_p, pre) /* multi line expression */ |
| define | QEXEC_MERGE_PREV_SCAN (thread_p, pre) /* multi line expression */ |
| define | QEXEC_MERGE_PVALS (pre) /* multi line expression */ |
| define | QEXEC_MERGE_REV_SCAN_PVALS (thread_p, pre) /* multi line expression */ |
| define | QEXEC_SEL_UPD_USE_REEVALUATION (xasl) /* multi line expression */ |
| define | QEXEC_UNLOCK_UNQUALIFIED_OID (thread_p, xasl) /* multi line expression */ |
| define | QPROC_MAX_GROUPED_SCAN_CNT (4) |
| define | QPROC_SINGLE_CLASS_GROUPED_SCAN (0) |
Public Types Documentation¶
typedef ANALYTIC_FUNCTION_STATE¶
typedef ANALYTIC_STAGE¶
typedef ANALYTIC_STATE¶
typedef DEL_LOB_INFO¶
typedef GROUPBY_DIMENSION¶
typedef GROUPBY_DIMENSION_FLAG¶
typedef GROUPBY_STATE¶
typedef ORDBYNUM_INFO¶
typedef PARENT_POS_INFO¶
enum TOPN_STATUS¶
typedef UPDDEL_CLASS_INFO_INTERNAL¶
typedef XASL_SCAN_FNC_PTR¶
typedef XSAL_SCAN_FUNC¶
typedef SCAN_CODE(* XSAL_SCAN_FUNC) (THREAD_ENTRY *thread_p, XASL_NODE *, XASL_STATE *, QFILE_TUPLE_RECORD *, void *);
enum analytic_stage¶
enum groupby_dimension_flag¶
enum groupby_dimension_flag {
GROUPBY_DIM_FLAG_NONE = 0,
GROUPBY_DIM_FLAG_GROUP_BY = 1,
GROUPBY_DIM_FLAG_ROLLUP = 2,
GROUPBY_DIM_FLAG_CUBE = 4,
GROUPBY_DIM_FLAG_SET = 8
};
Public Functions Documentation¶
function get_xasl_dumper_linked_in¶
function qexec_alloc_agg_hash_context_buildlist_xasl¶
int qexec_alloc_agg_hash_context_buildlist_xasl (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
XASL_STATE * xasl_state,
bool not_use_membuf
)
function qexec_clear_func_pred¶
function qexec_clear_list_cache_by_class¶
function qexec_clear_partition_expression¶
function qexec_clear_pred_context¶
int qexec_clear_pred_context (
THREAD_ENTRY * thread_p,
pred_expr_with_context * pred_filter,
bool dealloc_dbvalues
)
function qexec_clear_xasl¶
int qexec_clear_xasl (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_xasl_for_parallel_aptr¶
function qexec_deep_copy_xasl_state¶
function qexec_execute_mainblock¶
int qexec_execute_mainblock (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
xasl_state * xstate,
UPDDEL_CLASS_INSTANCE_LOCK_INFO * p_class_instance_lock_info
)
function qexec_execute_query¶
qfile_list_id * qexec_execute_query (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
int dbval_cnt,
const DB_VALUE * dbval_ptr,
QUERY_ID query_id
)
function qexec_execute_scan_ptr¶
SCAN_CODE qexec_execute_scan_ptr (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
XASL_STATE * xasl_state,
void * scan_func_ptr
)
function qexec_execute_subquery_for_result_cache¶
int qexec_execute_subquery_for_result_cache (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_free_xasl_state¶
function qexec_get_tuple_column_value¶
int qexec_get_tuple_column_value (
QFILE_TUPLE tpl,
int index,
DB_VALUE * valp,
tp_domain * domain
)
function qexec_get_xasl_list_id¶
function qexec_hash_gby_agg_tuple_public¶
int qexec_hash_gby_agg_tuple_public (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec,
QFILE_TUPLE_DESCRIPTOR * tpldesc,
QFILE_LIST_ID * groupby_list,
bool * output_tuple
)
function qexec_insert_tuple_into_list¶
int qexec_insert_tuple_into_list (
THREAD_ENTRY * thread_p,
qfile_list_id * list_id,
valptr_list_node * outptr_list,
val_descr * vd,
qfile_tuple_record * tplrec
)
function qexec_replace_prior_regu_vars_prior_expr¶
void qexec_replace_prior_regu_vars_prior_expr (
THREAD_ENTRY * thread_p,
regu_variable_node * regu,
xasl_node * xasl,
xasl_node * connect_by_ptr
)
function qexec_resolve_domains_for_aggregation_for_parallel_heap_scan_buildvalue_proc¶
int qexec_resolve_domains_for_aggregation_for_parallel_heap_scan_buildvalue_proc (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
void * vd,
int * resolved
)
function qexec_resolve_domains_for_aggregation_for_parallel_heap_scan_g_agg¶
int qexec_resolve_domains_for_aggregation_for_parallel_heap_scan_g_agg (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
void * vd,
int * resolved
)
function qexec_start_mainblock_iterations¶
int qexec_start_mainblock_iterations (
THREAD_ENTRY * thread_p,
xasl_node * xasl,
xasl_state * xasl_state
)
Public Static Functions Documentation¶
function bf2df_str_cmpdisk¶
static DB_VALUE_COMPARE_RESULT bf2df_str_cmpdisk (
void * mem1,
void * mem2,
TP_DOMAIN * domain,
int do_coercion,
int total_order,
int * start_colp
)
function bf2df_str_cmpval¶
static DB_VALUE_COMPARE_RESULT bf2df_str_cmpval (
DB_VALUE * value1,
DB_VALUE * value2,
int do_coercion,
int total_order,
int * start_colp,
int collation
)
function bf2df_str_compare¶
static DB_VALUE_COMPARE_RESULT bf2df_str_compare (
const unsigned char * s0,
int l0,
const unsigned char * s1,
int l1
)
function bf2df_str_son_index¶
static int bf2df_str_son_index (
THREAD_ENTRY * thread_p,
char ** son_index,
char * father_index,
int * len_son_index,
int cnt
)
function prepare_mvcc_reev_data¶
static int prepare_mvcc_reev_data (
THREAD_ENTRY * thread_p,
XASL_NODE * aptr,
XASL_STATE * xasl_state,
int num_reev_classes,
int * cond_reev_indexes,
MVCC_UPDDEL_REEV_DATA * reev_data,
int num_classes,
UPDDEL_CLASS_INFO * classes,
UPDDEL_CLASS_INFO_INTERNAL * internal_classes,
int num_assigns,
UPDATE_ASSIGNMENT * assigns,
PRED_EXPR * cons_pred,
UPDDEL_MVCC_COND_REEVAL ** mvcc_reev_classes,
UPDATE_MVCC_REEV_ASSIGNMENT ** mvcc_reev_assigns,
bool has_delete
)
function qdata_setup_analytic_eval_list¶
static int qdata_setup_analytic_eval_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_add_composite_lock¶
static int qexec_add_composite_lock (
THREAD_ENTRY * thread_p,
REGU_VARIABLE_LIST reg_var_list,
XASL_STATE * xasl_state,
LK_COMPOSITE_LOCK * composite_lock,
int upd_del_cls_cnt,
OID * default_cls_oid
)
function qexec_add_tuple_to_topn¶
static TOPN_STATUS qexec_add_tuple_to_topn (
THREAD_ENTRY * thread_p,
TOPN_TUPLES * sort_stop,
QFILE_TUPLE_DESCRIPTOR * tpldescr
)
function qexec_alloc_agg_hash_context¶
static int qexec_alloc_agg_hash_context (
THREAD_ENTRY * thread_p,
BUILDLIST_PROC_NODE * proc,
XASL_STATE * xasl_state,
bool not_use_membuf
)
function qexec_analytic_add_tuple¶
static void qexec_analytic_add_tuple (
THREAD_ENTRY * thread_p,
ANALYTIC_STATE * analytic_state,
QFILE_TUPLE tpl,
int peek
)
function qexec_analytic_eval_in_processing¶
static int qexec_analytic_eval_in_processing (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_analytic_eval_instnum_pred¶
static int qexec_analytic_eval_instnum_pred (
THREAD_ENTRY * thread_p,
ANALYTIC_STATE * analytic_state,
ANALYTIC_STAGE stage
)
function qexec_analytic_evaluate_cume_dist_percent_rank_function¶
static int qexec_analytic_evaluate_cume_dist_percent_rank_function (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state
)
function qexec_analytic_evaluate_interpolation_function¶
static int qexec_analytic_evaluate_interpolation_function (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state
)
function qexec_analytic_evaluate_ntile_function¶
static int qexec_analytic_evaluate_ntile_function (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state
)
function qexec_analytic_evaluate_offset_function¶
static int qexec_analytic_evaluate_offset_function (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state,
ANALYTIC_STATE * analytic_state
)
function qexec_analytic_finalize_group¶
static int qexec_analytic_finalize_group (
THREAD_ENTRY * thread_p,
XASL_STATE * xasl_state,
ANALYTIC_FUNCTION_STATE * func_state,
bool is_same_group
)
function qexec_analytic_get_next¶
function qexec_analytic_group_header_load¶
function qexec_analytic_group_header_next¶
static int qexec_analytic_group_header_next (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state
)
function qexec_analytic_put_next¶
function qexec_analytic_sort_key_header_load¶
static int qexec_analytic_sort_key_header_load (
ANALYTIC_FUNCTION_STATE * func_state,
bool load_value
)
function qexec_analytic_start_group¶
static int qexec_analytic_start_group (
THREAD_ENTRY * thread_p,
XASL_STATE * xasl_state,
ANALYTIC_FUNCTION_STATE * func_state,
const RECDES * key,
bool reinit
)
function qexec_analytic_update_group_result¶
static int qexec_analytic_update_group_result (
THREAD_ENTRY * thread_p,
ANALYTIC_STATE * analytic_state
)
function qexec_analytic_value_advance¶
static int qexec_analytic_value_advance (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state,
int amount,
int max_group_changes,
bool ignore_nulls
)
function qexec_analytic_value_lookup¶
static int qexec_analytic_value_lookup (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state,
int position,
bool ignore_nulls
)
function qexec_build_agg_hkey¶
static int qexec_build_agg_hkey (
THREAD_ENTRY * thread_p,
XASL_STATE * xasl_state,
REGU_VARIABLE_LIST regu_list,
QFILE_TUPLE tpl,
AGGREGATE_HASH_KEY * key
)
function qexec_change_delete_lob_info¶
static DEL_LOB_INFO * qexec_change_delete_lob_info (
THREAD_ENTRY * thread_p,
XASL_STATE * xasl_state,
UPDDEL_CLASS_INFO_INTERNAL * class_info,
DEL_LOB_INFO ** del_lob_info_list_ptr
)
function qexec_check_for_cycle¶
static int qexec_check_for_cycle (
THREAD_ENTRY * thread_p,
OUTPTR_LIST * outptr_list,
QFILE_TUPLE tpl,
QFILE_TUPLE_VALUE_TYPE_LIST * type_list,
QFILE_LIST_ID * list_id_p,
int * iscycle
)
function qexec_check_limit_clause¶
static int qexec_check_limit_clause (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
bool * empty_result
)
function qexec_clear_a_eval_values¶
function qexec_clear_access_spec_list¶
static int qexec_clear_access_spec_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
ACCESS_SPEC_TYPE * list,
bool is_final,
bool except_trace,
bool for_parallel_aptr
)
function qexec_clear_agg_list¶
static int qexec_clear_agg_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
AGGREGATE_TYPE * list,
bool is_final
)
function qexec_clear_agg_orderby_const_list¶
static int qexec_clear_agg_orderby_const_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
bool is_final
)
function qexec_clear_all_lists¶
function qexec_clear_analytic_function_list¶
static int qexec_clear_analytic_function_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
ANALYTIC_EVAL_TYPE * list,
bool is_final
)
function qexec_clear_analytic_function_state¶
static void qexec_clear_analytic_function_state (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state
)
function qexec_clear_analytic_state¶
function qexec_clear_analytic_stats_list¶
function qexec_clear_arith_list¶
static int qexec_clear_arith_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
ARITH_TYPE * list,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_connect_by_lists¶
function qexec_clear_db_val_list¶
function qexec_clear_groupby_state¶
function qexec_clear_head_lists¶
function qexec_clear_head_lists_with_truncate¶
function qexec_clear_internal_classes¶
static void qexec_clear_internal_classes (
THREAD_ENTRY * thread_p,
UPDDEL_CLASS_INFO_INTERNAL * classes,
int count
)
function qexec_clear_mainblock_iterations¶
function qexec_clear_pos_desc¶
static void qexec_clear_pos_desc (
XASL_NODE * xasl_p,
QFILE_TUPLE_VALUE_POSITION * position_descr,
bool is_final
)
function qexec_clear_pred¶
static int qexec_clear_pred (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
PRED_EXPR * pr,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_pred_xasl¶
function qexec_clear_regu_list¶
static int qexec_clear_regu_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
REGU_VARIABLE_LIST list,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_regu_value_list¶
static int qexec_clear_regu_value_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
REGU_VALUE_LIST * list,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_regu_var¶
static int qexec_clear_regu_var (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
REGU_VARIABLE * regu_var,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_regu_variable_list¶
static int qexec_clear_regu_variable_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
REGU_VARIABLE_LIST list,
bool is_final,
bool for_parallel_aptr
)
function qexec_clear_scan_all_lists¶
function qexec_clear_sort_list¶
function qexec_clear_topn_tuple¶
function qexec_clear_update_assignment¶
static int qexec_clear_update_assignment (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl_p,
UPDATE_ASSIGNMENT * assignment,
bool is_final
)
function qexec_clear_xasl_head¶
function qexec_close_scan¶
function qexec_cmp_tpl_vals_merge¶
static DB_VALUE_COMPARE_RESULT qexec_cmp_tpl_vals_merge (
QFILE_TUPLE * left_tval,
TP_DOMAIN ** left_dom,
QFILE_TUPLE * rght_tval,
TP_DOMAIN ** rght_dom,
int tval_cnt
)
function qexec_collection_has_null¶
function qexec_compare_valptr_with_tuple¶
static int qexec_compare_valptr_with_tuple (
OUTPTR_LIST * outptr_list,
QFILE_TUPLE tpl,
QFILE_TUPLE_VALUE_TYPE_LIST * type_list,
int * are_equal
)
function qexec_create_delete_lob_info¶
static DEL_LOB_INFO * qexec_create_delete_lob_info (
THREAD_ENTRY * thread_p,
XASL_STATE * xasl_state,
UPDDEL_CLASS_INFO_INTERNAL * class_info
)
function qexec_create_internal_classes¶
static int qexec_create_internal_classes (
THREAD_ENTRY * thread_p,
UPDDEL_CLASS_INFO * classes_info,
int count,
UPDDEL_CLASS_INFO_INTERNAL ** classes
)
function qexec_create_mvcc_reev_assignments¶
static int qexec_create_mvcc_reev_assignments (
THREAD_ENTRY * thread_p,
XASL_NODE * aptr,
bool should_delete,
UPDDEL_CLASS_INFO_INTERNAL * classes,
int num_classes,
int num_assignments,
UPDATE_ASSIGNMENT * assignments,
UPDATE_MVCC_REEV_ASSIGNMENT ** mvcc_reev_assigns
)
function qexec_destroy_upddel_ehash_files¶
function qexec_end_buildvalueblock_iterations¶
static int qexec_end_buildvalueblock_iterations (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_end_connect_by_lists¶
function qexec_end_mainblock_iterations¶
static int qexec_end_mainblock_iterations (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_end_one_iteration¶
static int qexec_end_one_iteration (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_end_scan¶
function qexec_eval_grbynum_pred¶
function qexec_eval_instnum_pred¶
static DB_LOGICAL qexec_eval_instnum_pred (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_eval_ordbynum_pred¶
function qexec_evaluate_aggregates_optimize¶
static int qexec_evaluate_aggregates_optimize (
THREAD_ENTRY * thread_p,
AGGREGATE_TYPE * agg_list,
ACCESS_SPEC_TYPE * spec,
bool * is_scan_needed
)
function qexec_evaluate_partition_aggregates¶
static int qexec_evaluate_partition_aggregates (
THREAD_ENTRY * thread_p,
ACCESS_SPEC_TYPE * spec,
AGGREGATE_TYPE * agg_list,
bool * is_scan_needed
)
function qexec_execute_analytic¶
static int qexec_execute_analytic (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
ANALYTIC_EVAL_TYPE * analytic_eval,
QFILE_TUPLE_RECORD * tplrec,
bool is_last,
bool is_skip_sort
)
function qexec_execute_build_columns¶
static int qexec_execute_build_columns (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_build_indexes¶
static int qexec_execute_build_indexes (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_connect_by¶
static int qexec_execute_connect_by (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_execute_cte¶
function qexec_execute_dblink_query¶
static int qexec_execute_dblink_query (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_delete¶
static int qexec_execute_delete (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_do_stmt¶
static int qexec_execute_do_stmt (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_duplicate_key_update¶
static int qexec_execute_duplicate_key_update (
THREAD_ENTRY * thread_p,
ODKU_INFO * odku,
HFID * hfid,
VAL_DESCR * vd,
int op_type,
HEAP_SCANCACHE * scan_cache,
HEAP_CACHE_ATTRINFO * attr_info,
HEAP_CACHE_ATTRINFO * index_attr_info,
HEAP_IDX_ELEMENTS_INFO * idx_info,
int pruning_type,
PRUNING_CONTEXT * pcontext,
int * force_count
)
function qexec_execute_increment¶
static int qexec_execute_increment (
THREAD_ENTRY * thread_p,
const OID * oid,
const OID * class_oid,
const HFID * class_hfid,
ATTR_ID attrid,
int n_increment,
int pruning_type
)
function qexec_execute_insert¶
static int qexec_execute_insert (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
bool skip_aptr
)
function qexec_execute_mainblock_internal¶
static int qexec_execute_mainblock_internal (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
UPDDEL_CLASS_INSTANCE_LOCK_INFO * p_class_instance_lock_info
)
function qexec_execute_merge¶
static int qexec_execute_merge (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_nljoin_with_memoize¶
static SCAN_CODE qexec_execute_nljoin_with_memoize (
THREAD_ENTRY * thread_p,
bool * is_memoize_succeed,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * ignore,
XASL_SCAN_FNC_PTR next_scan_fnc
)
function qexec_execute_obj_fetch¶
static int qexec_execute_obj_fetch (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
SCAN_OPERATION_TYPE scan_operation_type
)
function qexec_execute_scan¶
static SCAN_CODE qexec_execute_scan (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * ignore,
XASL_SCAN_FNC_PTR next_scan_fnc
)
function qexec_execute_selupd_list¶
static int qexec_execute_selupd_list (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_execute_selupd_list_find_class¶
static int qexec_execute_selupd_list_find_class (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
VAL_DESCR * vd,
OID * oid,
SELUPD_LIST * selupd,
OID * class_oid,
HFID * class_hfid,
DB_CLASS_PARTITION_TYPE * needs_pruning,
bool * found
)
function qexec_execute_update¶
static int qexec_execute_update (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
bool has_delete,
XASL_STATE * xasl_state
)
function qexec_failure_line¶
function qexec_fill_sort_limit¶
static int qexec_fill_sort_limit (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
int * limit_ptr
)
function qexec_final_close_dblink_specs¶
function qexec_for_update_set_class_locks¶
function qexec_free_agg_hash_context¶
function qexec_free_delete_lob_info_list¶
static void qexec_free_delete_lob_info_list (
THREAD_ENTRY * thread_p,
DEL_LOB_INFO ** del_lob_info_list_ptr
)
function qexec_gby_agg_tuple¶
static void qexec_gby_agg_tuple (
THREAD_ENTRY * thread_p,
GROUPBY_STATE * gbstate,
QFILE_TUPLE tpl,
int peek
)
function qexec_gby_clear_group_dim¶
function qexec_gby_finalize_group¶
static void qexec_gby_finalize_group (
THREAD_ENTRY * thread_p,
GROUPBY_STATE * gbstate,
int N,
bool keep_list_file
)
function qexec_gby_finalize_group_dim¶
static int qexec_gby_finalize_group_dim (
THREAD_ENTRY * thread_p,
GROUPBY_STATE * gbstate,
const RECDES * recdes
)
function qexec_gby_finalize_group_val_list¶
static void qexec_gby_finalize_group_val_list (
THREAD_ENTRY * thread_p,
GROUPBY_STATE * gbstate,
int N
)
function qexec_gby_get_next¶
function qexec_gby_init_group_dim¶
function qexec_gby_put_next¶
function qexec_gby_start_group¶
static void qexec_gby_start_group (
THREAD_ENTRY * thread_p,
GROUPBY_STATE * gbstate,
const RECDES * recdes,
int N
)
function qexec_gby_start_group_dim¶
static void qexec_gby_start_group_dim (
THREAD_ENTRY * thread_p,
GROUPBY_STATE * gbstate,
const RECDES * recdes
)
function qexec_generate_tuple_descriptor¶
static QPROC_TPLDESCR_STATUS qexec_generate_tuple_descriptor (
THREAD_ENTRY * thread_p,
QFILE_LIST_ID * list_id,
VALPTR_LIST * outptr_list,
VAL_DESCR * vd
)
function qexec_get_attr_default¶
static int qexec_get_attr_default (
THREAD_ENTRY * thread_p,
OR_ATTRIBUTE * attr,
DB_VALUE * default_val
)
function qexec_get_index_pseudocolumn_value_from_tuple¶
static int qexec_get_index_pseudocolumn_value_from_tuple (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
QFILE_TUPLE tpl,
DB_VALUE ** index_valp,
char ** index_value,
int * index_len
)
function qexec_get_orderbynum_upper_bound¶
static int qexec_get_orderbynum_upper_bound (
THREAD_ENTRY * tread_p,
PRED_EXPR * pred,
VAL_DESCR * vd,
DB_VALUE * ubound
)
function qexec_groupby¶
static int qexec_groupby (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_groupby_index¶
static int qexec_groupby_index (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_hash_gby_agg_tuple¶
static int qexec_hash_gby_agg_tuple (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
BUILDLIST_PROC_NODE * proc,
QFILE_TUPLE_RECORD * tplrec,
QFILE_TUPLE_DESCRIPTOR * tpldesc,
QFILE_LIST_ID * groupby_list,
bool * output_tuple
)
function qexec_hash_gby_get_next¶
function qexec_hash_gby_put_next¶
function qexec_init_agg_hierarchy_helpers¶
static int qexec_init_agg_hierarchy_helpers (
THREAD_ENTRY * thread_p,
ACCESS_SPEC_TYPE * spec,
AGGREGATE_TYPE * aggregate_list,
HIERARCHY_AGGREGATE_HELPER ** helpers,
int * helpers_countp
)
function qexec_init_index_pseudocolumn_strings¶
static int qexec_init_index_pseudocolumn_strings (
THREAD_ENTRY * thread_p,
char ** father_index,
int * len_father_index,
char ** son_index,
int * len_son_index
)
function qexec_init_instnum_val¶
static int qexec_init_instnum_val (
XASL_NODE * xasl,
THREAD_ENTRY * thread_p,
XASL_STATE * xasl_state
)
function qexec_init_next_partition¶
static SCAN_CODE qexec_init_next_partition (
THREAD_ENTRY * thread_p,
ACCESS_SPEC_TYPE * spec,
XASL_NODE * xasl
)
function qexec_init_upddel_ehash_files¶
function qexec_initialize_analytic_function_state¶
static int qexec_initialize_analytic_function_state (
THREAD_ENTRY * thread_p,
ANALYTIC_FUNCTION_STATE * func_state,
ANALYTIC_TYPE * func_p,
XASL_STATE * xasl_state,
bool is_skip_sort
)
function qexec_initialize_analytic_state¶
static ANALYTIC_STATE * qexec_initialize_analytic_state (
THREAD_ENTRY * thread_p,
ANALYTIC_STATE * analytic_state,
ANALYTIC_TYPE * a_func_list,
SORT_LIST * sort_list,
REGU_VARIABLE_LIST a_regu_list,
VAL_LIST * a_val_list,
OUTPTR_LIST * a_outptr_list,
OUTPTR_LIST * a_outptr_list_interm,
bool is_skip_sort,
bool is_last_run,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_VALUE_TYPE_LIST * type_list,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_initialize_groupby_state¶
static GROUPBY_STATE * qexec_initialize_groupby_state (
GROUPBY_STATE * gbstate,
SORT_LIST * groupby_list,
PRED_EXPR * having_pred,
PRED_EXPR * grbynum_pred,
DB_VALUE * grbynum_val,
int grbynum_flag,
XASL_NODE * eptr_list,
AGGREGATE_TYPE * g_agg_list,
REGU_VARIABLE_LIST g_regu_list,
VAL_LIST * g_val_list,
OUTPTR_LIST * g_outptr_list,
REGU_VARIABLE_LIST g_hk_regu_list,
bool with_rollup,
int hash_eligible,
AGGREGATE_HASH_CONTEXT * agg_hash_context,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_VALUE_TYPE_LIST * type_list,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_intprt_fnc¶
static SCAN_CODE qexec_intprt_fnc (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec,
XASL_SCAN_FNC_PTR next_scan_fnc
)
function qexec_iterate_connect_by_results¶
static int qexec_iterate_connect_by_results (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_listfile_orderby¶
static int qexec_listfile_orderby (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
QFILE_LIST_ID * list_file,
SORT_LIST * orderby_list,
XASL_STATE * xasl_state,
OUTPTR_LIST * outptr_list
)
function qexec_locate_agg_hentry_in_list¶
static int qexec_locate_agg_hentry_in_list (
THREAD_ENTRY * thread_p,
AGGREGATE_HASH_CONTEXT * context,
AGGREGATE_HASH_KEY * key,
bool * found
)
function qexec_merge_fnc¶
static SCAN_CODE qexec_merge_fnc (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec,
XASL_SCAN_FNC_PTR ignore
)
function qexec_merge_list¶
static QFILE_LIST_ID * qexec_merge_list (
THREAD_ENTRY * thread_p,
QFILE_LIST_ID * outer_list_idp,
QFILE_LIST_ID * inner_list_idp,
QFILE_LIST_MERGE_INFO * merge_infop,
int ls_flag
)
function qexec_merge_list_outer¶
static QFILE_LIST_ID * qexec_merge_list_outer (
THREAD_ENTRY * thread_p,
SCAN_ID * outer_sid,
SCAN_ID * inner_sid,
QFILE_LIST_MERGE_INFO * merge_infop,
PRED_EXPR * other_outer_join_pred,
XASL_STATE * xasl_state,
int ls_flag
)
function qexec_merge_listfiles¶
static int qexec_merge_listfiles (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_merge_tuple¶
static int qexec_merge_tuple (
QFILE_TUPLE_RECORD * tplrec1,
QFILE_TUPLE_RECORD * tplrec2,
QFILE_LIST_MERGE_INFO * merge_info,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_merge_tuple_add_list¶
static int qexec_merge_tuple_add_list (
THREAD_ENTRY * thread_p,
QFILE_LIST_ID * list_id,
QFILE_TUPLE_RECORD * tplrec1,
QFILE_TUPLE_RECORD * tplrec2,
QFILE_LIST_MERGE_INFO * merge_info,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_mvcc_cond_reev_set_scan_order¶
static UPDDEL_MVCC_COND_REEVAL * qexec_mvcc_cond_reev_set_scan_order (
XASL_NODE * aptr,
UPDDEL_MVCC_COND_REEVAL * reev_classes,
int num_reev_classes,
UPDDEL_CLASS_INFO * classes,
int num_classes
)
function qexec_next_merge_block¶
function qexec_next_scan_block¶
function qexec_next_scan_block_iterations¶
function qexec_oid_of_duplicate_key_update¶
static int qexec_oid_of_duplicate_key_update (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE ** pruned_partition_scan_cache,
HEAP_SCANCACHE * scan_cache,
HEAP_CACHE_ATTRINFO * attr_info,
HEAP_CACHE_ATTRINFO * index_attr_info,
const HEAP_IDX_ELEMENTS_INFO * idx_info,
int needs_pruning,
PRUNING_CONTEXT * pcontext,
OID * unique_oid,
int op_type
)
function qexec_open_scan¶
static int qexec_open_scan (
THREAD_ENTRY * thread_p,
ACCESS_SPEC_TYPE * curr_spec,
VAL_LIST * val_list,
VAL_DESCR * vd,
bool force_select_lock,
int fixed,
int grouped,
bool iscan_oid_order,
SCAN_ID * s_id,
QUERY_ID query_id,
SCAN_OPERATION_TYPE scan_op_type,
bool scan_immediately_stop,
bool * p_mvcc_select_lock_needed,
XASL_NODE * xasl
)
function qexec_ordby_put_next¶
function qexec_orderby_distinct¶
static int qexec_orderby_distinct (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
QUERY_OPTIONS option,
XASL_STATE * xasl_state
)
function qexec_orderby_distinct_by_sorting¶
static int qexec_orderby_distinct_by_sorting (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
QUERY_OPTIONS option,
XASL_STATE * xasl_state
)
function qexec_process_partition_unique_stats¶
static int qexec_process_partition_unique_stats (
THREAD_ENTRY * thread_p,
PRUNING_CONTEXT * pcontext
)
function qexec_process_unique_stats¶
static int qexec_process_unique_stats (
THREAD_ENTRY * thread_p,
const OID * class_oid,
UPDDEL_CLASS_INFO_INTERNAL * class_
)
function qexec_prune_spec¶
static int qexec_prune_spec (
THREAD_ENTRY * thread_p,
ACCESS_SPEC_TYPE * spec,
VAL_DESCR * vd,
SCAN_OPERATION_TYPE scan_op_type
)
function qexec_recalc_tuples_parent_pos_in_list¶
static int qexec_recalc_tuples_parent_pos_in_list (
THREAD_ENTRY * thread_p,
QFILE_LIST_ID * list_id_p
)
function qexec_remove_duplicates_for_replace¶
static int qexec_remove_duplicates_for_replace (
THREAD_ENTRY * thread_p,
HEAP_SCANCACHE * scan_cache,
HEAP_CACHE_ATTRINFO * attr_info,
HEAP_CACHE_ATTRINFO * index_attr_info,
const HEAP_IDX_ELEMENTS_INFO * idx_info,
int op_type,
int pruning_type,
PRUNING_CONTEXT * pcontext,
int * removed_count
)
function qexec_replace_prior_regu_vars¶
static void qexec_replace_prior_regu_vars (
THREAD_ENTRY * thread_p,
REGU_VARIABLE * regu,
XASL_NODE * xasl
)
function qexec_replace_prior_regu_vars_pred¶
static void qexec_replace_prior_regu_vars_pred (
THREAD_ENTRY * thread_p,
PRED_EXPR * pred,
XASL_NODE * xasl
)
function qexec_reset_pred_expr¶
function qexec_reset_pseudocolumns_val_pointers¶
static void qexec_reset_pseudocolumns_val_pointers (
DB_VALUE * level_valp,
DB_VALUE * isleaf_valp,
DB_VALUE * iscycle_valp,
DB_VALUE * parent_pos_valp,
DB_VALUE * index_valp
)
function qexec_reset_regu_variable¶
function qexec_reset_regu_variable_list¶
function qexec_resolve_domains_for_aggregation¶
static int qexec_resolve_domains_for_aggregation (
THREAD_ENTRY * thread_p,
AGGREGATE_TYPE * agg_p,
VAL_DESCR * vd,
QFILE_TUPLE_RECORD * tplrec,
REGU_VARIABLE_LIST regu_list,
int * resolved
)
function qexec_resolve_domains_for_group_by¶
static void qexec_resolve_domains_for_group_by (
BUILDLIST_PROC_NODE * buildlist,
OUTPTR_LIST * reference_out_list
)
function qexec_resolve_domains_on_sort_list¶
static void qexec_resolve_domains_on_sort_list (
SORT_LIST * order_list,
REGU_VARIABLE_LIST reference_regu_list
)
function qexec_schema_get_type_desc¶
function qexec_schema_get_type_name_from_id¶
function qexec_set_class_locks¶
static int qexec_set_class_locks (
THREAD_ENTRY * thread_p,
XASL_NODE * aptr_list,
UPDDEL_CLASS_INFO * query_classes,
int query_classes_count,
UPDDEL_CLASS_INFO_INTERNAL * internal_classes
)
function qexec_set_pseudocolumns_val_pointers¶
static int qexec_set_pseudocolumns_val_pointers (
XASL_NODE * xasl,
DB_VALUE ** level_valp,
DB_VALUE ** isleaf_valp,
DB_VALUE ** iscycle_valp,
DB_VALUE ** parent_pos_valp,
DB_VALUE ** index_valp
)
function qexec_set_xasl_trace_to_session¶
function qexec_setup_list_id¶
function qexec_setup_topn_proc¶
function qexec_size_remaining¶
static long qexec_size_remaining (
QFILE_TUPLE_RECORD * tplrec1,
QFILE_TUPLE_RECORD * tplrec2,
QFILE_LIST_MERGE_INFO * merge_info,
int k
)
function qexec_start_connect_by_lists¶
static int qexec_start_connect_by_lists (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_topn_cmpval¶
function qexec_topn_compare¶
function qexec_topn_tuples_to_list_id¶
static int qexec_topn_tuples_to_list_id (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
bool is_final
)
function qexec_update_btree_unique_stats_info¶
static void qexec_update_btree_unique_stats_info (
THREAD_ENTRY * thread_p,
multi_index_unique_stats * info,
const HEAP_SCANCACHE * scan_cache
)
function qexec_update_connect_by_lists¶
static int qexec_update_connect_by_lists (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state,
QFILE_TUPLE_RECORD * tplrec
)
function qexec_upddel_add_unique_oid_to_ehid¶
static int qexec_upddel_add_unique_oid_to_ehid (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl,
XASL_STATE * xasl_state
)
function qexec_upddel_mvcc_set_filters¶
static int qexec_upddel_mvcc_set_filters (
THREAD_ENTRY * thread_p,
XASL_NODE * aptr_list,
UPDDEL_MVCC_COND_REEVAL * mvcc_reev_class,
OID * class_oid
)
function qexec_upddel_setup_current_class¶
static int qexec_upddel_setup_current_class (
THREAD_ENTRY * thread_p,
UPDDEL_CLASS_INFO * class_,
UPDDEL_CLASS_INFO_INTERNAL * class_info,
int op_type,
OID * current_oid
)
function query_multi_range_opt_check_set_sort_col¶
function query_multi_range_opt_check_specs¶
static ACCESS_SPEC_TYPE * query_multi_range_opt_check_specs (
THREAD_ENTRY * thread_p,
XASL_NODE * xasl
)
function replace_null_arith¶
function replace_null_dbval¶
function tranid_compare¶
Macro Definition Documentation¶
define CONNECTBY_TUPLE_INDEX_STRING_MEM¶
define CTE_CURRENT_SCAN_READ_TUPLE¶
define CTE_CURR_ITERATION_LAST_TUPLE¶
define GOTO_EXIT_ON_ERROR¶
define HASH_AGGREGATE_DEFAULT_TABLE_SIZE¶
define HASH_AGGREGATE_VH_SELECTIVITY_THRESHOLD¶
define HASH_AGGREGATE_VH_SELECTIVITY_TUPLE_THRESHOLD¶
define MIN_NUM_ROWS_FOR_MULTI_DELETE¶
define QEXEC_CLEAR_AGG_LIST_VALUE¶
define QEXEC_EMPTY_ACCESS_SPEC_SCAN¶
define QEXEC_GET_BH_TOPN_TUPLE¶
define QEXEC_IS_MULTI_TABLE_UPDATE_DELETE¶
#define QEXEC_IS_MULTI_TABLE_UPDATE_DELETE (
xasl
) `(xasl->upd_del_class_cnt > 1 || (xasl->upd_del_class_cnt == 1 && xasl->scan_ptr != NULL ))`
define QEXEC_IS_SUBQUERY_CACHE¶
define QEXEC_MERGE_ADD_MERGETUPLE¶
define QEXEC_MERGE_NEXT_SCAN¶
define QEXEC_MERGE_NEXT_SCAN_PVALS¶
define QEXEC_MERGE_OUTER_NEXT_SCAN¶
define QEXEC_MERGE_OUTER_NEXT_SCAN_PVALS¶
define QEXEC_MERGE_OUTER_PREV_SCAN¶
define QEXEC_MERGE_OUTER_PREV_SCAN_PVALS¶
define QEXEC_MERGE_PREV_SCAN¶
define QEXEC_MERGE_PVALS¶
define QEXEC_MERGE_REV_SCAN_PVALS¶
define QEXEC_SEL_UPD_USE_REEVALUATION¶
define QEXEC_UNLOCK_UNQUALIFIED_OID¶
define QPROC_MAX_GROUPED_SCAN_CNT¶
define QPROC_SINGLE_CLASS_GROUPED_SCAN¶
The documentation for this class was generated from the following file cubrid/src/query/query_executor.c