File xasl_generation.c
FileList > cubrid > src > parser > xasl_generation.c
Go to the source code of this file
#include "config.h"
#include <stdio.h>
#include <assert.h>
#include <search.h>
#include "xasl_generation.h"
#include "authenticate.h"
#include "misc_string.h"
#include "error_manager.h"
#include "parser.h"
#include "xasl_aggregate.hpp"
#include "xasl_analytic.hpp"
#include "xasl_predicate.hpp"
#include "xasl_regu_alloc.hpp"
#include "db.h"
#include "environment_variable.h"
#include "schema_manager.h"
#include "view_transform.h"
#include "locator_cl.h"
#include "optimizer.h"
#include "parser_message.h"
#include "virtual_object.h"
#include "set_object.h"
#include "object_primitive.h"
#include "object_print.h"
#include "object_representation.h"
#include "intl_support.h"
#include "system_parameter.h"
#include "execute_schema.h"
#include "porting.h"
#include "execute_statement.h"
#include "query_graph.h"
#include "schema_system_catalog_constants.h"
#include "query_planner.h"
#include "semantic_check.h"
#include "query_dump.h"
#include "parser_support.h"
#include "compile_context.h"
#include "db_json.hpp"
#include "jsp_cl.h"
#include "subquery_cache.h"
#include "pl_signature.hpp"
#include "sp_catalog.hpp"
#include "px_heap_scan_checker.hpp"
#include "px_query_checker.hpp"
#include "dbtype.h"
Classes
Public Types
Public Attributes
Public Static Attributes
| Type |
Name |
| const int |
OID_LIST_GROWTH = 10
|
| ANALYTIC_KEY_METADOMAIN |
analitic_key_metadomain_Initializer = { {0}, 0, 0, {[**NULL**](freelistheap_8h.md#define-null)}, 0, {[**NULL**](freelistheap_8h.md#define-null)}, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
|
| XASL_SUPP_INFO |
xasl_Supp_info = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), 0, 0, 0 }
|
Public Functions
| Type |
Name |
| XASL_NODE * |
parser_generate_do_stmt_xasl (PARSER_CONTEXT * parser, PT_NODE * node)
|
| XASL_NODE * |
parser_generate_xasl (PARSER_CONTEXT * parser, PT_NODE * node)
|
| int |
pt_append_omitted_on_update_expr_assignments (PARSER_CONTEXT * parser, PT_NODE * assigns, PT_NODE * from)
|
| XASL_NODE * |
pt_append_xasl (XASL_NODE * to, XASL_NODE * from_list)
|
| int |
pt_copy_upddel_hints_to_select (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * select_stmt)
|
| int |
pt_find_attribute (PARSER_CONTEXT * parser, const PT_NODE * name, const PT_NODE * attributes)
|
| int |
pt_find_omitted_default_expr (PARSER_CONTEXT * parser, DB_OBJECT * class_obj, PT_NODE * specified_attrs, PT_NODE ** default_expr_attrs)
|
| PT_NODE * |
pt_flush_classes (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| XASL_NODE * |
pt_gen_simple_merge_plan (PARSER_CONTEXT * parser, PT_NODE * select_node, QO_PLAN * plan, XASL_NODE * xasl)
|
| PT_NODE * |
pt_get_numbering_node_etc (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
pt_is_single_tuple (PARSER_CONTEXT * parser, PT_NODE * select_node)
|
| ACCESS_SPEC_TYPE * |
pt_make_dblink_access_spec (ACCESS_METHOD access, PRED_EXPR * where_pred, REGU_VARIABLE_LIST pred_list, REGU_VARIABLE_LIST attr_list, char * url, char * user, char * password, int host_var_count, int * host_var_index, char * sql)
|
| PT_NODE * |
pt_make_prim_data_type (PARSER_CONTEXT * parser, PT_TYPE_ENUM e)
|
| PT_NODE * |
pt_make_prim_data_type_fortonum (PARSER_CONTEXT * parser, int prec, int scale)
|
| REGU_VARIABLE * |
pt_make_regu_arith (const REGU_VARIABLE * arg1, const REGU_VARIABLE * arg2, const REGU_VARIABLE * arg3, const OPERATOR_TYPE op, const TP_DOMAIN * domain)
|
| int |
pt_prepare_corr_subquery_hash_result_cache (PARSER_CONTEXT * parser, PT_NODE * node, XASL_NODE * xasl)
|
| XASL_NODE * |
pt_remove_xasl (XASL_NODE * xasl_list, XASL_NODE * remove)
|
| void |
pt_set_connect_by_operator_node_etc (PARSER_CONTEXT * parser, PT_NODE * node_list, XASL_NODE * xasl)
|
| void |
pt_set_dptr (PARSER_CONTEXT * parser, PT_NODE * node, XASL_NODE * xasl, UINTPTR id)
|
| void |
pt_set_iscycle_node_etc (PARSER_CONTEXT * parser, PT_NODE * node_list, DB_VALUE ** iscycle_valp)
|
| void |
pt_set_isleaf_node_etc (PARSER_CONTEXT * parser, PT_NODE * node_list, DB_VALUE ** isleaf_valp)
|
| void |
pt_set_level_node_etc (PARSER_CONTEXT * parser, PT_NODE * node_list, DB_VALUE ** level_valp)
|
| void |
pt_set_numbering_node_etc (PARSER_CONTEXT * parser, PT_NODE * node_list, DB_VALUE ** instnum_valp, DB_VALUE ** ordbynum_valp)
|
| PT_NODE * |
pt_set_orderby_for_sort_limit_plan (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE * nodes_list)
|
| void |
pt_set_qprior_node_etc (PARSER_CONTEXT * parser, PT_NODE * node_list, XASL_NODE * xasl)
|
| XASL_NODE * |
pt_skeleton_buildlist_proc (PARSER_CONTEXT * parser, PT_NODE * namelist)
|
| void |
pt_sort_pos_regu_list_by_pos_no (REGU_VARIABLE_LIST * list_ptr)
|
| XASL_NODE * |
pt_to_delete_xasl (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| XASL_NODE * |
pt_to_fetch_proc (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * pred)
|
| FUNC_PRED * |
pt_to_func_pred (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * expr)
|
| XASL_NODE * |
pt_to_hashjoin_proc (PARSER_CONTEXT * parser, XASL_NODE * outer_xasl, XASL_NODE * inner_xasl)
|
| XASL_NODE * |
pt_to_insert_xasl (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| XASL_NODE * |
pt_to_instnum_pred (PARSER_CONTEXT * parser, XASL_NODE * xasl, PT_NODE * pred)
|
| PT_NODE * |
pt_to_merge_insert_query (PARSER_CONTEXT * parser, PT_NODE * select_list, PT_MERGE_INFO * info)
|
| PT_NODE * |
pt_to_merge_update_query (PARSER_CONTEXT * parser, PT_NODE * select_list, PT_MERGE_INFO * info)
|
| XASL_NODE * |
pt_to_merge_xasl (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE ** non_null_upd_attrs, PT_NODE ** non_null_ins_attrs, PT_NODE * default_expr_attrs)
|
| SORT_LIST * |
pt_to_orderby (PARSER_CONTEXT * parser, PT_NODE * order_list, PT_NODE * root)
|
| void |
pt_to_pos_descr (PARSER_CONTEXT * parser, QFILE_TUPLE_VALUE_POSITION * pos_p, PT_NODE * node, PT_NODE * root, PT_NODE ** referred_node, bool for_min_max_optimize)
|
| void |
pt_to_pos_descr_groupby (PARSER_CONTEXT * parser, QFILE_TUPLE_VALUE_POSITION * pos_p, PT_NODE * node, PT_NODE * root)
|
| REGU_VARIABLE_LIST |
pt_to_position_regu_variable_list (PARSER_CONTEXT * parser, PT_NODE * node_list, VAL_LIST * value_list, int * attr_offsets)
|
| PRED_EXPR * |
pt_to_pred_expr (PARSER_CONTEXT * parser, PT_NODE * node)
|
| PRED_EXPR * |
pt_to_pred_expr_with_arg (PARSER_CONTEXT * parser, PT_NODE * node_list, int * argp)
|
| PRED_EXPR_WITH_CONTEXT * |
pt_to_pred_with_context (PARSER_CONTEXT * parser, PT_NODE * predicate, PT_NODE * spec)
|
| void |
pt_to_regu_resolve_domain (int * p_precision, int * p_scale, const PT_NODE * node)
|
| REGU_VARIABLE * |
pt_to_regu_variable (PARSER_CONTEXT * parser, PT_NODE * node, UNBOX unbox)
|
| ACCESS_SPEC_TYPE * |
pt_to_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * where_key_part, PT_NODE * where_part, QO_PLAN * plan, QO_XASL_INDEX_INFO * index_part, PT_NODE * src_derived_tbl, PT_NODE * where_hash_part)
|
| PT_NODE * |
pt_to_upd_del_query (PARSER_CONTEXT * parser, PT_NODE * select_names, PT_NODE * select_list, PT_NODE * from, PT_NODE * with, PT_NODE * class_specs, PT_NODE * where, PT_NODE * using_index, PT_NODE * order_by, PT_NODE * orderby_for, int server_op, SCAN_OPERATION_TYPE scan_op_type)
|
| XASL_NODE * |
pt_to_update_xasl (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE ** non_null_attrs)
|
| VAL_LIST * |
pt_to_val_list (PARSER_CONTEXT * parser, UINTPTR id)
|
| XASL_NODE * |
pt_to_xasl_for_dblink (PARSER_CONTEXT * parser, PT_NODE * spec)
|
| TP_DOMAIN * |
pt_xasl_node_to_domain (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| TP_DOMAIN * |
pt_xasl_type_enum_to_domain (const PT_TYPE_ENUM type)
|
| SORT_LIST * |
ptqo_single_orderby (PARSER_CONTEXT * parser)
|
| XASL_NODE * |
ptqo_to_list_scan_proc (PARSER_CONTEXT * parser, XASL_NODE * xasl, PROC_TYPE proc_type, XASL_NODE * listfile, PT_NODE * namelist, PT_NODE * pred, int * poslist)
|
| XASL_NODE * |
ptqo_to_merge_list_proc (PARSER_CONTEXT * parser, XASL_NODE * left, XASL_NODE * right, JOIN_TYPE join_type)
|
| XASL_NODE * |
ptqo_to_scan_proc (PARSER_CONTEXT * parser, QO_PLAN * plan, XASL_NODE * xasl, PT_NODE * spec, PT_NODE * where_key_part, PT_NODE * where_part, QO_XASL_INDEX_INFO * info, PT_NODE * where_hash_part)
|
| void |
qo_plan_lite_print (QO_PLAN * plan, FILE * f, int howfar)
|
Public Static Functions
| Type |
Name |
| int |
hhhhmmss (const DB_TIME * time, char * buf, int buflen)
|
| int |
hhmiss (const DB_TIME * time, char * buf, int buflen)
|
| int |
hhmissms (const unsigned int mtime, char * buf, int buflen)
|
| char * |
host_var_name (unsigned int custom_print)
|
| int |
look_for_unique_btid (DB_OBJECT * classop, const char * name, BTID * btid)
|
| int |
mmddyyyyhhmiss (const DB_UTIME * utime, char * buf, int buflen)
|
| int |
mmddyyyyhhmissms (const DB_DATETIME * datetime, char * buf, int buflen)
|
| RANGE |
op_type_to_range (const PT_OP_TYPE op_type, const int nterms)
|
| PT_NODE * |
parser_generate_xasl_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
parser_generate_xasl_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| XASL_NODE * |
parser_generate_xasl_proc (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * query_list)
|
| int |
pt_add_pseudocolumns_placeholders (PARSER_CONTEXT * parser, OUTPTR_LIST * outptr_list, bool alloc_vals)
|
| void |
pt_add_regu_var_to_list (REGU_VARIABLE_LIST * destination, REGU_VARIABLE_LIST source)
|
| void |
pt_adjust_analytic_sort_specs (PARSER_CONTEXT * parser, PT_NODE * node, int idx, int adjust)
|
| SORT_LIST * |
pt_agg_orderby_to_sort_list (PARSER_CONTEXT * parser, PT_NODE * order_list, PT_NODE * agg_args_list)
|
| void |
pt_aggregate_info_append_value_list (AGGREGATE_INFO * info, VAL_LIST * value_list)
|
| void |
pt_aggregate_info_update_scan_regu_list (AGGREGATE_INFO * info, REGU_VARIABLE_LIST scan_regu_list)
|
| void |
pt_aggregate_info_update_value_and_reguvar_lists (AGGREGATE_INFO * info, VAL_LIST * value_list, REGU_VARIABLE_LIST regu_position_list, REGU_VARIABLE_LIST regu_constant_list)
|
| bool |
pt_analytic_to_metadomain (ANALYTIC_TYPE * func_p, PT_NODE * sort_list, ANALYTIC_KEY_METADOMAIN * func_meta, PT_NODE ** index, int * index_size)
|
| PT_NODE * |
pt_append_assignment_references (PARSER_CONTEXT * parser, PT_NODE * assignments, PT_NODE * from, PT_NODE * select_list)
|
| XASL_NODE * |
pt_append_scan (const XASL_NODE * to, const XASL_NODE * from)
|
| REGU_VARIABLE * |
pt_attribute_to_regu (PARSER_CONTEXT * parser, PT_NODE * attr)
|
| ANALYTIC_EVAL_TYPE * |
pt_build_analytic_eval_list (PARSER_CONTEXT * parser, QO_PLAN * qo_plan, ANALYTIC_KEY_METADOMAIN * meta, ANALYTIC_EVAL_TYPE * eval, PT_NODE ** sort_list_index, ANALYTIC_INFO * info)
|
| XASL_NODE * |
pt_build_do_stmt_aptr_list (PARSER_CONTEXT * parser, PT_NODE * node)
|
| PT_NODE * |
pt_build_do_stmt_aptr_list_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
pt_check_analytic_limit_optimization (XASL_NODE * xasl, ANALYTIC_EVAL_TYPE * eval_list)
|
| PT_NODE * |
pt_check_corr_subquery_not_cachable_expr (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| void |
pt_check_dblink_trigger (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| PT_NODE * |
pt_check_dblink_trigger_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_check_hashable (PARSER_CONTEXT * parser, PT_NODE * tree, void * void_arg, int * continue_walk)
|
| VAL_LIST * |
pt_clone_val_list (PARSER_CONTEXT * parser, PT_NODE * attribute_list)
|
| int |
pt_cnt_attrs (const REGU_VARIABLE_LIST attr_list)
|
| VAL_LIST * |
pt_copy_val_list (PARSER_CONTEXT * parser, VAL_LIST * val_list_p)
|
| PT_NODE * |
pt_corr_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
pt_count_analytic_covered_sort_list (PARSER_CONTEXT * parser, QO_PLAN * qo_plan, ANALYTIC_EVAL_TYPE * eval, ANALYTIC_INFO * info)
|
| int |
pt_create_iss_range (INDX_INFO * indx_infop, TP_DOMAIN * domain)
|
| void |
pt_create_json_table_column (PARSER_CONTEXT * parser, PT_NODE * jt_column, TABLE_INFO * tbl_info, json_table_column & col_result)
|
| PT_NODE * |
pt_expand_analytic_node (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * select_list)
|
| void |
pt_fill_in_attrid_array (REGU_VARIABLE_LIST attr_list, ATTR_ID * attr_array, int * next_pos)
|
| PT_NODE * |
pt_filter_pseudo_specs (PARSER_CONTEXT * parser, PT_NODE * spec)
|
| PT_NODE * |
pt_find_hq_op_except_prior (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| XASL_NODE * |
pt_find_oid_scan_block (XASL_NODE * xasl, OID * oid)
|
| TABLE_INFO * |
pt_find_table_info (UINTPTR spec_id, TABLE_INFO * exposed_list)
|
| XASL_NODE * |
pt_find_xasl (XASL_NODE * list, XASL_NODE * match)
|
| int |
pt_fix_buildlist_aggregate_cume_dist_percent_rank (PARSER_CONTEXT * parser, PT_NODE * node, AGGREGATE_INFO * info, REGU_VARIABLE * regu)
|
| int |
pt_fix_first_term_expr_for_iss (PARSER_CONTEXT * parser, QO_INDEX_ENTRY * index_entryp, PT_NODE ** term_exprs)
|
| int |
pt_fix_first_term_func_index_for_iss (PARSER_CONTEXT * parser, QO_INDEX_ENTRY * index_entryp, PT_NODE ** term_exprs)
|
| PT_NODE * |
pt_fix_interpolation_aggregate_function_order_by (PARSER_CONTEXT * parser, PT_NODE * node)
|
| void |
pt_fix_pseudocolumns_pos_regu_list (PARSER_CONTEXT * parser, PT_NODE * node_list, REGU_VARIABLE_LIST regu_list)
|
| PT_NODE * |
pt_flush_class_and_null_xasl (PARSER_CONTEXT * parser, PT_NODE * tree, void * void_arg, int * continue_walk)
|
| REGU_VARIABLE * |
pt_function_to_regu (PARSER_CONTEXT * parser, PT_NODE * function)
|
| XASL_NODE * |
pt_gen_optimized_plan (PARSER_CONTEXT * parser, PT_NODE * select_node, QO_PLAN * plan, XASL_NODE * xasl)
|
| XASL_NODE * |
pt_gen_simple_plan (PARSER_CONTEXT * parser, PT_NODE * select_node, QO_PLAN * plan, XASL_NODE * xasl)
|
| ANALYTIC_EVAL_TYPE * |
pt_generate_simple_analytic_eval_type (PARSER_CONTEXT * parser, ANALYTIC_INFO * info)
|
| int |
pt_get_mvcc_reev_range_data (PARSER_CONTEXT * parser, TABLE_INFO * table_info, PT_NODE * where_key_part, QO_XASL_INDEX_INFO * index_pred, PRED_EXPR ** where_range, REGU_VARIABLE_LIST * regu_attributes_range, HEAP_CACHE_ATTRINFO ** cache_range)
|
| int |
pt_get_pred_attrs (PARSER_CONTEXT * parser, TABLE_INFO * table_info, PT_NODE * pred, PT_NODE ** pred_attrs)
|
| PRED_REGU_VARIABLE_P_LIST |
pt_get_pred_regu_variable_p_list (const PRED_EXPR * pred, int * err)
|
| PRED_REGU_VARIABLE_P_LIST |
pt_get_var_regu_variable_p_list (const REGU_VARIABLE * regu, bool is_prior, int * err)
|
| bool |
pt_has_reev_in_subquery (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| PT_NODE * |
pt_has_reev_in_subquery_post (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_has_reev_in_subquery_pre (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_host_vars_count (PARSER_CONTEXT * parser, PT_NODE * term_list, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_host_vars_index (PARSER_CONTEXT * parser, PT_NODE * term_list, void * arg, int * continue_walk)
|
| DB_VALUE * |
pt_index_value (const VAL_LIST * value, int index)
|
| int |
pt_init_pred_expr_context (PARSER_CONTEXT * parser, PT_NODE * predicate, PT_NODE * spec, PRED_EXPR_WITH_CONTEXT * pred_expr)
|
| void |
pt_init_xasl_supp_info ()
|
| int |
pt_initialize_analytic_info (PARSER_CONTEXT * parser, ANALYTIC_INFO * analytic_info, PT_NODE * select_node, PT_NODE * select_list_ex, BUILDLIST_PROC_NODE * buildlist)
|
| int |
pt_instnum_to_key_limit (PARSER_CONTEXT * parser, QO_PLAN * plan, XASL_NODE * xasl)
|
| bool |
pt_is_analytic_eval_list_valid (ANALYTIC_EVAL_TYPE * eval_list)
|
| PT_NODE * |
pt_is_hash_agg_eligible (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
|
| bool |
pt_is_sort_list_covered (PARSER_CONTEXT * parser, SORT_LIST * covering_list_p, SORT_LIST * covered_list_p)
|
| PT_NODE * |
pt_is_spec_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * void_arg, int * continue_walk)
|
| int |
pt_is_subquery (PT_NODE * node)
|
| REGU_VARIABLE * |
pt_join_term_to_regu_variable (PARSER_CONTEXT * parser, PT_NODE * join_term)
|
| SELUPD_LIST * |
pt_link_regu_to_selupd_list (PARSER_CONTEXT * parser, REGU_VARIABLE_LIST regulist, SELUPD_LIST * selupd_list, DB_OBJECT * target_class)
|
| ACCESS_SPEC_TYPE * |
pt_make_access_spec (TARGET_TYPE spec_type, ACCESS_METHOD access, INDX_INFO * indexptr, PRED_EXPR * where_key, PRED_EXPR * where_pred, PRED_EXPR * where_range)
|
| XASL_NODE * |
pt_make_aptr_parent_node (PARSER_CONTEXT * parser, PT_NODE * node, PROC_TYPE type)
|
| ACCESS_SPEC_TYPE * |
pt_make_class_access_spec (PARSER_CONTEXT * parser, PT_NODE * flat, DB_OBJECT * class_, TARGET_TYPE scan_type, ACCESS_METHOD access, INDX_INFO * indexptr, PRED_EXPR * where_key, PRED_EXPR * where_pred, PRED_EXPR * where_range, REGU_VARIABLE_LIST attr_list_key, REGU_VARIABLE_LIST attr_list_pred, REGU_VARIABLE_LIST attr_list_rest, REGU_VARIABLE_LIST attr_list_range, OUTPTR_LIST * output_val_list, REGU_VARIABLE_LIST regu_val_list, HEAP_CACHE_ATTRINFO * cache_key, HEAP_CACHE_ATTRINFO * cache_pred, HEAP_CACHE_ATTRINFO * cache_rest, HEAP_CACHE_ATTRINFO * cache_range, ACCESS_SCHEMA_TYPE schema_type, DB_VALUE ** cache_recordinfo, REGU_VARIABLE_LIST reserved_val_list)
|
| XASL_NODE * |
pt_make_connect_by_proc (PARSER_CONTEXT * parser, PT_NODE * select_node, XASL_NODE * select_xasl)
|
| int |
pt_make_constant_regu_list_from_val_list (PARSER_CONTEXT * parser, VAL_LIST * value_list, REGU_VARIABLE_LIST * regu_list)
|
| ACCESS_SPEC_TYPE * |
pt_make_cselect_access_spec (XASL_NODE * xasl, PL_SIGNATURE_ARRAY_TYPE * sig_array, ACCESS_METHOD access, INDX_INFO * indexptr, PRED_EXPR * where_pred, REGU_VARIABLE_LIST attr_list)
|
| REGU_VARIABLE * |
pt_make_function (PARSER_CONTEXT * parser, int function_code, const REGU_VARIABLE_LIST arg_list, const DB_TYPE result_type, const PT_NODE * node)
|
| int * |
pt_make_identity_offsets (PT_NODE * attr_list)
|
| ACCESS_SPEC_TYPE * |
pt_make_json_table_access_spec (PARSER_CONTEXT * parser, REGU_VARIABLE * json_reguvar, PRED_EXPR * where_pred, PT_JSON_TABLE_INFO * json_table, TABLE_INFO * tbl_info)
|
| json_table_node * |
pt_make_json_table_spec_node (PARSER_CONTEXT * parser, PT_JSON_TABLE_INFO * json_table, size_t & start_id, TABLE_INFO * tbl_info)
|
| void |
pt_make_json_table_spec_node_internal (PARSER_CONTEXT * parser, PT_JSON_TABLE_NODE_INFO * jt_node_info, size_t & current_id, TABLE_INFO * tbl_info, json_table_node & result)
|
| ACCESS_SPEC_TYPE * |
pt_make_list_access_spec (XASL_NODE * xasl, ACCESS_METHOD access, INDX_INFO * indexptr, PRED_EXPR * where_pred, REGU_VARIABLE_LIST attr_list_pred, REGU_VARIABLE_LIST attr_list_rest, REGU_VARIABLE_LIST attr_list_build, REGU_VARIABLE_LIST attr_list_probe)
|
| OUTPTR_LIST * |
pt_make_outlist_from_vallist (PARSER_CONTEXT * parser, VAL_LIST * val_list_p)
|
| REGU_VARIABLE_LIST |
pt_make_pos_regu_list (PARSER_CONTEXT * parser, VAL_LIST * val_list_p)
|
| REGU_VARIABLE * |
pt_make_pos_regu_var_from_scratch (TP_DOMAIN * dom, DB_VALUE * fetch_to, int pos_no)
|
| REGU_VARIABLE * |
pt_make_position_regu_variable (PARSER_CONTEXT * parser, const PT_NODE * node, int i)
|
| PRED_EXPR * |
pt_make_pred_expr_pred (const PRED_EXPR * arg1, const PRED_EXPR * arg2, const BOOL_OP bop)
|
| PRED_EXPR * |
pt_make_pred_term_comp (const REGU_VARIABLE * arg1, const REGU_VARIABLE * arg2, const REL_OP rop, const DB_TYPE data_type)
|
| PRED_EXPR * |
pt_make_pred_term_is (PARSER_CONTEXT * parser, PT_NODE * arg1, PT_NODE * arg2, const BOOL_OP bop)
|
| PRED_EXPR * |
pt_make_pred_term_like (const REGU_VARIABLE * arg1, const REGU_VARIABLE * arg2, const REGU_VARIABLE * arg3)
|
| PRED_EXPR * |
pt_make_pred_term_not (const PRED_EXPR * arg1)
|
| PRED_EXPR * |
pt_make_pred_term_rlike (REGU_VARIABLE * arg1, REGU_VARIABLE * arg2, REGU_VARIABLE * case_sensitive)
|
| PRED_EXPR * |
pt_make_pred_term_some_all (const REGU_VARIABLE * arg1, const REGU_VARIABLE * arg2, const REL_OP rop, const DB_TYPE data_type, const QL_FLAG some_all)
|
| PT_NODE * |
pt_make_prefix_index_data_filter (PARSER_CONTEXT * parser, PT_NODE * where_key_part, PT_NODE * where_part, QO_XASL_INDEX_INFO * index_pred)
|
| REGU_VARIABLE * |
pt_make_regu_constant (PARSER_CONTEXT * parser, DB_VALUE * db_value, const DB_TYPE db_type, const PT_NODE * node)
|
| REGU_VARIABLE * |
pt_make_regu_hostvar (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| REGU_VARIABLE * |
pt_make_regu_insert (PARSER_CONTEXT * parser, PT_NODE * statement)
|
| REGU_VARIABLE * |
pt_make_regu_iscycle (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| REGU_VARIABLE * |
pt_make_regu_isleaf (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| REGU_VARIABLE * |
pt_make_regu_level (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| PT_NODE * |
pt_make_regu_list_from_value_list (PARSER_CONTEXT * parser, PT_NODE * node, VAL_LIST * value_list, REGU_VARIABLE_LIST * regu_list)
|
| REGU_VARIABLE * |
pt_make_regu_numbering (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| REGU_VARIABLE * |
pt_make_regu_pred (const PRED_EXPR * pred)
|
| REGU_VARIABLE * |
pt_make_regu_reguvalues_list (PARSER_CONTEXT * parser, const PT_NODE * node, UNBOX unbox)
|
| REGU_VARIABLE * |
pt_make_regu_subquery (PARSER_CONTEXT * parser, XASL_NODE * xasl, const UNBOX unbox, const PT_NODE * node)
|
| DB_VALUE ** |
pt_make_reserved_value_list (PARSER_CONTEXT * parser, PT_RESERVED_NAME_TYPE type)
|
| PT_NODE * |
pt_make_result_ref (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * groupby_list, VAL_LIST * vallist)
|
| ACCESS_SPEC_TYPE * |
pt_make_set_access_spec (REGU_VARIABLE * set_expr, ACCESS_METHOD access, INDX_INFO * indexptr, PRED_EXPR * where_pred, REGU_VARIABLE_LIST attr_list)
|
| ACCESS_SPEC_TYPE * |
pt_make_showstmt_access_spec (PRED_EXPR * where_pred, SHOWSTMT_TYPE show_type, REGU_VARIABLE_LIST arg_list)
|
| int |
pt_make_sq_cache_key_struct (QPROC_DB_VALUE_LIST key_struct, void * p, int type)
|
| TABLE_INFO * |
pt_make_table_info (PARSER_CONTEXT * parser, PT_NODE * table_spec)
|
| VAL_LIST * |
pt_make_val_list (PARSER_CONTEXT * parser, PT_NODE * attribute_list)
|
| REGU_VARIABLE * |
pt_make_vid (PARSER_CONTEXT * parser, const PT_NODE * data_type, const REGU_VARIABLE * regu3)
|
| void |
pt_mark_spec_list_for_update_clause (PARSER_CONTEXT * parser, PT_NODE * statement, PT_SPEC_FLAG spec_flag)
|
| void |
pt_merge_regu_var_lists (REGU_VARIABLE_LIST * destination, REGU_VARIABLE_LIST source)
|
| void |
pt_metadomain_adjust_key_prefix (ANALYTIC_KEY_METADOMAIN * meta)
|
| void |
pt_metadomain_build_comp_graph (ANALYTIC_KEY_METADOMAIN * af_meta, int af_count, int level)
|
| bool |
pt_metadomains_compatible (ANALYTIC_KEY_METADOMAIN * f1, ANALYTIC_KEY_METADOMAIN * f2, ANALYTIC_KEY_METADOMAIN * out, int * lost_link_count, int level)
|
| int |
pt_mvcc_flag_specs_assign_reev (PARSER_CONTEXT * parser, PT_NODE * spec_list, PT_NODE * assign_list)
|
| int |
pt_mvcc_flag_specs_cond_reev (PARSER_CONTEXT * parser, PT_NODE * spec_list, PT_NODE * cond)
|
| PT_NODE * |
pt_mvcc_prepare_upd_del_select (PARSER_CONTEXT * parser, PT_NODE * select_stmt)
|
| int |
pt_mvcc_set_spec_assign_reev_extra_indexes (PARSER_CONTEXT * parser, PT_NODE * spec_assign, PT_NODE * spec_list, PT_NODE * assign_list, int * indexes, int indexes_alloc_size)
|
| PT_NODE * |
pt_node_list_to_value_and_reguvar_list (PARSER_CONTEXT * parser, PT_NODE * node, VAL_LIST ** value_list, REGU_VARIABLE_LIST * regu_position_list)
|
| PT_NODE * |
pt_null_xasl (PARSER_CONTEXT * parser, PT_NODE * tree, void * void_arg, int * continue_walk)
|
| PT_NODE * |
pt_numbering_set_continue_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| ANALYTIC_EVAL_TYPE * |
pt_optimize_analytic_list (PARSER_CONTEXT * parser, QO_PLAN * qo_plan, ANALYTIC_INFO * info, bool * no_optimization)
|
| void |
pt_optimize_min_max_list (PARSER_CONTEXT * parser, PT_NODE * select_node, QO_PLAN * plan, AGGREGATE_TYPE * aggregate)
|
| int |
pt_ordbynum_to_key_limit_multiple_ranges (PARSER_CONTEXT * parser, QO_PLAN * plan, XASL_NODE * xasl)
|
| XASL_NODE * |
pt_plan_cte (PARSER_CONTEXT * parser, PT_NODE * node, PROC_TYPE proc_type)
|
| XASL_NODE * |
pt_plan_query (PARSER_CONTEXT * parser, PT_NODE * select_node)
|
| XASL_NODE * |
pt_plan_schema (PARSER_CONTEXT * parser, PT_NODE * select_node)
|
| XASL_NODE * |
pt_plan_set_query (PARSER_CONTEXT * parser, PT_NODE * node, PROC_TYPE proc_type)
|
| XASL_NODE * |
pt_plan_single_table_hq_iterations (PARSER_CONTEXT * parser, PT_NODE * select_node, XASL_NODE * xasl)
|
| void |
pt_pop_symbol_info (PARSER_CONTEXT * parser)
|
| SYMBOL_INFO * |
pt_push_fetch_spec_info (PARSER_CONTEXT * parser, SYMBOL_INFO * symbols, PT_NODE * fetch_spec)
|
| SYMBOL_INFO * |
pt_push_symbol_info (PARSER_CONTEXT * parser, PT_NODE * select_node)
|
| PT_NODE * |
pt_query_set_reference (PARSER_CONTEXT * parser, PT_NODE * node)
|
| DB_VALUE * |
pt_regu_to_dbvalue (PARSER_CONTEXT * parser, REGU_VARIABLE * regu)
|
| int |
pt_reserved_id_to_valuelist_index (PARSER_CONTEXT * parser, PT_RESERVED_NAME_ID reserved_id)
|
| PT_NODE * |
pt_resolve_analytic_references (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * select_list, VAL_LIST * vallist)
|
| int |
pt_serial_to_xasl_class_oid_list (PARSER_CONTEXT * parser, const PT_NODE * serial, OID ** oid_listp, int ** lock_listp, int ** tcard_listp, int * nump, int * sizep)
|
| void |
pt_set_access_spec_for_aggregation (PARSER_CONTEXT * parser, AGGREGATE_TYPE * aggregate, ACCESS_SPEC_TYPE * access_spec)
|
| PT_NODE * |
pt_set_analytic_node_etc (PARSER_CONTEXT * parser, PT_NODE * node)
|
| void |
pt_set_aptr (PARSER_CONTEXT * parser, PT_NODE * select_node, XASL_NODE * xasl)
|
| PT_NODE * |
pt_set_connect_by_operator_node_etc_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| XASL_NODE * |
pt_set_connect_by_xasl (PARSER_CONTEXT * parser, PT_NODE * select_node, XASL_NODE * xasl)
|
| PT_NODE * |
pt_set_is_system_generated_stmt (PARSER_CONTEXT * parser, PT_NODE * tree, void * void_arg, int * continue_walk)
|
| PT_NODE * |
pt_set_iscycle_node_etc_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_set_isleaf_node_etc_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_set_level_node_etc_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| int |
pt_set_like_recompile_candidate (PARSER_CONTEXT * parser, QO_PLAN * qo_plan, XASL_NODE * xasl)
|
| int |
pt_set_limit_optimization_flags (PARSER_CONTEXT * parser, QO_PLAN * plan, XASL_NODE * xasl)
|
| PT_NODE * |
pt_set_numbering_node_etc_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_set_qprior_node_etc_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| void |
pt_set_regu_list_pos_descr_from_idx (REGU_VARIABLE_LIST & regu_list, size_t starting_index)
|
| SORT_LIST * |
pt_sort_list_from_metadomain (PARSER_CONTEXT * parser, ANALYTIC_KEY_METADOMAIN * meta, PT_NODE ** sort_list_index, PT_NODE * select_list)
|
| int |
pt_spec_to_xasl_class_oid_list (PARSER_CONTEXT * parser, const PT_NODE * spec, OID ** oid_listp, int ** lock_listp, int ** tcard_listp, int * nump, int * sizep, int includes_tde_class)
|
| int |
pt_spec_to_xasl_class_oid_list (PARSER_CONTEXT * parser, const PT_NODE * spec, OID ** oid_listp, int ** lock_listp, int ** tcard_listp, int * nump, int * sizep, int * includes_tde_class)
|
| void |
pt_split_access_if_instnum (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * where, PT_NODE ** access_part, PT_NODE ** if_part, PT_NODE ** instnum_part)
|
| int |
pt_split_attrs (PARSER_CONTEXT * parser, TABLE_INFO * table_info, PT_NODE * pred, PT_NODE ** pred_attrs, PT_NODE ** rest_attrs, PT_NODE ** reserved_attrs, int ** pred_offsets, int ** rest_offsets, int ** reserved_offsets)
|
| int |
pt_split_hash_attrs (PARSER_CONTEXT * parser, TABLE_INFO * table_info, PT_NODE * pred, PT_NODE ** build_attrs, PT_NODE ** probe_attrs)
|
| int |
pt_split_hash_attrs_for_HQ (PARSER_CONTEXT * parser, PT_NODE * pred, PT_NODE ** build_attrs, PT_NODE ** probe_attrs, PT_NODE ** pred_without_HQ)
|
| void |
pt_split_having_grbynum (PARSER_CONTEXT * parser, PT_NODE * having, PT_NODE ** having_part, PT_NODE ** grbynum_part)
|
| void |
pt_split_if_instnum (PARSER_CONTEXT * parser, PT_NODE * where, PT_NODE ** if_part, PT_NODE ** instnum_part)
|
| int |
pt_split_pred_for_HQ (PARSER_CONTEXT * parser, PT_NODE * pred, PT_NODE ** pred_without_HQ, PT_NODE ** pred_with_HQ)
|
| int |
pt_split_pred_regu_list (PARSER_CONTEXT * parser, const VAL_LIST * val_list, const PRED_EXPR * pred, REGU_VARIABLE_LIST * regu_list_rest, REGU_VARIABLE_LIST * regu_list_pred, REGU_VARIABLE_LIST * prior_regu_list_rest, REGU_VARIABLE_LIST * prior_regu_list_pred, bool split_prior)
|
| REGU_VARIABLE * |
pt_stored_procedure_to_regu (PARSER_CONTEXT * parser, PT_NODE * node)
|
| PT_NODE * |
pt_substitute_analytic_references (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE ** ex_list)
|
| PT_NODE * |
pt_substitute_assigned_name_node (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| SYMBOL_INFO * |
pt_symbol_info_alloc (void)
|
| int |
pt_table_compatible (PARSER_CONTEXT * parser, PT_NODE * node, PT_NODE * spec)
|
| PT_NODE * |
pt_table_compatible_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * void_info, int * continue_walk)
|
| TABLE_INFO * |
pt_table_info_alloc (void)
|
| SORT_LIST * |
pt_to_after_groupby (PARSER_CONTEXT * parser, PT_NODE * group_list, PT_NODE * root)
|
| SORT_LIST * |
pt_to_after_iscan (PARSER_CONTEXT * parser, PT_NODE * iscan_list, PT_NODE * root)
|
| AGGREGATE_TYPE * |
pt_to_aggregate (PARSER_CONTEXT * parser, PT_NODE * select_node, OUTPTR_LIST * out_list, VAL_LIST * value_list, REGU_VARIABLE_LIST regu_list, REGU_VARIABLE_LIST scan_regu_list, PT_NODE * out_names, DB_VALUE ** grbynum_valp, QO_PLAN * qo_plan)
|
| PT_NODE * |
pt_to_aggregate_node (PARSER_CONTEXT * parser, PT_NODE * tree, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_to_analytic_final_node (PARSER_CONTEXT * parser, PT_NODE * tree, PT_NODE ** ex_list, int * instnum_flag)
|
| PT_NODE * |
pt_to_analytic_node (PARSER_CONTEXT * parser, PT_NODE * tree, ANALYTIC_INFO * analytic_info)
|
| XASL_NODE * |
pt_to_buildlist_proc (PARSER_CONTEXT * parser, PT_NODE * select_node, QO_PLAN * qo_plan)
|
| XASL_NODE * |
pt_to_buildschema_proc (PARSER_CONTEXT * parser, PT_NODE * select_node)
|
| XASL_NODE * |
pt_to_buildvalue_proc (PARSER_CONTEXT * parser, PT_NODE * select_node, QO_PLAN * qo_plan)
|
| ACCESS_SPEC_TYPE * |
pt_to_class_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * where_key_part, PT_NODE * where_part, QO_PLAN * plan, QO_XASL_INDEX_INFO * index_pred)
|
| int |
pt_to_constraint_pred (PARSER_CONTEXT * parser, XASL_NODE * xasl, PT_NODE * spec, PT_NODE * non_null_attrs, PT_NODE * attr_list, int attr_offset)
|
| XASL_NODE * |
pt_to_corr_subquery_list (PARSER_CONTEXT * parser, PT_NODE * node, UINTPTR id)
|
| ACCESS_SPEC_TYPE * |
pt_to_cselect_table_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * cselect, PT_NODE * src_derived_tbl)
|
| ACCESS_SPEC_TYPE * |
pt_to_cte_table_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * cte_def, PT_NODE * where_part)
|
| REGU_VARIABLE * |
pt_to_cume_dist_percent_rank_regu_variable (PARSER_CONTEXT * parser, PT_NODE * tree, UNBOX unbox)
|
| ACCESS_SPEC_TYPE * |
pt_to_dblink_table_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * dblink_table, PT_NODE * src_derived_tbl, PT_NODE * where_p)
|
| XASL_NODE * |
pt_to_fetch_as_scan_proc (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * join_term, XASL_NODE * xasl_to_scan)
|
| void |
pt_to_fetch_proc_list (PARSER_CONTEXT * parser, PT_NODE * spec, XASL_NODE * root)
|
| void |
pt_to_fetch_proc_list_recurse (PARSER_CONTEXT * parser, PT_NODE * spec, XASL_NODE * root)
|
| SORT_LIST * |
pt_to_groupby (PARSER_CONTEXT * parser, PT_NODE * group_list, PT_NODE * root)
|
| int |
pt_to_index_attrs (PARSER_CONTEXT * parser, TABLE_INFO * table_info, QO_XASL_INDEX_INFO * index_pred, PT_NODE * pred, PT_NODE ** pred_attrs, int ** pred_offsets)
|
| INDX_INFO * |
pt_to_index_info (PARSER_CONTEXT * parser, DB_OBJECT * class_, PRED_EXPR * where_pred, QO_PLAN * plan, QO_XASL_INDEX_INFO * qo_index_infop)
|
| ACCESS_SPEC_TYPE * |
pt_to_json_table_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * json_table, PT_NODE * src_derived_tbl, PT_NODE * where_p)
|
| int |
pt_to_key_limit (PARSER_CONTEXT * parser, PT_NODE * key_limit, QO_LIMIT_INFO * limit_infop, KEY_INFO * key_infop, bool key_limit_reset)
|
| int |
pt_to_list_key (PARSER_CONTEXT * parser, PT_NODE ** term_exprs, int nterms, bool multi_col, KEY_INFO * key_infop)
|
| XASL_NODE * |
pt_to_merge_insert_xasl (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE * non_null_attrs, PT_NODE * default_expr_attrs)
|
| XASL_NODE * |
pt_to_merge_update_xasl (PARSER_CONTEXT * parser, PT_NODE * statement, PT_NODE ** non_null_attrs)
|
| void |
pt_to_misc_operand (REGU_VARIABLE * regu, PT_MISC_TYPE misc_specifier)
|
| ODKU_INFO * |
pt_to_odku_info (PARSER_CONTEXT * parser, PT_NODE * insert, XASL_NODE * xasl)
|
| SORT_LIST * |
pt_to_order_siblings_by (PARSER_CONTEXT * parser, XASL_NODE * xasl, XASL_NODE * connect_by_xasl)
|
| OUTPTR_LIST * |
pt_to_outlist (PARSER_CONTEXT * parser, PT_NODE * node_list, SELUPD_LIST ** selupd_list_ptr, UNBOX unbox)
|
| PRED_EXPR * |
pt_to_pred_expr_local_with_arg (PARSER_CONTEXT * parser, PT_NODE * node, int * argp)
|
| void |
pt_to_pred_terms (PARSER_CONTEXT * parser, PT_NODE * terms, UINTPTR id, PRED_EXPR ** pred)
|
| int |
pt_to_range_key (PARSER_CONTEXT * parser, PT_NODE ** term_exprs, int nterms, bool multi_col, KEY_INFO * key_infop)
|
| int |
pt_to_rangelist_key (PARSER_CONTEXT * parser, PT_NODE ** term_exprs, int nterms, bool multi_col, KEY_INFO * key_infop, int rangelist_idx, int * multi_col_pos)
|
| REGU_VARIABLE * |
pt_to_regu_attr_descr (PARSER_CONTEXT * parser, DB_OBJECT * class_object, HEAP_CACHE_ATTRINFO * cache_attrinfo, PT_NODE * attr)
|
| REGU_VARIABLE * |
pt_to_regu_reserved_name (PARSER_CONTEXT * parser, PT_NODE * attr)
|
| REGU_VARIABLE_LIST |
pt_to_regu_variable_list (PARSER_CONTEXT * p, PT_NODE * node, UNBOX unbox, VAL_LIST * value_list, int * attr_offsets)
|
| XASL_NODE * |
pt_to_scan_proc_list (PARSER_CONTEXT * parser, PT_NODE * node, XASL_NODE * root)
|
| ACCESS_SPEC_TYPE * |
pt_to_set_expr_table_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * set_expr, PT_NODE * where_part)
|
| ACCESS_SPEC_TYPE * |
pt_to_showstmt_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * where_part)
|
| int |
pt_to_single_key (PARSER_CONTEXT * parser, PT_NODE ** term_exprs, int nterms, bool multi_col, KEY_INFO * key_infop, int * multi_col_pos)
|
| SORT_LIST * |
pt_to_sort_list (PARSER_CONTEXT * parser, PT_NODE * node_list, PT_NODE * col_list, SORT_LIST_MODE sort_mode)
|
| ACCESS_SPEC_TYPE * |
pt_to_subquery_table_spec_list (PARSER_CONTEXT * parser, PT_NODE * spec, PT_NODE * subquery, PT_NODE * where_part, PT_NODE * where_hash_part)
|
| XASL_NODE * |
pt_to_uncorr_subquery_list (PARSER_CONTEXT * parser, PT_NODE * node)
|
| XASL_NODE * |
pt_to_union_proc (PARSER_CONTEXT * parser, PT_NODE * node, PROC_TYPE type)
|
| PT_NODE * |
pt_uncorr_post (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| PT_NODE * |
pt_uncorr_pre (PARSER_CONTEXT * parser, PT_NODE * node, void * arg, int * continue_walk)
|
| TP_DOMAIN * |
pt_xasl_data_type_to_domain (PARSER_CONTEXT * parser, const PT_NODE * node)
|
| bool |
pt_xasl_spec_has_dblink (XASL_NODE * xasl)
|
| int |
regu_make_constant_vid (DB_VALUE * val, DB_VALUE ** dbvalptr)
|
| int |
set_has_objs (DB_SET * seq)
|
| int |
setof_mop_to_setof_vobj (PARSER_CONTEXT * parser, DB_SET * seq, DB_VALUE * new_val)
|
| bool |
validate_regu_key_function_index (REGU_VARIABLE * regu_var)
|
Macros
Public Types Documentation
typedef ANALYTIC_KEY_METADOMAIN
typedef struct analytic_key_metadomain ANALYTIC_KEY_METADOMAIN;
typedef CORR_INFO
typedef struct corr_info CORR_INFO;
typedef HASHABLE
typedef struct hashable HASHABLE;
enum HASH_ATTR
enum HASH_ATTR {
UNHASHABLE = 1,
PROBE,
BUILD,
CONSTANT
};
typedef PRED_REGU_VARIABLE_P_LIST
typedef struct pred_regu_variable_p_list_node* PRED_REGU_VARIABLE_P_LIST;
typedef PRED_REGU_VARIABLE_P_LIST_NODE
typedef struct pred_regu_variable_p_list_node PRED_REGU_VARIABLE_P_LIST_NODE;
typedef SET_NUMBERING_NODE_ETC_INFO
typedef struct set_numbering_node_etc_info SET_NUMBERING_NODE_ETC_INFO;
enum SORT_LIST_MODE
enum SORT_LIST_MODE {
SORT_LIST_AFTER_ISCAN = 1,
SORT_LIST_ORDERBY,
SORT_LIST_GROUPBY,
SORT_LIST_AFTER_GROUPBY,
SORT_LIST_ANALYTIC_WINDOW
};
typedef UNCORR_INFO
typedef struct uncorr_info UNCORR_INFO;
typedef XASL_SUPP_INFO
typedef struct xasl_supp_info XASL_SUPP_INFO;
Public Attributes Documentation
variable query_Plan_dump_filename
char* query_Plan_dump_filename;
variable query_Plan_dump_fp
FILE* query_Plan_dump_fp;
variable query_Plan_dump_fp_open
bool query_Plan_dump_fp_open;
Public Static Attributes Documentation
variable OID_LIST_GROWTH
const int OID_LIST_GROWTH;
variable analitic_key_metadomain_Initializer
ANALYTIC_KEY_METADOMAIN analitic_key_metadomain_Initializer;
variable xasl_Supp_info
XASL_SUPP_INFO xasl_Supp_info;
Public Functions Documentation
function parser_generate_do_stmt_xasl
XASL_NODE * parser_generate_do_stmt_xasl (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function parser_generate_xasl
XASL_NODE * parser_generate_xasl (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_append_omitted_on_update_expr_assignments
int pt_append_omitted_on_update_expr_assignments (
PARSER_CONTEXT * parser,
PT_NODE * assigns,
PT_NODE * from
)
function pt_append_xasl
XASL_NODE * pt_append_xasl (
XASL_NODE * to,
XASL_NODE * from_list
)
function pt_copy_upddel_hints_to_select
int pt_copy_upddel_hints_to_select (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * select_stmt
)
function pt_find_attribute
int pt_find_attribute (
PARSER_CONTEXT * parser,
const PT_NODE * name,
const PT_NODE * attributes
)
function pt_find_omitted_default_expr
int pt_find_omitted_default_expr (
PARSER_CONTEXT * parser,
DB_OBJECT * class_obj,
PT_NODE * specified_attrs,
PT_NODE ** default_expr_attrs
)
function pt_flush_classes
PT_NODE * pt_flush_classes (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_gen_simple_merge_plan
XASL_NODE * pt_gen_simple_merge_plan (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
QO_PLAN * plan,
XASL_NODE * xasl
)
function pt_get_numbering_node_etc
PT_NODE * pt_get_numbering_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_is_single_tuple
int pt_is_single_tuple (
PARSER_CONTEXT * parser,
PT_NODE * select_node
)
function pt_make_dblink_access_spec
ACCESS_SPEC_TYPE * pt_make_dblink_access_spec (
ACCESS_METHOD access,
PRED_EXPR * where_pred,
REGU_VARIABLE_LIST pred_list,
REGU_VARIABLE_LIST attr_list,
char * url,
char * user,
char * password,
int host_var_count,
int * host_var_index,
char * sql
)
function pt_make_prim_data_type
PT_NODE * pt_make_prim_data_type (
PARSER_CONTEXT * parser,
PT_TYPE_ENUM e
)
function pt_make_prim_data_type_fortonum
PT_NODE * pt_make_prim_data_type_fortonum (
PARSER_CONTEXT * parser,
int prec,
int scale
)
function pt_make_regu_arith
REGU_VARIABLE * pt_make_regu_arith (
const REGU_VARIABLE * arg1,
const REGU_VARIABLE * arg2,
const REGU_VARIABLE * arg3,
const OPERATOR_TYPE op,
const TP_DOMAIN * domain
)
function pt_prepare_corr_subquery_hash_result_cache
int pt_prepare_corr_subquery_hash_result_cache (
PARSER_CONTEXT * parser,
PT_NODE * node,
XASL_NODE * xasl
)
function pt_remove_xasl
XASL_NODE * pt_remove_xasl (
XASL_NODE * xasl_list,
XASL_NODE * remove
)
function pt_set_connect_by_operator_node_etc
void pt_set_connect_by_operator_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
XASL_NODE * xasl
)
function pt_set_dptr
void pt_set_dptr (
PARSER_CONTEXT * parser,
PT_NODE * node,
XASL_NODE * xasl,
UINTPTR id
)
function pt_set_iscycle_node_etc
void pt_set_iscycle_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
DB_VALUE ** iscycle_valp
)
function pt_set_isleaf_node_etc
void pt_set_isleaf_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
DB_VALUE ** isleaf_valp
)
function pt_set_level_node_etc
void pt_set_level_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
DB_VALUE ** level_valp
)
function pt_set_numbering_node_etc
void pt_set_numbering_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
DB_VALUE ** instnum_valp,
DB_VALUE ** ordbynum_valp
)
function pt_set_orderby_for_sort_limit_plan
PT_NODE * pt_set_orderby_for_sort_limit_plan (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE * nodes_list
)
function pt_set_qprior_node_etc
void pt_set_qprior_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
XASL_NODE * xasl
)
function pt_skeleton_buildlist_proc
XASL_NODE * pt_skeleton_buildlist_proc (
PARSER_CONTEXT * parser,
PT_NODE * namelist
)
function pt_sort_pos_regu_list_by_pos_no
void pt_sort_pos_regu_list_by_pos_no (
REGU_VARIABLE_LIST * list_ptr
)
function pt_to_delete_xasl
XASL_NODE * pt_to_delete_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function pt_to_fetch_proc
XASL_NODE * pt_to_fetch_proc (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * pred
)
function pt_to_func_pred
FUNC_PRED * pt_to_func_pred (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * expr
)
function pt_to_hashjoin_proc
XASL_NODE * pt_to_hashjoin_proc (
PARSER_CONTEXT * parser,
XASL_NODE * outer_xasl,
XASL_NODE * inner_xasl
)
function pt_to_insert_xasl
XASL_NODE * pt_to_insert_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function pt_to_instnum_pred
XASL_NODE * pt_to_instnum_pred (
PARSER_CONTEXT * parser,
XASL_NODE * xasl,
PT_NODE * pred
)
function pt_to_merge_insert_query
PT_NODE * pt_to_merge_insert_query (
PARSER_CONTEXT * parser,
PT_NODE * select_list,
PT_MERGE_INFO * info
)
function pt_to_merge_update_query
PT_NODE * pt_to_merge_update_query (
PARSER_CONTEXT * parser,
PT_NODE * select_list,
PT_MERGE_INFO * info
)
function pt_to_merge_xasl
XASL_NODE * pt_to_merge_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE ** non_null_upd_attrs,
PT_NODE ** non_null_ins_attrs,
PT_NODE * default_expr_attrs
)
function pt_to_orderby
SORT_LIST * pt_to_orderby (
PARSER_CONTEXT * parser,
PT_NODE * order_list,
PT_NODE * root
)
function pt_to_pos_descr
void pt_to_pos_descr (
PARSER_CONTEXT * parser,
QFILE_TUPLE_VALUE_POSITION * pos_p,
PT_NODE * node,
PT_NODE * root,
PT_NODE ** referred_node,
bool for_min_max_optimize
)
function pt_to_pos_descr_groupby
void pt_to_pos_descr_groupby (
PARSER_CONTEXT * parser,
QFILE_TUPLE_VALUE_POSITION * pos_p,
PT_NODE * node,
PT_NODE * root
)
function pt_to_position_regu_variable_list
REGU_VARIABLE_LIST pt_to_position_regu_variable_list (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
VAL_LIST * value_list,
int * attr_offsets
)
function pt_to_pred_expr
PRED_EXPR * pt_to_pred_expr (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_to_pred_expr_with_arg
PRED_EXPR * pt_to_pred_expr_with_arg (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
int * argp
)
function pt_to_pred_with_context
PRED_EXPR_WITH_CONTEXT * pt_to_pred_with_context (
PARSER_CONTEXT * parser,
PT_NODE * predicate,
PT_NODE * spec
)
function pt_to_regu_resolve_domain
void pt_to_regu_resolve_domain (
int * p_precision,
int * p_scale,
const PT_NODE * node
)
function pt_to_regu_variable
REGU_VARIABLE * pt_to_regu_variable (
PARSER_CONTEXT * parser,
PT_NODE * node,
UNBOX unbox
)
function pt_to_spec_list
ACCESS_SPEC_TYPE * pt_to_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * where_key_part,
PT_NODE * where_part,
QO_PLAN * plan,
QO_XASL_INDEX_INFO * index_part,
PT_NODE * src_derived_tbl,
PT_NODE * where_hash_part
)
function pt_to_upd_del_query
PT_NODE * pt_to_upd_del_query (
PARSER_CONTEXT * parser,
PT_NODE * select_names,
PT_NODE * select_list,
PT_NODE * from,
PT_NODE * with,
PT_NODE * class_specs,
PT_NODE * where,
PT_NODE * using_index,
PT_NODE * order_by,
PT_NODE * orderby_for,
int server_op,
SCAN_OPERATION_TYPE scan_op_type
)
function pt_to_update_xasl
XASL_NODE * pt_to_update_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE ** non_null_attrs
)
function pt_to_val_list
VAL_LIST * pt_to_val_list (
PARSER_CONTEXT * parser,
UINTPTR id
)
function pt_to_xasl_for_dblink
XASL_NODE * pt_to_xasl_for_dblink (
PARSER_CONTEXT * parser,
PT_NODE * spec
)
function pt_xasl_node_to_domain
TP_DOMAIN * pt_xasl_node_to_domain (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_xasl_type_enum_to_domain
TP_DOMAIN * pt_xasl_type_enum_to_domain (
const PT_TYPE_ENUM type
)
function ptqo_single_orderby
SORT_LIST * ptqo_single_orderby (
PARSER_CONTEXT * parser
)
function ptqo_to_list_scan_proc
XASL_NODE * ptqo_to_list_scan_proc (
PARSER_CONTEXT * parser,
XASL_NODE * xasl,
PROC_TYPE proc_type,
XASL_NODE * listfile,
PT_NODE * namelist,
PT_NODE * pred,
int * poslist
)
function ptqo_to_merge_list_proc
XASL_NODE * ptqo_to_merge_list_proc (
PARSER_CONTEXT * parser,
XASL_NODE * left,
XASL_NODE * right,
JOIN_TYPE join_type
)
function ptqo_to_scan_proc
XASL_NODE * ptqo_to_scan_proc (
PARSER_CONTEXT * parser,
QO_PLAN * plan,
XASL_NODE * xasl,
PT_NODE * spec,
PT_NODE * where_key_part,
PT_NODE * where_part,
QO_XASL_INDEX_INFO * info,
PT_NODE * where_hash_part
)
function qo_plan_lite_print
void qo_plan_lite_print (
QO_PLAN * plan,
FILE * f,
int howfar
)
Public Static Functions Documentation
function hhhhmmss
static int hhhhmmss (
const DB_TIME * time,
char * buf,
int buflen
)
function hhmiss
static int hhmiss (
const DB_TIME * time,
char * buf,
int buflen
)
function hhmissms
static int hhmissms (
const unsigned int mtime,
char * buf,
int buflen
)
function host_var_name
static char * host_var_name (
unsigned int custom_print
)
function look_for_unique_btid
static int look_for_unique_btid (
DB_OBJECT * classop,
const char * name,
BTID * btid
)
function mmddyyyyhhmiss
static int mmddyyyyhhmiss (
const DB_UTIME * utime,
char * buf,
int buflen
)
function mmddyyyyhhmissms
static int mmddyyyyhhmissms (
const DB_DATETIME * datetime,
char * buf,
int buflen
)
function op_type_to_range
static RANGE op_type_to_range (
const PT_OP_TYPE op_type,
const int nterms
)
function parser_generate_xasl_post
static PT_NODE * parser_generate_xasl_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function parser_generate_xasl_pre
static PT_NODE * parser_generate_xasl_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function parser_generate_xasl_proc
static XASL_NODE * parser_generate_xasl_proc (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * query_list
)
function pt_add_pseudocolumns_placeholders
static int pt_add_pseudocolumns_placeholders (
PARSER_CONTEXT * parser,
OUTPTR_LIST * outptr_list,
bool alloc_vals
)
function pt_add_regu_var_to_list
static void pt_add_regu_var_to_list (
REGU_VARIABLE_LIST * destination,
REGU_VARIABLE_LIST source
)
function pt_adjust_analytic_sort_specs
static void pt_adjust_analytic_sort_specs (
PARSER_CONTEXT * parser,
PT_NODE * node,
int idx,
int adjust
)
function pt_agg_orderby_to_sort_list
static SORT_LIST * pt_agg_orderby_to_sort_list (
PARSER_CONTEXT * parser,
PT_NODE * order_list,
PT_NODE * agg_args_list
)
function pt_aggregate_info_append_value_list
static void pt_aggregate_info_append_value_list (
AGGREGATE_INFO * info,
VAL_LIST * value_list
)
function pt_aggregate_info_update_scan_regu_list
static void pt_aggregate_info_update_scan_regu_list (
AGGREGATE_INFO * info,
REGU_VARIABLE_LIST scan_regu_list
)
function pt_aggregate_info_update_value_and_reguvar_lists
static void pt_aggregate_info_update_value_and_reguvar_lists (
AGGREGATE_INFO * info,
VAL_LIST * value_list,
REGU_VARIABLE_LIST regu_position_list,
REGU_VARIABLE_LIST regu_constant_list
)
function pt_analytic_to_metadomain
static bool pt_analytic_to_metadomain (
ANALYTIC_TYPE * func_p,
PT_NODE * sort_list,
ANALYTIC_KEY_METADOMAIN * func_meta,
PT_NODE ** index,
int * index_size
)
function pt_append_assignment_references
static PT_NODE * pt_append_assignment_references (
PARSER_CONTEXT * parser,
PT_NODE * assignments,
PT_NODE * from,
PT_NODE * select_list
)
function pt_append_scan
static XASL_NODE * pt_append_scan (
const XASL_NODE * to,
const XASL_NODE * from
)
function pt_attribute_to_regu
static REGU_VARIABLE * pt_attribute_to_regu (
PARSER_CONTEXT * parser,
PT_NODE * attr
)
function pt_build_analytic_eval_list
static ANALYTIC_EVAL_TYPE * pt_build_analytic_eval_list (
PARSER_CONTEXT * parser,
QO_PLAN * qo_plan,
ANALYTIC_KEY_METADOMAIN * meta,
ANALYTIC_EVAL_TYPE * eval,
PT_NODE ** sort_list_index,
ANALYTIC_INFO * info
)
function pt_build_do_stmt_aptr_list
static XASL_NODE * pt_build_do_stmt_aptr_list (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_build_do_stmt_aptr_list_pre
static PT_NODE * pt_build_do_stmt_aptr_list_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_check_analytic_limit_optimization
static int pt_check_analytic_limit_optimization (
XASL_NODE * xasl,
ANALYTIC_EVAL_TYPE * eval_list
)
function pt_check_corr_subquery_not_cachable_expr
static PT_NODE * pt_check_corr_subquery_not_cachable_expr (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_check_dblink_trigger
static void pt_check_dblink_trigger (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function pt_check_dblink_trigger_pre
static PT_NODE * pt_check_dblink_trigger_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_check_hashable
static PT_NODE * pt_check_hashable (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * void_arg,
int * continue_walk
)
function pt_clone_val_list
static VAL_LIST * pt_clone_val_list (
PARSER_CONTEXT * parser,
PT_NODE * attribute_list
)
function pt_cnt_attrs
static int pt_cnt_attrs (
const REGU_VARIABLE_LIST attr_list
)
function pt_copy_val_list
static VAL_LIST * pt_copy_val_list (
PARSER_CONTEXT * parser,
VAL_LIST * val_list_p
)
function pt_corr_pre
static PT_NODE * pt_corr_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_count_analytic_covered_sort_list
static int pt_count_analytic_covered_sort_list (
PARSER_CONTEXT * parser,
QO_PLAN * qo_plan,
ANALYTIC_EVAL_TYPE * eval,
ANALYTIC_INFO * info
)
function pt_create_iss_range
static int pt_create_iss_range (
INDX_INFO * indx_infop,
TP_DOMAIN * domain
)
function pt_create_json_table_column
static void pt_create_json_table_column (
PARSER_CONTEXT * parser,
PT_NODE * jt_column,
TABLE_INFO * tbl_info,
json_table_column & col_result
)
function pt_expand_analytic_node
static PT_NODE * pt_expand_analytic_node (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * select_list
)
function pt_fill_in_attrid_array
static void pt_fill_in_attrid_array (
REGU_VARIABLE_LIST attr_list,
ATTR_ID * attr_array,
int * next_pos
)
function pt_filter_pseudo_specs
static PT_NODE * pt_filter_pseudo_specs (
PARSER_CONTEXT * parser,
PT_NODE * spec
)
function pt_find_hq_op_except_prior
static PT_NODE * pt_find_hq_op_except_prior (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_find_oid_scan_block
static XASL_NODE * pt_find_oid_scan_block (
XASL_NODE * xasl,
OID * oid
)
function pt_find_table_info
static TABLE_INFO * pt_find_table_info (
UINTPTR spec_id,
TABLE_INFO * exposed_list
)
function pt_find_xasl
static XASL_NODE * pt_find_xasl (
XASL_NODE * list,
XASL_NODE * match
)
function pt_fix_buildlist_aggregate_cume_dist_percent_rank
static int pt_fix_buildlist_aggregate_cume_dist_percent_rank (
PARSER_CONTEXT * parser,
PT_NODE * node,
AGGREGATE_INFO * info,
REGU_VARIABLE * regu
)
function pt_fix_first_term_expr_for_iss
static int pt_fix_first_term_expr_for_iss (
PARSER_CONTEXT * parser,
QO_INDEX_ENTRY * index_entryp,
PT_NODE ** term_exprs
)
function pt_fix_first_term_func_index_for_iss
static int pt_fix_first_term_func_index_for_iss (
PARSER_CONTEXT * parser,
QO_INDEX_ENTRY * index_entryp,
PT_NODE ** term_exprs
)
function pt_fix_interpolation_aggregate_function_order_by
static PT_NODE * pt_fix_interpolation_aggregate_function_order_by (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_fix_pseudocolumns_pos_regu_list
static void pt_fix_pseudocolumns_pos_regu_list (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
REGU_VARIABLE_LIST regu_list
)
function pt_flush_class_and_null_xasl
static PT_NODE * pt_flush_class_and_null_xasl (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * void_arg,
int * continue_walk
)
function pt_function_to_regu
static REGU_VARIABLE * pt_function_to_regu (
PARSER_CONTEXT * parser,
PT_NODE * function
)
function pt_gen_optimized_plan
static XASL_NODE * pt_gen_optimized_plan (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
QO_PLAN * plan,
XASL_NODE * xasl
)
function pt_gen_simple_plan
static XASL_NODE * pt_gen_simple_plan (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
QO_PLAN * plan,
XASL_NODE * xasl
)
function pt_generate_simple_analytic_eval_type
static ANALYTIC_EVAL_TYPE * pt_generate_simple_analytic_eval_type (
PARSER_CONTEXT * parser,
ANALYTIC_INFO * info
)
function pt_get_mvcc_reev_range_data
static int pt_get_mvcc_reev_range_data (
PARSER_CONTEXT * parser,
TABLE_INFO * table_info,
PT_NODE * where_key_part,
QO_XASL_INDEX_INFO * index_pred,
PRED_EXPR ** where_range,
REGU_VARIABLE_LIST * regu_attributes_range,
HEAP_CACHE_ATTRINFO ** cache_range
)
function pt_get_pred_attrs
static int pt_get_pred_attrs (
PARSER_CONTEXT * parser,
TABLE_INFO * table_info,
PT_NODE * pred,
PT_NODE ** pred_attrs
)
function pt_get_pred_regu_variable_p_list
static PRED_REGU_VARIABLE_P_LIST pt_get_pred_regu_variable_p_list (
const PRED_EXPR * pred,
int * err
)
function pt_get_var_regu_variable_p_list
static PRED_REGU_VARIABLE_P_LIST pt_get_var_regu_variable_p_list (
const REGU_VARIABLE * regu,
bool is_prior,
int * err
)
function pt_has_reev_in_subquery
static bool pt_has_reev_in_subquery (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function pt_has_reev_in_subquery_post
static PT_NODE * pt_has_reev_in_subquery_post (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * arg,
int * continue_walk
)
function pt_has_reev_in_subquery_pre
static PT_NODE * pt_has_reev_in_subquery_pre (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * arg,
int * continue_walk
)
function pt_host_vars_count
static PT_NODE * pt_host_vars_count (
PARSER_CONTEXT * parser,
PT_NODE * term_list,
void * arg,
int * continue_walk
)
function pt_host_vars_index
static PT_NODE * pt_host_vars_index (
PARSER_CONTEXT * parser,
PT_NODE * term_list,
void * arg,
int * continue_walk
)
function pt_index_value
static DB_VALUE * pt_index_value (
const VAL_LIST * value,
int index
)
function pt_init_pred_expr_context
static int pt_init_pred_expr_context (
PARSER_CONTEXT * parser,
PT_NODE * predicate,
PT_NODE * spec,
PRED_EXPR_WITH_CONTEXT * pred_expr
)
function pt_init_xasl_supp_info
static void pt_init_xasl_supp_info ()
function pt_initialize_analytic_info
static int pt_initialize_analytic_info (
PARSER_CONTEXT * parser,
ANALYTIC_INFO * analytic_info,
PT_NODE * select_node,
PT_NODE * select_list_ex,
BUILDLIST_PROC_NODE * buildlist
)
function pt_instnum_to_key_limit
static int pt_instnum_to_key_limit (
PARSER_CONTEXT * parser,
QO_PLAN * plan,
XASL_NODE * xasl
)
function pt_is_analytic_eval_list_valid
static bool pt_is_analytic_eval_list_valid (
ANALYTIC_EVAL_TYPE * eval_list
)
function pt_is_hash_agg_eligible
static PT_NODE * pt_is_hash_agg_eligible (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * arg,
int * continue_walk
)
function pt_is_sort_list_covered
static bool pt_is_sort_list_covered (
PARSER_CONTEXT * parser,
SORT_LIST * covering_list_p,
SORT_LIST * covered_list_p
)
function pt_is_spec_node
static PT_NODE * pt_is_spec_node (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * void_arg,
int * continue_walk
)
function pt_is_subquery
static int pt_is_subquery (
PT_NODE * node
)
function pt_join_term_to_regu_variable
static REGU_VARIABLE * pt_join_term_to_regu_variable (
PARSER_CONTEXT * parser,
PT_NODE * join_term
)
function pt_link_regu_to_selupd_list
static SELUPD_LIST * pt_link_regu_to_selupd_list (
PARSER_CONTEXT * parser,
REGU_VARIABLE_LIST regulist,
SELUPD_LIST * selupd_list,
DB_OBJECT * target_class
)
function pt_make_access_spec
static ACCESS_SPEC_TYPE * pt_make_access_spec (
TARGET_TYPE spec_type,
ACCESS_METHOD access,
INDX_INFO * indexptr,
PRED_EXPR * where_key,
PRED_EXPR * where_pred,
PRED_EXPR * where_range
)
function pt_make_aptr_parent_node
static XASL_NODE * pt_make_aptr_parent_node (
PARSER_CONTEXT * parser,
PT_NODE * node,
PROC_TYPE type
)
function pt_make_class_access_spec
static ACCESS_SPEC_TYPE * pt_make_class_access_spec (
PARSER_CONTEXT * parser,
PT_NODE * flat,
DB_OBJECT * class_,
TARGET_TYPE scan_type,
ACCESS_METHOD access,
INDX_INFO * indexptr,
PRED_EXPR * where_key,
PRED_EXPR * where_pred,
PRED_EXPR * where_range,
REGU_VARIABLE_LIST attr_list_key,
REGU_VARIABLE_LIST attr_list_pred,
REGU_VARIABLE_LIST attr_list_rest,
REGU_VARIABLE_LIST attr_list_range,
OUTPTR_LIST * output_val_list,
REGU_VARIABLE_LIST regu_val_list,
HEAP_CACHE_ATTRINFO * cache_key,
HEAP_CACHE_ATTRINFO * cache_pred,
HEAP_CACHE_ATTRINFO * cache_rest,
HEAP_CACHE_ATTRINFO * cache_range,
ACCESS_SCHEMA_TYPE schema_type,
DB_VALUE ** cache_recordinfo,
REGU_VARIABLE_LIST reserved_val_list
)
function pt_make_connect_by_proc
static XASL_NODE * pt_make_connect_by_proc (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
XASL_NODE * select_xasl
)
function pt_make_constant_regu_list_from_val_list
static int pt_make_constant_regu_list_from_val_list (
PARSER_CONTEXT * parser,
VAL_LIST * value_list,
REGU_VARIABLE_LIST * regu_list
)
function pt_make_cselect_access_spec
static ACCESS_SPEC_TYPE * pt_make_cselect_access_spec (
XASL_NODE * xasl,
PL_SIGNATURE_ARRAY_TYPE * sig_array,
ACCESS_METHOD access,
INDX_INFO * indexptr,
PRED_EXPR * where_pred,
REGU_VARIABLE_LIST attr_list
)
function pt_make_function
static REGU_VARIABLE * pt_make_function (
PARSER_CONTEXT * parser,
int function_code,
const REGU_VARIABLE_LIST arg_list,
const DB_TYPE result_type,
const PT_NODE * node
)
function pt_make_identity_offsets
static int * pt_make_identity_offsets (
PT_NODE * attr_list
)
function pt_make_json_table_access_spec
static ACCESS_SPEC_TYPE * pt_make_json_table_access_spec (
PARSER_CONTEXT * parser,
REGU_VARIABLE * json_reguvar,
PRED_EXPR * where_pred,
PT_JSON_TABLE_INFO * json_table,
TABLE_INFO * tbl_info
)
function pt_make_json_table_spec_node
static json_table_node * pt_make_json_table_spec_node (
PARSER_CONTEXT * parser,
PT_JSON_TABLE_INFO * json_table,
size_t & start_id,
TABLE_INFO * tbl_info
)
function pt_make_json_table_spec_node_internal
static void pt_make_json_table_spec_node_internal (
PARSER_CONTEXT * parser,
PT_JSON_TABLE_NODE_INFO * jt_node_info,
size_t & current_id,
TABLE_INFO * tbl_info,
json_table_node & result
)
function pt_make_list_access_spec
static ACCESS_SPEC_TYPE * pt_make_list_access_spec (
XASL_NODE * xasl,
ACCESS_METHOD access,
INDX_INFO * indexptr,
PRED_EXPR * where_pred,
REGU_VARIABLE_LIST attr_list_pred,
REGU_VARIABLE_LIST attr_list_rest,
REGU_VARIABLE_LIST attr_list_build,
REGU_VARIABLE_LIST attr_list_probe
)
function pt_make_outlist_from_vallist
static OUTPTR_LIST * pt_make_outlist_from_vallist (
PARSER_CONTEXT * parser,
VAL_LIST * val_list_p
)
function pt_make_pos_regu_list
static REGU_VARIABLE_LIST pt_make_pos_regu_list (
PARSER_CONTEXT * parser,
VAL_LIST * val_list_p
)
function pt_make_pos_regu_var_from_scratch
static REGU_VARIABLE * pt_make_pos_regu_var_from_scratch (
TP_DOMAIN * dom,
DB_VALUE * fetch_to,
int pos_no
)
function pt_make_position_regu_variable
static REGU_VARIABLE * pt_make_position_regu_variable (
PARSER_CONTEXT * parser,
const PT_NODE * node,
int i
)
function pt_make_pred_expr_pred
static PRED_EXPR * pt_make_pred_expr_pred (
const PRED_EXPR * arg1,
const PRED_EXPR * arg2,
const BOOL_OP bop
)
function pt_make_pred_term_comp
static PRED_EXPR * pt_make_pred_term_comp (
const REGU_VARIABLE * arg1,
const REGU_VARIABLE * arg2,
const REL_OP rop,
const DB_TYPE data_type
)
function pt_make_pred_term_is
static PRED_EXPR * pt_make_pred_term_is (
PARSER_CONTEXT * parser,
PT_NODE * arg1,
PT_NODE * arg2,
const BOOL_OP bop
)
function pt_make_pred_term_like
static PRED_EXPR * pt_make_pred_term_like (
const REGU_VARIABLE * arg1,
const REGU_VARIABLE * arg2,
const REGU_VARIABLE * arg3
)
function pt_make_pred_term_not
static PRED_EXPR * pt_make_pred_term_not (
const PRED_EXPR * arg1
)
function pt_make_pred_term_rlike
static PRED_EXPR * pt_make_pred_term_rlike (
REGU_VARIABLE * arg1,
REGU_VARIABLE * arg2,
REGU_VARIABLE * case_sensitive
)
function pt_make_pred_term_some_all
static PRED_EXPR * pt_make_pred_term_some_all (
const REGU_VARIABLE * arg1,
const REGU_VARIABLE * arg2,
const REL_OP rop,
const DB_TYPE data_type,
const QL_FLAG some_all
)
function pt_make_prefix_index_data_filter
static PT_NODE * pt_make_prefix_index_data_filter (
PARSER_CONTEXT * parser,
PT_NODE * where_key_part,
PT_NODE * where_part,
QO_XASL_INDEX_INFO * index_pred
)
function pt_make_regu_constant
static REGU_VARIABLE * pt_make_regu_constant (
PARSER_CONTEXT * parser,
DB_VALUE * db_value,
const DB_TYPE db_type,
const PT_NODE * node
)
function pt_make_regu_hostvar
static REGU_VARIABLE * pt_make_regu_hostvar (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_make_regu_insert
static REGU_VARIABLE * pt_make_regu_insert (
PARSER_CONTEXT * parser,
PT_NODE * statement
)
function pt_make_regu_iscycle
static REGU_VARIABLE * pt_make_regu_iscycle (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_make_regu_isleaf
static REGU_VARIABLE * pt_make_regu_isleaf (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_make_regu_level
static REGU_VARIABLE * pt_make_regu_level (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_make_regu_list_from_value_list
static PT_NODE * pt_make_regu_list_from_value_list (
PARSER_CONTEXT * parser,
PT_NODE * node,
VAL_LIST * value_list,
REGU_VARIABLE_LIST * regu_list
)
function pt_make_regu_numbering
static REGU_VARIABLE * pt_make_regu_numbering (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_make_regu_pred
static REGU_VARIABLE * pt_make_regu_pred (
const PRED_EXPR * pred
)
function pt_make_regu_reguvalues_list
static REGU_VARIABLE * pt_make_regu_reguvalues_list (
PARSER_CONTEXT * parser,
const PT_NODE * node,
UNBOX unbox
)
function pt_make_regu_subquery
static REGU_VARIABLE * pt_make_regu_subquery (
PARSER_CONTEXT * parser,
XASL_NODE * xasl,
const UNBOX unbox,
const PT_NODE * node
)
function pt_make_reserved_value_list
static DB_VALUE ** pt_make_reserved_value_list (
PARSER_CONTEXT * parser,
PT_RESERVED_NAME_TYPE type
)
function pt_make_result_ref
static PT_NODE * pt_make_result_ref (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * groupby_list,
VAL_LIST * vallist
)
function pt_make_set_access_spec
static ACCESS_SPEC_TYPE * pt_make_set_access_spec (
REGU_VARIABLE * set_expr,
ACCESS_METHOD access,
INDX_INFO * indexptr,
PRED_EXPR * where_pred,
REGU_VARIABLE_LIST attr_list
)
function pt_make_showstmt_access_spec
static ACCESS_SPEC_TYPE * pt_make_showstmt_access_spec (
PRED_EXPR * where_pred,
SHOWSTMT_TYPE show_type,
REGU_VARIABLE_LIST arg_list
)
function pt_make_sq_cache_key_struct
static int pt_make_sq_cache_key_struct (
QPROC_DB_VALUE_LIST key_struct,
void * p,
int type
)
function pt_make_table_info
static TABLE_INFO * pt_make_table_info (
PARSER_CONTEXT * parser,
PT_NODE * table_spec
)
function pt_make_val_list
static VAL_LIST * pt_make_val_list (
PARSER_CONTEXT * parser,
PT_NODE * attribute_list
)
function pt_make_vid
static REGU_VARIABLE * pt_make_vid (
PARSER_CONTEXT * parser,
const PT_NODE * data_type,
const REGU_VARIABLE * regu3
)
function pt_mark_spec_list_for_update_clause
static void pt_mark_spec_list_for_update_clause (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_SPEC_FLAG spec_flag
)
function pt_merge_regu_var_lists
static void pt_merge_regu_var_lists (
REGU_VARIABLE_LIST * destination,
REGU_VARIABLE_LIST source
)
function pt_metadomain_adjust_key_prefix
static void pt_metadomain_adjust_key_prefix (
ANALYTIC_KEY_METADOMAIN * meta
)
function pt_metadomain_build_comp_graph
static void pt_metadomain_build_comp_graph (
ANALYTIC_KEY_METADOMAIN * af_meta,
int af_count,
int level
)
function pt_metadomains_compatible
static bool pt_metadomains_compatible (
ANALYTIC_KEY_METADOMAIN * f1,
ANALYTIC_KEY_METADOMAIN * f2,
ANALYTIC_KEY_METADOMAIN * out,
int * lost_link_count,
int level
)
function pt_mvcc_flag_specs_assign_reev
static int pt_mvcc_flag_specs_assign_reev (
PARSER_CONTEXT * parser,
PT_NODE * spec_list,
PT_NODE * assign_list
)
function pt_mvcc_flag_specs_cond_reev
static int pt_mvcc_flag_specs_cond_reev (
PARSER_CONTEXT * parser,
PT_NODE * spec_list,
PT_NODE * cond
)
function pt_mvcc_prepare_upd_del_select
static PT_NODE * pt_mvcc_prepare_upd_del_select (
PARSER_CONTEXT * parser,
PT_NODE * select_stmt
)
static int pt_mvcc_set_spec_assign_reev_extra_indexes (
PARSER_CONTEXT * parser,
PT_NODE * spec_assign,
PT_NODE * spec_list,
PT_NODE * assign_list,
int * indexes,
int indexes_alloc_size
)
function pt_node_list_to_value_and_reguvar_list
static PT_NODE * pt_node_list_to_value_and_reguvar_list (
PARSER_CONTEXT * parser,
PT_NODE * node,
VAL_LIST ** value_list,
REGU_VARIABLE_LIST * regu_position_list
)
function pt_null_xasl
static PT_NODE * pt_null_xasl (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * void_arg,
int * continue_walk
)
function pt_numbering_set_continue_post
static PT_NODE * pt_numbering_set_continue_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_optimize_analytic_list
static ANALYTIC_EVAL_TYPE * pt_optimize_analytic_list (
PARSER_CONTEXT * parser,
QO_PLAN * qo_plan,
ANALYTIC_INFO * info,
bool * no_optimization
)
function pt_optimize_min_max_list
static void pt_optimize_min_max_list (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
QO_PLAN * plan,
AGGREGATE_TYPE * aggregate
)
function pt_ordbynum_to_key_limit_multiple_ranges
static int pt_ordbynum_to_key_limit_multiple_ranges (
PARSER_CONTEXT * parser,
QO_PLAN * plan,
XASL_NODE * xasl
)
function pt_plan_cte
static XASL_NODE * pt_plan_cte (
PARSER_CONTEXT * parser,
PT_NODE * node,
PROC_TYPE proc_type
)
function pt_plan_query
static XASL_NODE * pt_plan_query (
PARSER_CONTEXT * parser,
PT_NODE * select_node
)
function pt_plan_schema
static XASL_NODE * pt_plan_schema (
PARSER_CONTEXT * parser,
PT_NODE * select_node
)
function pt_plan_set_query
static XASL_NODE * pt_plan_set_query (
PARSER_CONTEXT * parser,
PT_NODE * node,
PROC_TYPE proc_type
)
function pt_plan_single_table_hq_iterations
static XASL_NODE * pt_plan_single_table_hq_iterations (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
XASL_NODE * xasl
)
function pt_pop_symbol_info
static void pt_pop_symbol_info (
PARSER_CONTEXT * parser
)
function pt_push_fetch_spec_info
static SYMBOL_INFO * pt_push_fetch_spec_info (
PARSER_CONTEXT * parser,
SYMBOL_INFO * symbols,
PT_NODE * fetch_spec
)
function pt_push_symbol_info
static SYMBOL_INFO * pt_push_symbol_info (
PARSER_CONTEXT * parser,
PT_NODE * select_node
)
function pt_query_set_reference
static PT_NODE * pt_query_set_reference (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_regu_to_dbvalue
static DB_VALUE * pt_regu_to_dbvalue (
PARSER_CONTEXT * parser,
REGU_VARIABLE * regu
)
function pt_reserved_id_to_valuelist_index
static int pt_reserved_id_to_valuelist_index (
PARSER_CONTEXT * parser,
PT_RESERVED_NAME_ID reserved_id
)
function pt_resolve_analytic_references
static PT_NODE * pt_resolve_analytic_references (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * select_list,
VAL_LIST * vallist
)
function pt_serial_to_xasl_class_oid_list
static int pt_serial_to_xasl_class_oid_list (
PARSER_CONTEXT * parser,
const PT_NODE * serial,
OID ** oid_listp,
int ** lock_listp,
int ** tcard_listp,
int * nump,
int * sizep
)
function pt_set_access_spec_for_aggregation
static void pt_set_access_spec_for_aggregation (
PARSER_CONTEXT * parser,
AGGREGATE_TYPE * aggregate,
ACCESS_SPEC_TYPE * access_spec
)
function pt_set_analytic_node_etc
static PT_NODE * pt_set_analytic_node_etc (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_set_aptr
static void pt_set_aptr (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
XASL_NODE * xasl
)
function pt_set_connect_by_operator_node_etc_pre
static PT_NODE * pt_set_connect_by_operator_node_etc_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_set_connect_by_xasl
static XASL_NODE * pt_set_connect_by_xasl (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
XASL_NODE * xasl
)
function pt_set_is_system_generated_stmt
static PT_NODE * pt_set_is_system_generated_stmt (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * void_arg,
int * continue_walk
)
function pt_set_iscycle_node_etc_pre
static PT_NODE * pt_set_iscycle_node_etc_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_set_isleaf_node_etc_pre
static PT_NODE * pt_set_isleaf_node_etc_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_set_level_node_etc_pre
static PT_NODE * pt_set_level_node_etc_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_set_like_recompile_candidate
static int pt_set_like_recompile_candidate (
PARSER_CONTEXT * parser,
QO_PLAN * qo_plan,
XASL_NODE * xasl
)
function pt_set_limit_optimization_flags
static int pt_set_limit_optimization_flags (
PARSER_CONTEXT * parser,
QO_PLAN * plan,
XASL_NODE * xasl
)
function pt_set_numbering_node_etc_pre
static PT_NODE * pt_set_numbering_node_etc_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_set_qprior_node_etc_pre
static PT_NODE * pt_set_qprior_node_etc_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_set_regu_list_pos_descr_from_idx
static void pt_set_regu_list_pos_descr_from_idx (
REGU_VARIABLE_LIST & regu_list,
size_t starting_index
)
function pt_sort_list_from_metadomain
static SORT_LIST * pt_sort_list_from_metadomain (
PARSER_CONTEXT * parser,
ANALYTIC_KEY_METADOMAIN * meta,
PT_NODE ** sort_list_index,
PT_NODE * select_list
)
function pt_spec_to_xasl_class_oid_list
static int pt_spec_to_xasl_class_oid_list (
PARSER_CONTEXT * parser,
const PT_NODE * spec,
OID ** oid_listp,
int ** lock_listp,
int ** tcard_listp,
int * nump,
int * sizep,
int includes_tde_class
)
function pt_spec_to_xasl_class_oid_list
static int pt_spec_to_xasl_class_oid_list (
PARSER_CONTEXT * parser,
const PT_NODE * spec,
OID ** oid_listp,
int ** lock_listp,
int ** tcard_listp,
int * nump,
int * sizep,
int * includes_tde_class
)
function pt_split_access_if_instnum
static void pt_split_access_if_instnum (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * where,
PT_NODE ** access_part,
PT_NODE ** if_part,
PT_NODE ** instnum_part
)
function pt_split_attrs
static int pt_split_attrs (
PARSER_CONTEXT * parser,
TABLE_INFO * table_info,
PT_NODE * pred,
PT_NODE ** pred_attrs,
PT_NODE ** rest_attrs,
PT_NODE ** reserved_attrs,
int ** pred_offsets,
int ** rest_offsets,
int ** reserved_offsets
)
function pt_split_hash_attrs
static int pt_split_hash_attrs (
PARSER_CONTEXT * parser,
TABLE_INFO * table_info,
PT_NODE * pred,
PT_NODE ** build_attrs,
PT_NODE ** probe_attrs
)
function pt_split_hash_attrs_for_HQ
static int pt_split_hash_attrs_for_HQ (
PARSER_CONTEXT * parser,
PT_NODE * pred,
PT_NODE ** build_attrs,
PT_NODE ** probe_attrs,
PT_NODE ** pred_without_HQ
)
function pt_split_having_grbynum
static void pt_split_having_grbynum (
PARSER_CONTEXT * parser,
PT_NODE * having,
PT_NODE ** having_part,
PT_NODE ** grbynum_part
)
function pt_split_if_instnum
static void pt_split_if_instnum (
PARSER_CONTEXT * parser,
PT_NODE * where,
PT_NODE ** if_part,
PT_NODE ** instnum_part
)
function pt_split_pred_for_HQ
static int pt_split_pred_for_HQ (
PARSER_CONTEXT * parser,
PT_NODE * pred,
PT_NODE ** pred_without_HQ,
PT_NODE ** pred_with_HQ
)
function pt_split_pred_regu_list
static int pt_split_pred_regu_list (
PARSER_CONTEXT * parser,
const VAL_LIST * val_list,
const PRED_EXPR * pred,
REGU_VARIABLE_LIST * regu_list_rest,
REGU_VARIABLE_LIST * regu_list_pred,
REGU_VARIABLE_LIST * prior_regu_list_rest,
REGU_VARIABLE_LIST * prior_regu_list_pred,
bool split_prior
)
function pt_stored_procedure_to_regu
static REGU_VARIABLE * pt_stored_procedure_to_regu (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_substitute_analytic_references
static PT_NODE * pt_substitute_analytic_references (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE ** ex_list
)
function pt_substitute_assigned_name_node
static PT_NODE * pt_substitute_assigned_name_node (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_symbol_info_alloc
static SYMBOL_INFO * pt_symbol_info_alloc (
void
)
function pt_table_compatible
static int pt_table_compatible (
PARSER_CONTEXT * parser,
PT_NODE * node,
PT_NODE * spec
)
function pt_table_compatible_node
static PT_NODE * pt_table_compatible_node (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * void_info,
int * continue_walk
)
function pt_table_info_alloc
static TABLE_INFO * pt_table_info_alloc (
void
)
function pt_to_after_groupby
static SORT_LIST * pt_to_after_groupby (
PARSER_CONTEXT * parser,
PT_NODE * group_list,
PT_NODE * root
)
function pt_to_after_iscan
static SORT_LIST * pt_to_after_iscan (
PARSER_CONTEXT * parser,
PT_NODE * iscan_list,
PT_NODE * root
)
function pt_to_aggregate
static AGGREGATE_TYPE * pt_to_aggregate (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
OUTPTR_LIST * out_list,
VAL_LIST * value_list,
REGU_VARIABLE_LIST regu_list,
REGU_VARIABLE_LIST scan_regu_list,
PT_NODE * out_names,
DB_VALUE ** grbynum_valp,
QO_PLAN * qo_plan
)
function pt_to_aggregate_node
static PT_NODE * pt_to_aggregate_node (
PARSER_CONTEXT * parser,
PT_NODE * tree,
void * arg,
int * continue_walk
)
function pt_to_analytic_final_node
static PT_NODE * pt_to_analytic_final_node (
PARSER_CONTEXT * parser,
PT_NODE * tree,
PT_NODE ** ex_list,
int * instnum_flag
)
function pt_to_analytic_node
static PT_NODE * pt_to_analytic_node (
PARSER_CONTEXT * parser,
PT_NODE * tree,
ANALYTIC_INFO * analytic_info
)
function pt_to_buildlist_proc
static XASL_NODE * pt_to_buildlist_proc (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
QO_PLAN * qo_plan
)
function pt_to_buildschema_proc
static XASL_NODE * pt_to_buildschema_proc (
PARSER_CONTEXT * parser,
PT_NODE * select_node
)
function pt_to_buildvalue_proc
static XASL_NODE * pt_to_buildvalue_proc (
PARSER_CONTEXT * parser,
PT_NODE * select_node,
QO_PLAN * qo_plan
)
function pt_to_class_spec_list
static ACCESS_SPEC_TYPE * pt_to_class_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * where_key_part,
PT_NODE * where_part,
QO_PLAN * plan,
QO_XASL_INDEX_INFO * index_pred
)
function pt_to_constraint_pred
static int pt_to_constraint_pred (
PARSER_CONTEXT * parser,
XASL_NODE * xasl,
PT_NODE * spec,
PT_NODE * non_null_attrs,
PT_NODE * attr_list,
int attr_offset
)
function pt_to_corr_subquery_list
static XASL_NODE * pt_to_corr_subquery_list (
PARSER_CONTEXT * parser,
PT_NODE * node,
UINTPTR id
)
function pt_to_cselect_table_spec_list
static ACCESS_SPEC_TYPE * pt_to_cselect_table_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * cselect,
PT_NODE * src_derived_tbl
)
function pt_to_cte_table_spec_list
static ACCESS_SPEC_TYPE * pt_to_cte_table_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * cte_def,
PT_NODE * where_part
)
function pt_to_cume_dist_percent_rank_regu_variable
static REGU_VARIABLE * pt_to_cume_dist_percent_rank_regu_variable (
PARSER_CONTEXT * parser,
PT_NODE * tree,
UNBOX unbox
)
function pt_to_dblink_table_spec_list
static ACCESS_SPEC_TYPE * pt_to_dblink_table_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * dblink_table,
PT_NODE * src_derived_tbl,
PT_NODE * where_p
)
function pt_to_fetch_as_scan_proc
static XASL_NODE * pt_to_fetch_as_scan_proc (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * join_term,
XASL_NODE * xasl_to_scan
)
function pt_to_fetch_proc_list
static void pt_to_fetch_proc_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
XASL_NODE * root
)
function pt_to_fetch_proc_list_recurse
static void pt_to_fetch_proc_list_recurse (
PARSER_CONTEXT * parser,
PT_NODE * spec,
XASL_NODE * root
)
function pt_to_groupby
static SORT_LIST * pt_to_groupby (
PARSER_CONTEXT * parser,
PT_NODE * group_list,
PT_NODE * root
)
function pt_to_index_attrs
static int pt_to_index_attrs (
PARSER_CONTEXT * parser,
TABLE_INFO * table_info,
QO_XASL_INDEX_INFO * index_pred,
PT_NODE * pred,
PT_NODE ** pred_attrs,
int ** pred_offsets
)
function pt_to_index_info
static INDX_INFO * pt_to_index_info (
PARSER_CONTEXT * parser,
DB_OBJECT * class_,
PRED_EXPR * where_pred,
QO_PLAN * plan,
QO_XASL_INDEX_INFO * qo_index_infop
)
function pt_to_json_table_spec_list
static ACCESS_SPEC_TYPE * pt_to_json_table_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * json_table,
PT_NODE * src_derived_tbl,
PT_NODE * where_p
)
function pt_to_key_limit
static int pt_to_key_limit (
PARSER_CONTEXT * parser,
PT_NODE * key_limit,
QO_LIMIT_INFO * limit_infop,
KEY_INFO * key_infop,
bool key_limit_reset
)
function pt_to_list_key
static int pt_to_list_key (
PARSER_CONTEXT * parser,
PT_NODE ** term_exprs,
int nterms,
bool multi_col,
KEY_INFO * key_infop
)
function pt_to_merge_insert_xasl
static XASL_NODE * pt_to_merge_insert_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE * non_null_attrs,
PT_NODE * default_expr_attrs
)
function pt_to_merge_update_xasl
static XASL_NODE * pt_to_merge_update_xasl (
PARSER_CONTEXT * parser,
PT_NODE * statement,
PT_NODE ** non_null_attrs
)
function pt_to_misc_operand
static void pt_to_misc_operand (
REGU_VARIABLE * regu,
PT_MISC_TYPE misc_specifier
)
function pt_to_odku_info
static ODKU_INFO * pt_to_odku_info (
PARSER_CONTEXT * parser,
PT_NODE * insert,
XASL_NODE * xasl
)
function pt_to_order_siblings_by
static SORT_LIST * pt_to_order_siblings_by (
PARSER_CONTEXT * parser,
XASL_NODE * xasl,
XASL_NODE * connect_by_xasl
)
function pt_to_outlist
static OUTPTR_LIST * pt_to_outlist (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
SELUPD_LIST ** selupd_list_ptr,
UNBOX unbox
)
function pt_to_pred_expr_local_with_arg
static PRED_EXPR * pt_to_pred_expr_local_with_arg (
PARSER_CONTEXT * parser,
PT_NODE * node,
int * argp
)
function pt_to_pred_terms
static void pt_to_pred_terms (
PARSER_CONTEXT * parser,
PT_NODE * terms,
UINTPTR id,
PRED_EXPR ** pred
)
function pt_to_range_key
static int pt_to_range_key (
PARSER_CONTEXT * parser,
PT_NODE ** term_exprs,
int nterms,
bool multi_col,
KEY_INFO * key_infop
)
function pt_to_rangelist_key
static int pt_to_rangelist_key (
PARSER_CONTEXT * parser,
PT_NODE ** term_exprs,
int nterms,
bool multi_col,
KEY_INFO * key_infop,
int rangelist_idx,
int * multi_col_pos
)
function pt_to_regu_attr_descr
static REGU_VARIABLE * pt_to_regu_attr_descr (
PARSER_CONTEXT * parser,
DB_OBJECT * class_object,
HEAP_CACHE_ATTRINFO * cache_attrinfo,
PT_NODE * attr
)
function pt_to_regu_reserved_name
static REGU_VARIABLE * pt_to_regu_reserved_name (
PARSER_CONTEXT * parser,
PT_NODE * attr
)
function pt_to_regu_variable_list
static REGU_VARIABLE_LIST pt_to_regu_variable_list (
PARSER_CONTEXT * p,
PT_NODE * node,
UNBOX unbox,
VAL_LIST * value_list,
int * attr_offsets
)
function pt_to_scan_proc_list
static XASL_NODE * pt_to_scan_proc_list (
PARSER_CONTEXT * parser,
PT_NODE * node,
XASL_NODE * root
)
function pt_to_set_expr_table_spec_list
static ACCESS_SPEC_TYPE * pt_to_set_expr_table_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * set_expr,
PT_NODE * where_part
)
function pt_to_showstmt_spec_list
static ACCESS_SPEC_TYPE * pt_to_showstmt_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * where_part
)
function pt_to_single_key
static int pt_to_single_key (
PARSER_CONTEXT * parser,
PT_NODE ** term_exprs,
int nterms,
bool multi_col,
KEY_INFO * key_infop,
int * multi_col_pos
)
function pt_to_sort_list
static SORT_LIST * pt_to_sort_list (
PARSER_CONTEXT * parser,
PT_NODE * node_list,
PT_NODE * col_list,
SORT_LIST_MODE sort_mode
)
function pt_to_subquery_table_spec_list
static ACCESS_SPEC_TYPE * pt_to_subquery_table_spec_list (
PARSER_CONTEXT * parser,
PT_NODE * spec,
PT_NODE * subquery,
PT_NODE * where_part,
PT_NODE * where_hash_part
)
function pt_to_uncorr_subquery_list
static XASL_NODE * pt_to_uncorr_subquery_list (
PARSER_CONTEXT * parser,
PT_NODE * node
)
function pt_to_union_proc
static XASL_NODE * pt_to_union_proc (
PARSER_CONTEXT * parser,
PT_NODE * node,
PROC_TYPE type
)
function pt_uncorr_post
static PT_NODE * pt_uncorr_post (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_uncorr_pre
static PT_NODE * pt_uncorr_pre (
PARSER_CONTEXT * parser,
PT_NODE * node,
void * arg,
int * continue_walk
)
function pt_xasl_data_type_to_domain
static TP_DOMAIN * pt_xasl_data_type_to_domain (
PARSER_CONTEXT * parser,
const PT_NODE * node
)
function pt_xasl_spec_has_dblink
static bool pt_xasl_spec_has_dblink (
XASL_NODE * xasl
)
function regu_make_constant_vid
static int regu_make_constant_vid (
DB_VALUE * val,
DB_VALUE ** dbvalptr
)
function set_has_objs
static int set_has_objs (
DB_SET * seq
)
function setof_mop_to_setof_vobj
static int setof_mop_to_setof_vobj (
PARSER_CONTEXT * parser,
DB_SET * seq,
DB_VALUE * new_val
)
function validate_regu_key_function_index
static bool validate_regu_key_function_index (
REGU_VARIABLE * regu_var
)
Macro Definition Documentation
define ANALYTIC_OPT_MAX_FUNCTIONS
#define ANALYTIC_OPT_MAX_FUNCTIONS `32`
define ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS
#define ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS `32`
define APPEND_TO_XASL
#define APPEND_TO_XASL (
xasl_head,
list,
xasl_tail
) `/* multi line expression */`
define CHECK_HASH_ATTR
#define CHECK_HASH_ATTR (
hashable_arg,
hash_attr
) `/* multi line expression */`
define SORT_SPEC_EQ
#define SORT_SPEC_EQ (
a,
b
) `/* multi line expression */`
define VALIDATE_REGU_KEY
#define VALIDATE_REGU_KEY (
r
) `/* multi line expression */`
define VALIDATE_REGU_KEY_HELPER
#define VALIDATE_REGU_KEY_HELPER (
r
) `((r)->type == TYPE_CONSTANT || (r)->type == TYPE_DBVAL || (r)->type == TYPE_POS_VALUE || (r)->type == TYPE_INARITH )`
The documentation for this class was generated from the following file cubrid/src/parser/xasl_generation.c