CUBRID Engine
latest
|
#include <assert.h>
#include "access_json_table.hpp"
#include "access_spec.hpp"
#include "memory_hash.h"
#include "method_def.hpp"
#include "query_list.h"
#include "regu_var.hpp"
#include "storage_common.h"
#include "string_opfunc.h"
Go to the source code of this file.
Classes | |
struct | xasl_node_header |
struct | qproc_db_value_list |
struct | val_list_node |
struct | selupd_list |
struct | upddel_class_info |
struct | update_assignment |
struct | odku_info |
struct | func_pred |
struct | union_proc_node |
struct | fetch_proc_node |
struct | buildlist_proc_node |
struct | buildvalue_proc_node |
struct | mergelist_proc_node |
struct | update_proc_node |
struct | insert_proc_node |
struct | delete_proc_node |
struct | connectby_proc_node |
struct | merge_proc_node |
struct | cte_proc_node |
struct | xasl_stream |
struct | cls_spec_node |
struct | list_spec_node |
struct | showstmt_spec_node |
struct | set_spec_node |
struct | method_spec_node |
struct | reguval_list_spec_node |
union | hybrid_node |
struct | access_spec_node |
struct | xasl_node |
struct | pred_expr_with_context |
Namespaces | |
cubxasl | |
Macros | |
#define | XASL_NODE_HEADER_SIZE OR_INT_SIZE /* xasl_flag */ |
#define | OR_PACK_XASL_NODE_HEADER(PTR, X) |
#define | OR_UNPACK_XASL_NODE_HEADER(PTR, X) |
#define | INIT_XASL_NODE_HEADER(X) |
#define | XASL_WAIT_MSECS_NOCHANGE -2 |
#define | XASL_ORDBYNUM_FLAG_SCAN_CONTINUE 0x01 |
#define | XASL_ORDBYNUM_FLAG_SCAN_CHECK 0x02 |
#define | XASL_ORDBYNUM_FLAG_SCAN_STOP 0x04 |
#define | XASL_INSTNUM_FLAG_SCAN_CONTINUE 0x01 |
#define | XASL_INSTNUM_FLAG_SCAN_CHECK 0x02 |
#define | XASL_INSTNUM_FLAG_SCAN_STOP 0x04 |
#define | XASL_INSTNUM_FLAG_SCAN_LAST_STOP 0x08 |
#define | XASL_INSTNUM_FLAG_EVAL_DEFER 0x10 |
#define | XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC 0x20 |
#define | XASL_G_GRBYNUM_FLAG_SCAN_CONTINUE 0x01 |
#define | XASL_G_GRBYNUM_FLAG_SCAN_CHECK 0x02 |
#define | XASL_G_GRBYNUM_FLAG_SCAN_STOP 0x04 |
#define | XASL_G_GRBYNUM_FLAG_LIMIT_LT 0x08 |
#define | XASL_G_GRBYNUM_FLAG_LIMIT_GT_LT 0x10 |
#define | XASL_LINK_TO_REGU_VARIABLE 0x01 /* is linked to regu variable ? */ |
#define | XASL_SKIP_ORDERBY_LIST 0x02 /* skip sorting for orderby_list ? */ |
#define | XASL_ZERO_CORR_LEVEL 0x04 /* is zero-level uncorrelated subquery ? */ |
#define | XASL_TOP_MOST_XASL 0x08 /* this is a top most XASL */ |
#define | XASL_TO_BE_CACHED 0x10 /* the result will be cached */ |
#define | XASL_HAS_NOCYCLE 0x20 /* NOCYCLE is specified */ |
#define | XASL_HAS_CONNECT_BY 0x40 /* has CONNECT BY clause */ |
#define | XASL_MULTI_UPDATE_AGG 0x80 /* is for multi-update with aggregate */ |
#define | XASL_IGNORE_CYCLES 0x100 /* is for LEVEL usage in connect by clause... sometimes cycles may be ignored */ |
#define | XASL_OBJFETCH_IGNORE_CLASSOID 0x200 /* fetch proc should ignore class oid */ |
#define | XASL_IS_MERGE_QUERY 0x400 /* query belongs to a merge statement */ |
#define | XASL_USES_MRO 0x800 /* query uses multi range optimization */ |
#define | XASL_DECACHE_CLONE 0x1000 /* decache clone */ |
#define | XASL_RETURN_GENERATED_KEYS 0x2000 /* return generated keys */ |
#define | XASL_NO_FIXED_SCAN 0x4000 /* disable fixed scan for this proc */ |
#define | XASL_NEED_SINGLE_TUPLE_SCAN 0x8000 /* for exists operation */ |
#define | XASL_INCLUDES_TDE_CLASS 0x10000 /* is any tde class related */ |
#define | XASL_IS_FLAGED(x, f) (((x)->flag & (int) (f)) != 0) |
#define | XASL_SET_FLAG(x, f) (x)->flag |= (int) (f) |
#define | XASL_CLEAR_FLAG(x, f) (x)->flag &= (int) ~(f) |
#define | EXECUTE_REGU_VARIABLE_XASL(thread_p, r, v) |
#define | CHECK_REGU_VARIABLE_XASL_STATUS(r) ((r)->xasl != NULL ? ((r)->xasl)->status : XASL_SUCCESS) |
#define | QPROC_IS_INTERPOLATION_FUNC(func_p) |
#define | PCOL_ISCYCLE_TUPLE_OFFSET 1 |
#define | PCOL_ISLEAF_TUPLE_OFFSET 2 |
#define | PCOL_LEVEL_TUPLE_OFFSET 3 |
#define | PCOL_INDEX_STRING_TUPLE_OFFSET 4 |
#define | PCOL_PARENTPOS_TUPLE_OFFSET 5 |
#define | PCOL_FIRST_TUPLE_OFFSET PCOL_PARENTPOS_TUPLE_OFFSET |
#define | XASL_ID_SET_NULL(X) |
#define | XASL_ID_IS_NULL(X) (((XASL_ID *) (X) != NULL) && (X)->time_stored.sec == 0) |
#define | XASL_ID_COPY(X1, X2) |
#define | XASL_ID_EQ(X1, X2) |
#define | OR_XASL_ID_SIZE (OR_SHA1_SIZE + OR_CACHE_TIME_SIZE) |
#define | OR_PACK_XASL_ID(PTR, X) |
#define | OR_UNPACK_XASL_ID(PTR, X) |
#define | XASL_STREAM_HEADER 8 |
#define | XASL_STREAM_HEADER_PTR(stream) ((char *) (stream)) |
#define | GET_XASL_STREAM_HEADER_SIZE(stream) (*((int *) XASL_STREAM_HEADER_PTR(stream))) |
#define | SET_XASL_STREAM_HEADER_SIZE(stream, size) (*((int *) XASL_STREAM_HEADER_PTR(stream)) = (size)) |
#define | GET_XASL_STREAM_HEADER_DATA(stream) ((char *) XASL_STREAM_HEADER_PTR(stream) + sizeof(int)) |
#define | SET_XASL_STREAM_HEADER_DATA(stream, data, size) |
#define | XASL_STREAM_BODY_PTR(stream) (GET_XASL_STREAM_HEADER_DATA(stream) + GET_XASL_STREAM_HEADER_SIZE(stream)) |
#define | GET_XASL_STREAM_BODY_SIZE(stream) (*((int *) XASL_STREAM_BODY_PTR(stream))) |
#define | SET_XASL_STREAM_BODY_SIZE(stream, size) (*((int *) XASL_STREAM_BODY_PTR(stream)) = (size)) |
#define | GET_XASL_STREAM_BODY_DATA(stream) ((char *) XASL_STREAM_BODY_PTR(stream) + sizeof(int)) |
#define | SET_XASL_STREAM_BODY_DATA(stream, data, size) |
#define | GET_XASL_HEADER_CREATOR_OID(header) ((OID *) header) |
#define | SET_XASL_HEADER_CREATOR_OID(header, oid) (*((OID *) header) = *(oid)) |
#define | GET_XASL_HEADER_N_OID_LIST(header) (*((int *) ((char *) (header) + sizeof(OID)))) |
#define | SET_XASL_HEADER_N_OID_LIST(header, n) (*((int *) ((char *) (header) + sizeof(OID))) = (n)) |
#define | GET_XASL_HEADER_CLASS_OID_LIST(header) ((OID *) ((char *) (header) + sizeof(OID) + sizeof(int))) |
#define | SET_XASL_HEADER_CLASS_OID_LIST(header, list, n) |
#define | GET_XASL_HEADER_REPR_ID_LIST(header) |
#define | SET_XASL_HEADER_REPR_ID_LIST(header, list, n) |
#define | GET_XASL_HEADER_DBVAL_CNT(header) |
#define | SET_XASL_HEADER_DBVAL_CNT(header, cnt) |
#define | IS_ANY_INDEX_ACCESS(access_) |
#define | ACCESS_SPEC_CLS_SPEC(ptr) ((ptr)->s.cls_node) |
#define | ACCESS_SPEC_CLS_REGU_LIST(ptr) ((ptr)->s.cls_node.cls_regu_list) |
#define | ACCESS_SPEC_HFID(ptr) ((ptr)->s.cls_node.hfid) |
#define | ACCESS_SPEC_CLS_OID(ptr) ((ptr)->s.cls_node.cls_oid) |
#define | ACCESS_SPEC_LIST_SPEC(ptr) ((ptr)->s.list_node) |
#define | ACCESS_SPEC_SHOWSTMT_SPEC(ptr) ((ptr)->s.showstmt_node) |
#define | ACCESS_SPEC_RLIST_SPEC(ptr) ((ptr)->s.reguval_list_node) |
#define | ACCESS_SPEC_LIST_REGU_LIST(ptr) ((ptr)->s.list_node.list_regu_list) |
#define | ACCESS_SPEC_XASL_NODE(ptr) ((ptr)->s.list_node.xasl_node) |
#define | ACCESS_SPEC_LIST_ID(ptr) (ACCESS_SPEC_XASL_NODE(ptr)->list_id) |
#define | ACCESS_SPEC_CONNECT_BY_LIST_ID(ptr) (ACCESS_SPEC_XASL_NODE(ptr)->proc.connect_by.input_list_id) |
#define | ACCESS_SPEC_RLIST_VALPTR_LIST(ptr) ((ptr)->s.reguval_list_node.valptr_list) |
#define | ACCESS_SPEC_SET_SPEC(ptr) ((ptr)->s.set_node) |
#define | ACCESS_SPEC_SET_PTR(ptr) ((ptr)->s.set_node.set_ptr) |
#define | ACCESS_SPEC_SET_REGU_LIST(ptr) ((ptr)->s.set_node.set_regu_list) |
#define | ACCESS_SPEC_METHOD_SPEC(ptr) ((ptr)->s.method_node) |
#define | ACCESS_SPEC_JSON_TABLE_SPEC(ptr) ((ptr)->s.json_table_node) |
#define | ACCESS_SPEC_METHOD_XASL_NODE(ptr) ((ptr)->s.method_node.xasl_node) |
#define | ACCESS_SPEC_METHOD_REGU_LIST(ptr) ((ptr)->s.method_node.method_regu_list) |
#define | ACCESS_SPEC_METHOD_SIG_LIST(ptr) ((ptr)->s.method_node.method_sig_list) |
#define | ACCESS_SPEC_METHOD_LIST_ID(ptr) (ACCESS_SPEC_METHOD_XASL_NODE(ptr)->list_id) |
#define | ACCESS_SPEC_JSON_TABLE_ROOT_NODE(ptr) ((ptr)->s.json_table_node.m_root_node) |
#define | ACCESS_SPEC_JSON_TABLE_REGU_VAR(ptr) ((ptr)->s.json_table_node.m_json_reguvar) |
#define | ACCESS_SPEC_JSON_TABLE_M_NODE_COUNT(ptr) ((ptr)->s.json_table_node.m_node_count) |
#define | XASL_CLASS_NO_TCARD -1 |
#define | XASL_SERIAL_OID_TCARD -2 |
#define ACCESS_SPEC_CLS_OID | ( | ptr | ) | ((ptr)->s.cls_node.cls_oid) |
Definition at line 806 of file xasl.h.
Referenced by parser_generate_xasl_proc(), partition_prune_spec(), pruningset_to_spec_list(), qexec_end_one_iteration(), qexec_evaluate_aggregates_optimize(), qexec_execute_obj_fetch(), qexec_init_agg_hierarchy_helpers(), qexec_init_next_partition(), qexec_next_scan_block(), qexec_open_scan(), qexec_prune_spec(), and regu_spec_target_init().
#define ACCESS_SPEC_CLS_REGU_LIST | ( | ptr | ) | ((ptr)->s.cls_node.cls_regu_list) |
#define ACCESS_SPEC_CLS_SPEC | ( | ptr | ) | ((ptr)->s.cls_node) |
Definition at line 797 of file xasl.h.
Referenced by qdump_print_access_spec(), qdump_print_xasl(), stx_build_access_spec_type(), xts_process_access_spec_type(), and xts_sizeof_access_spec_type().
#define ACCESS_SPEC_CONNECT_BY_LIST_ID | ( | ptr | ) | (ACCESS_SPEC_XASL_NODE(ptr)->proc.connect_by.input_list_id) |
Definition at line 827 of file xasl.h.
Referenced by qexec_open_scan().
#define ACCESS_SPEC_HFID | ( | ptr | ) | ((ptr)->s.cls_node.hfid) |
Definition at line 803 of file xasl.h.
Referenced by qexec_evaluate_aggregates_optimize(), qexec_evaluate_partition_aggregates(), qexec_init_next_partition(), qexec_next_scan_block(), qexec_open_scan(), and regu_spec_target_init().
#define ACCESS_SPEC_JSON_TABLE_M_NODE_COUNT | ( | ptr | ) | ((ptr)->s.json_table_node.m_node_count) |
Definition at line 866 of file xasl.h.
Referenced by regu_spec_target_init().
#define ACCESS_SPEC_JSON_TABLE_REGU_VAR | ( | ptr | ) | ((ptr)->s.json_table_node.m_json_reguvar) |
Definition at line 863 of file xasl.h.
Referenced by regu_spec_target_init().
#define ACCESS_SPEC_JSON_TABLE_ROOT_NODE | ( | ptr | ) | ((ptr)->s.json_table_node.m_root_node) |
Definition at line 860 of file xasl.h.
Referenced by regu_spec_target_init().
#define ACCESS_SPEC_JSON_TABLE_SPEC | ( | ptr | ) | ((ptr)->s.json_table_node) |
Definition at line 845 of file xasl.h.
Referenced by stx_build_access_spec_type(), xts_process_access_spec_type(), and xts_sizeof_access_spec_type().
#define ACCESS_SPEC_LIST_ID | ( | ptr | ) | (ACCESS_SPEC_XASL_NODE(ptr)->list_id) |
Definition at line 824 of file xasl.h.
Referenced by qexec_open_scan().
#define ACCESS_SPEC_LIST_REGU_LIST | ( | ptr | ) | ((ptr)->s.list_node.list_regu_list) |
#define ACCESS_SPEC_LIST_SPEC | ( | ptr | ) | ((ptr)->s.list_node) |
Definition at line 809 of file xasl.h.
Referenced by qdump_print_access_spec(), stx_build_access_spec_type(), xts_process_access_spec_type(), and xts_sizeof_access_spec_type().
#define ACCESS_SPEC_METHOD_LIST_ID | ( | ptr | ) | (ACCESS_SPEC_METHOD_XASL_NODE(ptr)->list_id) |
Definition at line 857 of file xasl.h.
Referenced by qexec_open_scan().
#define ACCESS_SPEC_METHOD_REGU_LIST | ( | ptr | ) | ((ptr)->s.method_node.method_regu_list) |
Definition at line 851 of file xasl.h.
Referenced by regu_spec_target_init().
#define ACCESS_SPEC_METHOD_SIG_LIST | ( | ptr | ) | ((ptr)->s.method_node.method_sig_list) |
Definition at line 854 of file xasl.h.
Referenced by qexec_open_scan(), and regu_spec_target_init().
#define ACCESS_SPEC_METHOD_SPEC | ( | ptr | ) | ((ptr)->s.method_node) |
Definition at line 842 of file xasl.h.
Referenced by stx_build_access_spec_type(), xts_process_access_spec_type(), and xts_sizeof_access_spec_type().
#define ACCESS_SPEC_METHOD_XASL_NODE | ( | ptr | ) | ((ptr)->s.method_node.xasl_node) |
#define ACCESS_SPEC_RLIST_SPEC | ( | ptr | ) | ((ptr)->s.reguval_list_node) |
Definition at line 815 of file xasl.h.
Referenced by stx_build_access_spec_type().
#define ACCESS_SPEC_RLIST_VALPTR_LIST | ( | ptr | ) | ((ptr)->s.reguval_list_node.valptr_list) |
Definition at line 830 of file xasl.h.
Referenced by qexec_open_scan().
#define ACCESS_SPEC_SET_PTR | ( | ptr | ) | ((ptr)->s.set_node.set_ptr) |
Definition at line 836 of file xasl.h.
Referenced by qdump_print_access_spec(), qexec_clear_access_spec_list(), qexec_open_scan(), and regu_spec_target_init().
#define ACCESS_SPEC_SET_REGU_LIST | ( | ptr | ) | ((ptr)->s.set_node.set_regu_list) |
Definition at line 839 of file xasl.h.
Referenced by qexec_clear_access_spec_list(), qexec_open_scan(), and regu_spec_target_init().
#define ACCESS_SPEC_SET_SPEC | ( | ptr | ) | ((ptr)->s.set_node) |
Definition at line 833 of file xasl.h.
Referenced by stx_build_access_spec_type(), xts_process_access_spec_type(), and xts_sizeof_access_spec_type().
#define ACCESS_SPEC_SHOWSTMT_SPEC | ( | ptr | ) | ((ptr)->s.showstmt_node) |
Definition at line 812 of file xasl.h.
Referenced by qdump_print_access_spec(), stx_build_access_spec_type(), xts_process_access_spec_type(), and xts_sizeof_access_spec_type().
#define ACCESS_SPEC_XASL_NODE | ( | ptr | ) | ((ptr)->s.list_node.xasl_node) |
Definition at line 821 of file xasl.h.
Referenced by qdump_print_arith(), qexec_open_scan(), and regu_spec_target_init().
#define CHECK_REGU_VARIABLE_XASL_STATUS | ( | r | ) | ((r)->xasl != NULL ? ((r)->xasl)->status : XASL_SUCCESS) |
Definition at line 528 of file xasl.h.
Referenced by eval_pred(), eval_pred_alsm5(), eval_pred_comp2(), eval_set_list_cmp(), fetch_peek_dbval(), and qdata_convert_table_to_set().
#define EXECUTE_REGU_VARIABLE_XASL | ( | thread_p, | |
r, | |||
v | |||
) |
Definition at line 499 of file xasl.h.
Referenced by eval_pred(), eval_pred_alsm5(), eval_pred_comp2(), eval_set_list_cmp(), fetch_peek_dbval(), and qdata_convert_table_to_set().
#define GET_XASL_HEADER_CREATOR_OID | ( | header | ) | ((OID *) header) |
#define GET_XASL_HEADER_DBVAL_CNT | ( | header | ) |
#define GET_XASL_HEADER_N_OID_LIST | ( | header | ) | (*((int *) ((char *) (header) + sizeof(OID)))) |
#define GET_XASL_HEADER_REPR_ID_LIST | ( | header | ) |
#define GET_XASL_STREAM_BODY_DATA | ( | stream | ) | ((char *) XASL_STREAM_BODY_PTR(stream) + sizeof(int)) |
#define GET_XASL_STREAM_BODY_SIZE | ( | stream | ) | (*((int *) XASL_STREAM_BODY_PTR(stream))) |
#define GET_XASL_STREAM_HEADER_DATA | ( | stream | ) | ((char *) XASL_STREAM_HEADER_PTR(stream) + sizeof(int)) |
#define GET_XASL_STREAM_HEADER_SIZE | ( | stream | ) | (*((int *) XASL_STREAM_HEADER_PTR(stream))) |
#define INIT_XASL_NODE_HEADER | ( | X | ) |
Definition at line 98 of file xasl.h.
Referenced by csession_get_prepared_statement(), qfile_load_xasl_node_header(), qmgr_prepare_query(), sqmgr_prepare_query(), and ssession_get_prepared_statement().
#define IS_ANY_INDEX_ACCESS | ( | access_ | ) |
Definition at line 699 of file xasl.h.
Referenced by qdump_print_access_spec(), qexec_close_scan(), qexec_execute_mainblock_internal(), and qexec_init_next_partition().
#define OR_PACK_XASL_ID | ( | PTR, | |
X | |||
) |
Definition at line 581 of file xasl.h.
Referenced by qmgr_execute_query(), sqmgr_prepare_query(), ssession_get_prepared_statement(), and xlogtb_get_pack_tran_table().
#define OR_PACK_XASL_NODE_HEADER | ( | PTR, | |
X | |||
) |
Definition at line 74 of file xasl.h.
Referenced by sqmgr_prepare_query(), ssession_get_prepared_statement(), and xts_process_xasl_header().
#define OR_UNPACK_XASL_ID | ( | PTR, | |
X | |||
) |
Definition at line 591 of file xasl.h.
Referenced by csession_get_prepared_statement(), logtb_get_trans_info(), qmgr_prepare_query(), and sqmgr_execute_query().
#define OR_UNPACK_XASL_NODE_HEADER | ( | PTR, | |
X | |||
) |
Definition at line 86 of file xasl.h.
Referenced by csession_get_prepared_statement(), qmgr_prepare_query(), stx_build_xasl_header(), and stx_map_stream_to_xasl_node_header().
#define OR_XASL_ID_SIZE (OR_SHA1_SIZE + OR_CACHE_TIME_SIZE) |
Definition at line 578 of file xasl.h.
Referenced by csession_get_prepared_statement(), qmgr_drop_all_query_plans(), qmgr_execute_query(), qmgr_prepare_query(), sqmgr_prepare_query(), ssession_get_prepared_statement(), and xlogtb_get_pack_tran_table().
#define PCOL_FIRST_TUPLE_OFFSET PCOL_PARENTPOS_TUPLE_OFFSET |
Definition at line 542 of file xasl.h.
Referenced by qexec_compare_valptr_with_tuple().
#define PCOL_INDEX_STRING_TUPLE_OFFSET 4 |
Definition at line 540 of file xasl.h.
Referenced by qexec_execute_connect_by(), qexec_get_index_pseudocolumn_value_from_tuple(), and qexec_set_pseudocolumns_val_pointers().
#define PCOL_ISCYCLE_TUPLE_OFFSET 1 |
Definition at line 537 of file xasl.h.
Referenced by pt_set_connect_by_xasl(), qexec_execute_connect_by(), and qexec_set_pseudocolumns_val_pointers().
#define PCOL_ISLEAF_TUPLE_OFFSET 2 |
Definition at line 538 of file xasl.h.
Referenced by pt_set_connect_by_xasl(), qexec_execute_connect_by(), and qexec_set_pseudocolumns_val_pointers().
#define PCOL_LEVEL_TUPLE_OFFSET 3 |
Definition at line 539 of file xasl.h.
Referenced by pt_set_connect_by_xasl(), qexec_recalc_tuples_parent_pos_in_list(), and qexec_set_pseudocolumns_val_pointers().
#define PCOL_PARENTPOS_TUPLE_OFFSET 5 |
Definition at line 541 of file xasl.h.
Referenced by qdata_evaluate_connect_by_root(), qdata_evaluate_qprior(), qdata_evaluate_sys_connect_by_path(), qexec_check_for_cycle(), qexec_execute_connect_by(), qexec_recalc_tuples_parent_pos_in_list(), and qexec_set_pseudocolumns_val_pointers().
#define QPROC_IS_INTERPOLATION_FUNC | ( | func_p | ) |
Definition at line 531 of file xasl.h.
Referenced by pt_metadomains_compatible(), pt_to_aggregate_node(), pt_to_analytic_node(), qdata_aggregate_interpolation(), qdata_analytic_interpolation(), qdata_evaluate_aggregate_list(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qdata_update_agg_interpolation_func_value_and_domain(), qexec_analytic_evaluate_interpolation_function(), qexec_analytic_put_next(), qexec_analytic_sort_key_header_load(), qexec_analytic_update_group_result(), qexec_initialize_analytic_state(), and qexec_resolve_domains_for_group_by().
#define SET_XASL_HEADER_CLASS_OID_LIST | ( | header, | |
list, | |||
n | |||
) |
#define SET_XASL_HEADER_CREATOR_OID | ( | header, | |
oid | |||
) | (*((OID *) header) = *(oid)) |
#define SET_XASL_HEADER_DBVAL_CNT | ( | header, | |
cnt | |||
) |
#define SET_XASL_HEADER_N_OID_LIST | ( | header, | |
n | |||
) | (*((int *) ((char *) (header) + sizeof(OID))) = (n)) |
#define SET_XASL_HEADER_REPR_ID_LIST | ( | header, | |
list, | |||
n | |||
) |
#define SET_XASL_STREAM_BODY_DATA | ( | stream, | |
data, | |||
size | |||
) |
#define SET_XASL_STREAM_BODY_SIZE | ( | stream, | |
size | |||
) | (*((int *) XASL_STREAM_BODY_PTR(stream)) = (size)) |
#define SET_XASL_STREAM_HEADER_DATA | ( | stream, | |
data, | |||
size | |||
) |
#define SET_XASL_STREAM_HEADER_SIZE | ( | stream, | |
size | |||
) | (*((int *) XASL_STREAM_HEADER_PTR(stream)) = (size)) |
#define XASL_CLASS_NO_TCARD -1 |
Definition at line 1068 of file xasl.h.
Referenced by pt_spec_to_xasl_class_oid_list(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), and xcache_check_recompilation_threshold().
#define XASL_CLEAR_FLAG | ( | x, | |
f | |||
) | (x)->flag &= (int) ~(f) |
Definition at line 497 of file xasl.h.
Referenced by add_sort_spec(), parser_generate_xasl(), pt_make_aptr_parent_node(), pt_to_buildlist_proc(), pt_to_delete_xasl(), pt_to_merge_update_xasl(), pt_to_union_proc(), pt_to_update_xasl(), and qdump_print_xasl().
#define XASL_DECACHE_CLONE 0x1000 /* decache clone */ |
Definition at line 489 of file xasl.h.
Referenced by qexec_clear_access_spec_list(), qexec_clear_agg_list(), qexec_clear_pred_context(), qexec_clear_regu_var(), qexec_clear_update_assignment(), qexec_clear_xasl(), qexec_clear_xasl_head(), and xcache_clone_decache().
#define XASL_G_GRBYNUM_FLAG_LIMIT_GT_LT 0x10 |
Definition at line 475 of file xasl.h.
Referenced by pt_to_buildlist_proc(), qexec_gby_finalize_group(), and qexec_groupby().
#define XASL_G_GRBYNUM_FLAG_LIMIT_LT 0x08 |
Definition at line 474 of file xasl.h.
Referenced by pt_to_buildlist_proc(), qexec_gby_finalize_group(), and qexec_groupby().
#define XASL_G_GRBYNUM_FLAG_SCAN_CHECK 0x02 |
Definition at line 472 of file xasl.h.
Referenced by qexec_eval_grbynum_pred().
#define XASL_G_GRBYNUM_FLAG_SCAN_CONTINUE 0x01 |
Definition at line 471 of file xasl.h.
Referenced by pt_to_buildlist_proc(), qdump_print_build_list_node(), and qexec_eval_grbynum_pred().
#define XASL_G_GRBYNUM_FLAG_SCAN_STOP 0x04 |
Definition at line 473 of file xasl.h.
Referenced by qexec_eval_grbynum_pred(), and qexec_gby_finalize_group().
#define XASL_HAS_CONNECT_BY 0x40 /* has CONNECT BY clause */ |
Definition at line 483 of file xasl.h.
Referenced by pt_set_connect_by_xasl(), qdata_evaluate_connect_by_root(), qdata_evaluate_qprior(), qdata_evaluate_sys_connect_by_path(), qexec_clear_xasl(), qexec_clear_xasl_head(), qexec_execute_mainblock_internal(), qexec_intprt_fnc(), qexec_setup_topn_proc(), and qexec_start_mainblock_iterations().
#define XASL_HAS_NOCYCLE 0x20 /* NOCYCLE is specified */ |
Definition at line 482 of file xasl.h.
Referenced by pt_make_connect_by_proc(), and qexec_execute_connect_by().
#define XASL_ID_COPY | ( | X1, | |
X2 | |||
) |
Definition at line 562 of file xasl.h.
Referenced by do_get_prepared_statement_info(), do_prepare_session_statement(), lock_wait_state_to_string(), logtb_descriptors_start_scan(), qmgr_get_temp_file_membuf_pages(), xcache_insert(), xlogtb_get_pack_tran_table(), xqmgr_execute_query(), xqmgr_prepare_query(), and xsession_get_prepared_statement().
#define XASL_ID_EQ | ( | X1, | |
X2 | |||
) |
Definition at line 572 of file xasl.h.
Referenced by dump_trantb().
Definition at line 560 of file xasl.h.
Referenced by db_execute_and_keep_statement_local(), do_get_prepared_statement_info(), dump_trantb(), event_log_sql_string(), lock_wait_state_to_string(), logtb_descriptors_start_scan(), prepare_query(), sqmgr_prepare_query(), and xlogtb_get_pack_tran_table().
#define XASL_ID_SET_NULL | ( | X | ) |
Definition at line 546 of file xasl.h.
Referenced by do_get_prepared_statement_info(), dump_trantb(), lock_wait_state_to_string(), logtb_clear_tdes(), logtb_initialize_tdes(), qmgr_allocate_query_entry(), qmgr_clear_trans_wakeup(), qmgr_get_temp_file_membuf_pages(), sentry_to_qentry(), sqmgr_prepare_query(), xcache_entry_init(), xcache_entry_uninit(), xcache_find_sha1(), xcache_insert(), xlogtb_get_pack_tran_table(), xqmgr_end_query(), xqmgr_prepare_and_execute_query(), xqmgr_prepare_query(), and xsession_get_prepared_statement().
#define XASL_IGNORE_CYCLES 0x100 /* is for LEVEL usage in connect by clause... sometimes cycles may be ignored */ |
Definition at line 485 of file xasl.h.
Referenced by pt_make_connect_by_proc(), and qexec_execute_connect_by().
#define XASL_INCLUDES_TDE_CLASS 0x10000 /* is any tde class related */ |
Definition at line 493 of file xasl.h.
Referenced by parser_generate_do_stmt_xasl(), parser_generate_xasl(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_merge_xasl(), pt_to_update_xasl(), and qmgr_process_query().
#define XASL_INSTNUM_FLAG_EVAL_DEFER 0x10 |
Definition at line 464 of file xasl.h.
Referenced by pt_to_analytic_final_node(), pt_to_buildlist_proc(), and qexec_analytic_eval_instnum_pred().
#define XASL_INSTNUM_FLAG_SCAN_CHECK 0x02 |
Definition at line 461 of file xasl.h.
Referenced by qexec_eval_instnum_pred(), and qexec_init_instnum_val().
#define XASL_INSTNUM_FLAG_SCAN_CONTINUE 0x01 |
Definition at line 460 of file xasl.h.
Referenced by pt_to_instnum_pred(), qdump_print_xasl(), and qexec_eval_instnum_pred().
#define XASL_INSTNUM_FLAG_SCAN_LAST_STOP 0x08 |
Definition at line 463 of file xasl.h.
Referenced by qexec_eval_instnum_pred(), qexec_init_instnum_val(), and qexec_intprt_fnc().
#define XASL_INSTNUM_FLAG_SCAN_STOP 0x04 |
Definition at line 462 of file xasl.h.
Referenced by qexec_eval_instnum_pred(), qexec_init_instnum_val(), qexec_intprt_fnc(), qexec_iterate_connect_by_results(), and qexec_merge_fnc().
#define XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC 0x20 |
Definition at line 465 of file xasl.h.
Referenced by pt_instnum_to_key_limit(), pt_to_buildlist_proc(), qexec_analytic_eval_instnum_pred(), and qexec_eval_instnum_pred().
#define XASL_IS_FLAGED | ( | x, | |
f | |||
) | (((x)->flag & (int) (f)) != 0) |
Definition at line 495 of file xasl.h.
Referenced by qdata_evaluate_connect_by_root(), qdata_evaluate_qprior(), qdata_evaluate_sys_connect_by_path(), qdump_print_xasl(), qexec_clear_access_spec_list(), qexec_clear_agg_list(), qexec_clear_head_lists(), qexec_clear_regu_var(), qexec_clear_update_assignment(), qexec_clear_xasl(), qexec_clear_xasl_head(), qexec_end_buildvalueblock_iterations(), qexec_end_mainblock_iterations(), qexec_end_one_iteration(), qexec_execute_analytic(), qexec_execute_build_indexes(), qexec_execute_connect_by(), qexec_execute_insert(), qexec_execute_mainblock_internal(), qexec_execute_obj_fetch(), qexec_execute_scan(), qexec_groupby(), qexec_groupby_index(), qexec_intprt_fnc(), qexec_merge_fnc(), qexec_merge_listfiles(), qexec_orderby_distinct_by_sorting(), qexec_setup_list_id(), qexec_setup_topn_proc(), qexec_start_mainblock_iterations(), and qmgr_process_query().
#define XASL_IS_MERGE_QUERY 0x400 /* query belongs to a merge statement */ |
Definition at line 487 of file xasl.h.
Referenced by pt_to_buildlist_proc(), qexec_groupby(), and qexec_groupby_index().
#define XASL_LINK_TO_REGU_VARIABLE 0x01 /* is linked to regu variable ? */ |
Definition at line 477 of file xasl.h.
Referenced by pt_make_regu_insert(), pt_make_regu_subquery(), pt_to_outlist(), qdump_print_xasl(), qexec_execute_insert(), qexec_execute_mainblock_internal(), qexec_execute_obj_fetch(), qexec_execute_scan(), qexec_intprt_fnc(), and qexec_merge_fnc().
#define XASL_MULTI_UPDATE_AGG 0x80 /* is for multi-update with aggregate */ |
Definition at line 484 of file xasl.h.
Referenced by pt_to_buildlist_proc(), qexec_end_mainblock_iterations(), qexec_end_one_iteration(), qexec_execute_mainblock_internal(), qexec_groupby(), and qexec_start_mainblock_iterations().
#define XASL_NEED_SINGLE_TUPLE_SCAN 0x8000 /* for exists operation */ |
Definition at line 492 of file xasl.h.
Referenced by pt_to_pred_expr_local_with_arg(), and qexec_intprt_fnc().
#define XASL_NO_FIXED_SCAN 0x4000 /* disable fixed scan for this proc */ |
Definition at line 491 of file xasl.h.
Referenced by pt_to_regu_variable(), and qexec_execute_mainblock_internal().
#define XASL_NODE_HEADER_SIZE OR_INT_SIZE /* xasl_flag */ |
Definition at line 72 of file xasl.h.
Referenced by sqmgr_prepare_query(), ssession_get_prepared_statement(), and xts_sizeof_xasl_node().
#define XASL_OBJFETCH_IGNORE_CLASSOID 0x200 /* fetch proc should ignore class oid */ |
Definition at line 486 of file xasl.h.
Referenced by pt_to_buildlist_proc(), and qexec_execute_obj_fetch().
#define XASL_ORDBYNUM_FLAG_SCAN_CHECK 0x02 |
Definition at line 457 of file xasl.h.
Referenced by qexec_eval_ordbynum_pred().
#define XASL_ORDBYNUM_FLAG_SCAN_CONTINUE 0x01 |
Definition at line 456 of file xasl.h.
Referenced by add_sort_spec(), pt_to_buildlist_proc(), pt_to_buildschema_proc(), pt_to_union_proc(), qdump_print_xasl(), and qexec_eval_ordbynum_pred().
#define XASL_ORDBYNUM_FLAG_SCAN_STOP 0x04 |
Definition at line 458 of file xasl.h.
Referenced by qexec_eval_ordbynum_pred(), and qexec_ordby_put_next().
#define XASL_RETURN_GENERATED_KEYS 0x2000 /* return generated keys */ |
Definition at line 490 of file xasl.h.
Referenced by pt_to_insert_xasl(), qexec_execute_insert(), qexec_setup_list_id(), and qmgr_process_query().
#define XASL_SERIAL_OID_TCARD -2 |
Definition at line 1069 of file xasl.h.
Referenced by pt_serial_to_xasl_class_oid_list(), and xcache_check_recompilation_threshold().
#define XASL_SET_FLAG | ( | x, | |
f | |||
) | (x)->flag |= (int) (f) |
Definition at line 496 of file xasl.h.
Referenced by parser_generate_do_stmt_xasl(), parser_generate_xasl(), parser_generate_xasl_proc(), pt_make_connect_by_proc(), pt_make_regu_insert(), pt_make_regu_subquery(), pt_set_connect_by_xasl(), pt_to_buildlist_proc(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_merge_xasl(), pt_to_outlist(), pt_to_pred_expr_local_with_arg(), pt_to_regu_variable(), pt_to_update_xasl(), qexec_clear_access_spec_list(), qexec_clear_pred_context(), qexec_clear_regu_var(), qexec_clear_xasl(), qmgr_process_query(), query_multi_range_opt_check_set_sort_col(), and xcache_clone_decache().
#define XASL_SKIP_ORDERBY_LIST 0x02 /* skip sorting for orderby_list ? */ |
Definition at line 478 of file xasl.h.
Referenced by add_sort_spec(), pt_to_buildlist_proc(), pt_to_union_proc(), qdump_print_xasl(), qexec_end_buildvalueblock_iterations(), qexec_end_mainblock_iterations(), qexec_execute_analytic(), qexec_execute_build_indexes(), qexec_execute_mainblock_internal(), qexec_groupby(), qexec_merge_listfiles(), qexec_setup_topn_proc(), qexec_start_mainblock_iterations(), and query_multi_range_opt_check_set_sort_col().
#define XASL_STREAM_BODY_PTR | ( | stream | ) | (GET_XASL_STREAM_HEADER_DATA(stream) + GET_XASL_STREAM_HEADER_SIZE(stream)) |
#define XASL_TO_BE_CACHED 0x10 /* the result will be cached */ |
Definition at line 481 of file xasl.h.
Referenced by qexec_end_buildvalueblock_iterations(), qexec_end_mainblock_iterations(), qexec_execute_analytic(), qexec_groupby(), qexec_merge_listfiles(), qexec_orderby_distinct_by_sorting(), qexec_start_mainblock_iterations(), and qmgr_process_query().
#define XASL_TOP_MOST_XASL 0x08 /* this is a top most XASL */ |
Definition at line 480 of file xasl.h.
Referenced by parser_generate_do_stmt_xasl(), parser_generate_xasl(), pt_make_aptr_parent_node(), qdump_print_xasl(), qexec_end_buildvalueblock_iterations(), qexec_end_mainblock_iterations(), qexec_execute_analytic(), qexec_execute_mainblock_internal(), qexec_groupby(), qexec_merge_listfiles(), qexec_orderby_distinct_by_sorting(), and qexec_start_mainblock_iterations().
#define XASL_USES_MRO 0x800 /* query uses multi range optimization */ |
Definition at line 488 of file xasl.h.
Referenced by qexec_execute_build_indexes(), qexec_execute_mainblock_internal(), qexec_setup_topn_proc(), and query_multi_range_opt_check_set_sort_col().
#define XASL_WAIT_MSECS_NOCHANGE -2 |
Definition at line 454 of file xasl.h.
Referenced by pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_update_xasl(), and qexec_execute_mainblock_internal().
#define XASL_ZERO_CORR_LEVEL 0x04 /* is zero-level uncorrelated subquery ? */ |
Definition at line 479 of file xasl.h.
Referenced by parser_generate_xasl_proc(), qdump_print_xasl(), and qexec_clear_head_lists().
typedef struct access_spec_node ACCESS_SPEC_TYPE |
typedef struct buildlist_proc_node BUILDLIST_PROC_NODE |
typedef struct buildvalue_proc_node BUILDVALUE_PROC_NODE |
typedef struct cls_spec_node CLS_SPEC_TYPE |
typedef struct connectby_proc_node CONNECTBY_PROC_NODE |
typedef struct cte_proc_node CTE_PROC_NODE |
typedef struct delete_proc_node DELETE_PROC_NODE |
typedef struct fetch_proc_node FETCH_PROC_NODE |
typedef union hybrid_node HYBRID_NODE |
typedef struct insert_proc_node INSERT_PROC_NODE |
typedef struct list_spec_node LIST_SPEC_TYPE |
typedef struct merge_proc_node MERGE_PROC_NODE |
typedef struct mergelist_proc_node MERGELIST_PROC_NODE |
typedef struct method_spec_node METHOD_SPEC_TYPE |
using PRED_EXPR = cubxasl::pred_expr |
typedef struct pred_expr_with_context PRED_EXPR_WITH_CONTEXT |
typedef struct qproc_db_value_list* QPROC_DB_VALUE_LIST |
typedef struct reguval_list_spec_node REGUVAL_LIST_SPEC_TYPE |
typedef struct selupd_list SELUPD_LIST |
typedef struct set_spec_node SET_SPEC_TYPE |
typedef struct showstmt_spec_node SHOWSTMT_SPEC_TYPE |
typedef struct union_proc_node UNION_PROC_NODE |
typedef struct update_assignment UPDATE_ASSIGNMENT |
typedef struct update_proc_node UPDATE_PROC_NODE |
typedef struct upddel_class_info UPDDEL_CLASS_INFO |
typedef struct val_list_node VAL_LIST |
typedef struct xasl_node_header XASL_NODE_HEADER |
typedef struct xasl_stream XASL_STREAM |
typedef struct xasl_unpack_info XASL_UNPACK_INFO |
enum ACCESS_METHOD |
enum ACCESS_SCHEMA_TYPE |
enum ACCESS_SPEC_FLAG |
enum PROC_TYPE |
enum TARGET_TYPE |