CUBRID Engine
latest
|
#include "dbtype_def.h"
#include "object_domain.h"
#include "optimizer.h"
#include "parser.h"
#include "regu_var.hpp"
#include "xasl.h"
Go to the source code of this file.
Classes | |
struct | table_info |
struct | symbol_info |
struct | aggregate_info |
struct | analytic_info |
struct | COMPATIBLE_INFO |
Namespaces | |
cubxasl | |
Macros | |
#define | MATCH_ALL 1 |
#define | PT_PRED_ARG_INSTNUM_CONTINUE 0x01 |
#define | PT_PRED_ARG_GRBYNUM_CONTINUE 0x02 |
#define | PT_PRED_ARG_ORDBYNUM_CONTINUE 0x04 |
Typedefs | |
using | PRED_EXPR = cubxasl::pred_expr |
typedef struct table_info | TABLE_INFO |
typedef struct symbol_info | SYMBOL_INFO |
typedef struct aggregate_info | AGGREGATE_INFO |
typedef struct analytic_info | ANALYTIC_INFO |
Enumerations | |
enum | UNBOX { UNBOX_AS_VALUE, UNBOX_AS_TABLE } |
enum | COMPATIBLE_LEVEL { NOT_COMPATIBLE = 0, ENTITY_COMPATIBLE, NOT_COMPATIBLE_NO_RESET } |
Variables | |
char * | query_Plan_dump_filename |
FILE * | query_Plan_dump_fp |
#define MATCH_ALL 1 |
Definition at line 51 of file xasl_generation.h.
Referenced by pt_corr_pre(), pt_gen_simple_merge_plan(), pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_to_scan_proc_list(), and qo_to_xasl().
#define PT_PRED_ARG_GRBYNUM_CONTINUE 0x02 |
Definition at line 54 of file xasl_generation.h.
Referenced by pt_numbering_set_continue_post(), pt_to_buildlist_proc(), pt_to_pred_expr_local_with_arg(), and pt_to_pred_expr_with_arg().
#define PT_PRED_ARG_INSTNUM_CONTINUE 0x01 |
Definition at line 53 of file xasl_generation.h.
Referenced by pt_numbering_set_continue_post(), pt_to_instnum_pred(), pt_to_pred_expr_local_with_arg(), and pt_to_pred_expr_with_arg().
#define PT_PRED_ARG_ORDBYNUM_CONTINUE 0x04 |
Definition at line 55 of file xasl_generation.h.
Referenced by add_sort_spec(), pt_numbering_set_continue_post(), pt_to_buildlist_proc(), pt_to_pred_expr_local_with_arg(), pt_to_pred_expr_with_arg(), and pt_to_union_proc().
typedef struct aggregate_info AGGREGATE_INFO |
Definition at line 98 of file xasl_generation.h.
typedef struct analytic_info ANALYTIC_INFO |
Definition at line 112 of file xasl_generation.h.
using PRED_EXPR = cubxasl::pred_expr |
Definition at line 48 of file xasl_generation.h.
typedef struct symbol_info SYMBOL_INFO |
Definition at line 81 of file xasl_generation.h.
typedef struct table_info TABLE_INFO |
Definition at line 57 of file xasl_generation.h.
enum COMPATIBLE_LEVEL |
Enumerator | |
---|---|
NOT_COMPATIBLE | |
ENTITY_COMPATIBLE | |
NOT_COMPATIBLE_NO_RESET |
Definition at line 124 of file xasl_generation.h.
enum UNBOX |
Enumerator | |
---|---|
UNBOX_AS_VALUE | |
UNBOX_AS_TABLE |
Definition at line 79 of file xasl_generation.h.
XASL_NODE* parser_generate_do_stmt_xasl | ( | PARSER_CONTEXT * | p, |
PT_NODE * | node | ||
) |
Definition at line 22773 of file xasl_generation.c.
References parser_node::alias_print, xasl_node::aptr_list, assert, xasl_node::class_locks, xasl_node::class_oid_list, COPY_OID, xasl_node::creator_oid, db_get_user(), xasl_node::dbval_cnt, parser_context::dbval_cnt, pt_statement_info::do_, DO_PROC, er_errid(), pt_do_info::expr, xasl_node::flag, parser_node::info, xasl_node::n_oid_list, NO_ERROR, parser_node::node_type, NULL, OID_SET_NULL, xasl_node::outptr_list, parser_print_tree(), prm_get_bool_value(), PRM_ID_XASL_DEBUG_DUMP, pt_build_do_stmt_aptr_list(), PT_DO, pt_to_outlist(), qdump_print_xasl(), xasl_node::query_alias, regu_xasl_node_alloc(), xasl_node::tcard_list, UNBOX_AS_VALUE, ws_identifier(), XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_TOP_MOST_XASL.
Referenced by do_execute_do().
XASL_NODE* parser_generate_xasl | ( | PARSER_CONTEXT * | p, |
PT_NODE * | node | ||
) |
Definition at line 21563 of file xasl_generation.c.
References parser_context::abort, parser_node::alias_print, assert, xasl_supp_info::class_locks, xasl_node::class_locks, xasl_supp_info::class_oid_list, xasl_node::class_oid_list, COPY_OID, xasl_node::creator_oid, db_get_user(), xasl_node::dbval_cnt, parser_context::dbval_cnt, parser_node::flag, parser_context::flag, xasl_supp_info::includes_tde_class, parser_node::info, pt_query_info::is_subquery, parser_node::is_system_generated_stmt, meth_translate(), xasl_supp_info::n_oid_list, xasl_node::n_oid_list, parser_node::next, parser_node::node_type, NULL, OID_SET_NULL, parser_free_tree(), parser_generate_xasl_post(), parser_generate_xasl_pre(), parser_new_node(), parser_print_tree(), parser_walk_tree(), prm_get_bool_value(), PRM_ID_XASL_DEBUG_DUMP, PT_DIFFERENCE, pt_flush_class_and_null_xasl(), pt_has_error, pt_init_xasl_supp_info(), PT_INTERSECTION, PT_SELECT, pt_set_is_system_generated_stmt(), PT_UNION, qdump_print_xasl(), pt_statement_info::query, xasl_node::query_alias, xasl_supp_info::query_list, regu_int_array_alloc(), regu_oid_array_alloc(), xasl_supp_info::tcard_list, xasl_node::tcard_list, ws_identifier(), pt_query_info::xasl, XASL_CLEAR_FLAG, XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_TOP_MOST_XASL.
Referenced by do_prepare_select(), do_select_internal(), pt_build_do_stmt_aptr_list_pre(), pt_make_aptr_parent_node(), pt_to_odku_info(), and pt_to_regu_variable().
int pt_append_omitted_on_update_expr_assignments | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | assigns, | ||
PT_NODE * | from | ||
) |
Definition at line 21293 of file xasl_generation.c.
References sm_class::attributes, au_fetch_class_force(), AU_FETCH_READ, CASE_INSENSITIVE, sm_class_header::ch_name, DB_DEFAULT_NONE, pt_name_info::db_object, ER_FAILED, error(), sm_attribute::header, sm_class::header, parser_node::info, sm_component::name, pt_statement_info::name, sm_component::next, parser_node::next, NO_ERROR, NULL, sm_attribute::on_update_default_expr, pt_name_info::original, p, parser_append_node(), parser_free_node(), parser_free_tree(), parser_make_expression(), parser_new_node(), PT_ASSIGN, pt_get_next_assignment(), pt_init_assignments_helper(), PT_INTERNAL_ERROR, PT_NAME, pt_op_type_from_default_expr_type(), PT_SPEC_FLAG_UPDATE, pt_str_compare(), pt_name_info::resolved, and pt_name_info::spec_id.
Referenced by do_prepare_update(), pt_to_merge_update_xasl(), pt_to_odku_info(), and pt_to_update_xasl().
Definition at line 12921 of file xasl_generation.c.
References xasl_node::next, NULL, and pt_find_xasl().
Referenced by add_subqueries(), add_uncorrelated(), pt_corr_pre(), pt_set_aptr(), pt_set_dptr(), and pt_uncorr_post().
int pt_copy_upddel_hints_to_select | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
PT_NODE * | select_stmt | ||
) |
Definition at line 19092 of file xasl_generation.c.
References ARG_FILE_LINE, assert, pt_statement_info::delete_, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), err, parser_node::flag, pt_delete_info::hint, pt_select_info::hint, pt_update_info::hint, parser_node::info, parser_node::is_system_generated_stmt, NO_ERROR, parser_node::node_type, NULL, pt_select_info::ordered, pt_delete_info::ordered_hint, pt_update_info::ordered_hint, parser_copy_tree_list(), PT_DELETE, pt_has_error, PT_HINT_NO_COVERING_IDX, PT_HINT_NO_IDX_DESC, PT_HINT_NO_MULTI_RANGE_OPT, PT_HINT_NO_SORT_LIMIT, PT_HINT_ORDERED, PT_HINT_RECOMPILE, PT_HINT_USE_IDX, PT_HINT_USE_IDX_DESC, PT_HINT_USE_MERGE, PT_HINT_USE_NL, PT_UPDATE, pt_query_info::q, pt_statement_info::query, parser_node::recompile, pt_query_info::select, pt_statement_info::update, pt_select_info::use_idx, pt_delete_info::use_idx_hint, pt_update_info::use_idx_hint, pt_select_info::use_merge, pt_delete_info::use_merge_hint, pt_update_info::use_merge_hint, pt_select_info::use_nl, pt_delete_info::use_nl_hint, and pt_update_info::use_nl_hint.
Referenced by do_prepare_delete(), do_prepare_update(), get_select_list_to_update(), pt_to_delete_xasl(), pt_to_update_xasl(), and select_delete_list().
int pt_find_omitted_default_expr | ( | PARSER_CONTEXT * | parser, |
DB_OBJECT * | class_obj, | ||
PT_NODE * | specified_attrs, | ||
PT_NODE ** | default_expr_attrs | ||
) |
Definition at line 21219 of file xasl_generation.c.
References assert, sm_class::attributes, au_fetch_class_force(), AU_FETCH_READ, sm_attribute::auto_increment, CASE_INSENSITIVE, ER_FAILED, error(), sm_attribute::header, parser_node::info, sm_component::name, pt_statement_info::name, sm_component::next, parser_node::next, NO_ERROR, NULL, pt_name_info::original, parser_new_node(), pt_get_name(), PT_INTERNAL_ERROR, PT_NAME, and pt_str_compare().
Referenced by do_prepare_merge(), and pt_to_insert_xasl().
PT_NODE* pt_flush_classes | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 3300 of file xasl_generation.c.
References assert, au_fetch_class_force(), AU_FETCH_READ, DB_FETCH_READ, pt_name_info::db_object, er_msg(), pt_spec_info::flat_entity_list, parser_node::info, locator_is_class(), pt_statement_info::name, db_objlist::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, db_objlist::op, sm_class::partition, PT_ERROR, PT_ERRORc, PT_SPEC, sm_flush_objects(), pt_statement_info::spec, sm_class::users, ws_has_dirty_objects(), and WS_ISDIRTY.
Referenced by do_execute_select(), do_execute_session_statement(), and pt_flush_class_and_null_xasl().
XASL_NODE* pt_gen_simple_merge_plan | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | select_node, | ||
QO_PLAN * | plan, | ||
XASL_NODE * | xasl | ||
) |
Definition at line 14479 of file xasl_generation.c.
References assert, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_select_info::from, pt_spec_info::id, xasl_node::if_pred, parser_node::info, xasl_node::iscycle_val, xasl_node::isleaf_val, xasl_node::level_val, pt_select_info::list, MATCH_ALL, xasl_node::merge_spec, xasl_node::merge_val_list, parser_node::next, NULL, parser_copy_tree_list(), parser_free_tree(), pt_spec_info::path_entities, pt_has_error, PT_INTERNAL_ERROR, PT_IS_SUBQUERY, pt_set_connect_by_operator_node_etc(), pt_set_dptr(), pt_set_iscycle_node_etc(), pt_set_isleaf_node_etc(), pt_set_level_node_etc(), pt_set_qprior_node_etc(), pt_split_if_instnum(), pt_to_fetch_proc_list(), pt_to_instnum_pred(), pt_to_pred_terms(), pt_to_spec_list(), pt_to_val_list(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::spec, xasl_node::spec_list, xasl_node::val_list, pt_select_info::where, and pt_query_info::xasl.
Referenced by gen_outer(), pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
PT_NODE* pt_get_numbering_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 6955 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, NULL, pt_expr_info::op, PT_IS_EXPR_NODE, PT_ORDERBY_NUM, and PT_STOP_WALK.
Referenced by make_sort_limit_proc().
int pt_is_single_tuple | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | select_node | ||
) |
Definition at line 3599 of file xasl_generation.c.
References pt_select_info::group_by, parser_node::info, NULL, pt_has_aggregate(), pt_query_info::q, pt_statement_info::query, and pt_query_info::select.
Referenced by pt_check_order_by(), pt_false_where(), pt_plan_query(), pt_to_aggregate(), qo_get_ils_prefix_length(), and qo_top_plan_new().
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 | ||
) |
Definition at line 6390 of file xasl_generation.c.
References arith_list_node::domain, arith_list_node::leftptr, NULL, arith_list_node::opcode, arith_list_node::pred, arith_list_node::rand_seed, regu_alloc(), regu_dbval_type_init(), arith_list_node::rightptr, arith_list_node::thirdptr, TP_DOMAIN_TYPE, TYPE_INARITH, and arith_list_node::value.
Referenced by pt_instnum_to_key_limit(), pt_to_key_limit(), pt_to_regu_variable(), qo_get_key_limit_from_instnum(), qo_get_key_limit_from_ordbynum(), and qo_get_limit_from_eval_term().
Definition at line 12967 of file xasl_generation.c.
References xasl_node::next, and NULL.
Referenced by add_subqueries(), add_uncorrelated(), pt_set_aptr(), and pt_set_dptr().
void pt_set_connect_by_operator_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
XASL_NODE * | xasl | ||
) |
Definition at line 22045 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_walk_tree(), and pt_set_connect_by_operator_node_etc_pre().
Referenced by add_access_spec(), init_list_scan_proc(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_make_connect_by_proc(), pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
void pt_set_dptr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
XASL_NODE * | xasl, | ||
UINTPTR | id | ||
) |
Definition at line 13008 of file xasl_generation.c.
References xasl_node::dptr_list, pt_append_xasl(), pt_remove_xasl(), and pt_to_corr_subquery_list().
Referenced by pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_to_scan_proc_list(), and qo_to_xasl().
void pt_set_iscycle_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
DB_VALUE ** | iscycle_valp | ||
) |
Definition at line 21952 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_walk_tree(), and pt_set_iscycle_node_etc_pre().
Referenced by add_access_spec(), init_list_scan_proc(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_make_connect_by_proc(), pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
void pt_set_isleaf_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
DB_VALUE ** | isleaf_valp | ||
) |
Definition at line 21854 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_walk_tree(), and pt_set_isleaf_node_etc_pre().
Referenced by add_access_spec(), init_list_scan_proc(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_make_connect_by_proc(), pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
void pt_set_level_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
DB_VALUE ** | level_valp | ||
) |
Definition at line 21757 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_walk_tree(), and pt_set_level_node_etc_pre().
Referenced by add_access_spec(), init_list_scan_proc(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_make_connect_by_proc(), pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
void pt_set_numbering_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
DB_VALUE ** | instnum_valp, | ||
DB_VALUE ** | ordbynum_valp | ||
) |
Definition at line 6983 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, set_numbering_node_etc_info::instnum_valp, parser_node::next, NULL, set_numbering_node_etc_info::ordbynum_valp, parser_walk_tree(), pt_continue_walk(), and pt_set_numbering_node_etc_pre().
Referenced by pt_make_connect_by_proc(), pt_to_buildlist_proc(), pt_to_buildvalue_proc(), and pt_to_union_proc().
PT_NODE* pt_set_orderby_for_sort_limit_plan | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_NODE * | name_list | ||
) |
Definition at line 25834 of file xasl_generation.c.
References pt_sort_spec_info::asc_or_desc, assert_release, CAST_POINTER_TO_NODE, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_query_info::order_by, parser_append_node(), parser_free_tree(), parser_new_node(), pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, pt_get_select_list(), PT_INTERNAL_ERROR, PT_NAME, pt_name_equal(), pt_point(), PT_SORT_SPEC, pt_xasl_node_to_domain(), pt_statement_info::query, and pt_statement_info::sort_spec.
Referenced by make_sort_limit_proc().
void pt_set_qprior_node_etc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
XASL_NODE * | xasl | ||
) |
Definition at line 22113 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_walk_tree(), and pt_set_qprior_node_etc_pre().
Referenced by add_access_spec(), init_list_scan_proc(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_make_connect_by_proc(), pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
XASL_NODE* pt_skeleton_buildlist_proc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | namelist | ||
) |
Definition at line 14056 of file xasl_generation.c.
References assert, BUILDLIST_PROC, NULL, xasl_node::outptr_list, pt_to_outlist(), regu_xasl_node_alloc(), and UNBOX_AS_VALUE.
Referenced by make_buildlist_proc().
XASL_NODE* pt_to_delete_xasl | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 19891 of file xasl_generation.c.
References parser_node::alias_print, xasl_node::aptr_list, ARG_FILE_LINE, assert, upddel_class_info::att_id, upddel_class_info::class_hfid, xasl_node::class_locks, sm_attribute::class_mop, upddel_class_info::class_oid, xasl_node::class_oid_list, pt_delete_info::class_specs, delete_proc_node::classes, COPY_OID, cubregex::count(), xasl_node::creator_oid, db_attribute_next(), db_get_attributes(), db_get_user(), pt_name_info::db_object, DB_TYPE_BLOB, DB_TYPE_CLOB, xasl_node::dbval_cnt, xasl_node::delete_, pt_statement_info::delete_, DELETE_PROC, pt_spec_info::derived_table, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, er_msg(), er_set(), error(), xasl_node::flag, pt_spec_info::flag, pt_spec_info::flat_entity_list, pt_select_info::from, pt_select_info::group_by, upddel_class_info::has_uniques, sm_attribute::header, HFID_COPY, pt_delete_info::hint, i, pr_type::id, sm_attribute::id, pt_spec_info::id, ID_ATTRIBUTE, ID_SHARED_ATTRIBUTE, parser_node::info, pt_delete_info::limit, xasl_node::limit_offset, xasl_node::limit_row_count, pt_select_info::list, upddel_class_info::lob_attr_ids, pt_name_info::meta_class, mq_translate(), delete_proc_node::mvcc_reev_classes, pt_query_info::mvcc_reev_extra_cls_cnt, xasl_node::n_oid_list, sm_component::name, pt_statement_info::name, sm_component::name_space, upddel_class_info::needs_pruning, sm_component::next, parser_node::next, NO_ERROR, delete_proc_node::no_logging, parser_node::node_type, NULL, upddel_class_info::num_attrs, delete_proc_node::num_classes, upddel_class_info::num_lob_attrs, delete_proc_node::num_reev_classes, upddel_class_info::num_subclasses, OID_SET_NULL, pt_name_info::original, parser_append_node(), parser_free_node(), parser_free_tree(), xasl_node::proc, pt_copy_upddel_hints_to_select(), pt_db_to_type_enum(), PT_ERRORc, pt_find_spec(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, PT_IS_HINT_NODE, PT_IS_SPEC_FLAG_SET, pt_make_aptr_parent_node(), pt_mark_spec_list_for_update_clause(), pt_mvcc_flag_specs_cond_reev(), pt_mvcc_prepare_upd_del_select(), pt_name(), PT_NORMAL, pt_report_to_ersys(), PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_MVCC_LOCK_NEEDED, PT_SELECT_INFO_SET_FLAG, PT_SEMANTIC, PT_SHARED, PT_SPEC, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_MVCC_COND_REEV, pt_to_regu_variable(), pt_to_upd_del_query(), pt_query_info::q, pt_statement_info::query, xasl_node::query_alias, pt_spec_info::range_var, regu_array_alloc(), regu_int_array_alloc(), regu_oid_array_alloc(), S_DELETE, pt_delete_info::search_cond, pt_query_info::select, sm_get_ch_heap(), sm_is_partitioned_class(), sm_partitioned_class_type(), pt_delete_info::spec, pt_statement_info::spec, pt_name_info::spec_id, xasl_node::tcard_list, sm_attribute::type, parser_node::type_enum, UNBOX_AS_VALUE, pt_query_info::upd_del_class_cnt, pt_delete_info::using_index, delete_proc_node::wait_msecs, pt_delete_info::waitsecs_hint, pt_delete_info::with, ws_identifier(), XASL_CLEAR_FLAG, XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by build_xasl_for_server_delete(), and do_prepare_delete().
XASL_NODE* pt_to_fetch_proc | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | spec, | ||
PT_NODE * | pred | ||
) |
Definition at line 13844 of file xasl_generation.c.
References fetch_proc_node::arg, pt_expr_info::arg1, pt_spec_info::derived_table, pt_statement_info::expr, xasl_node::fetch, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, pt_spec_info::meta_class, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, xasl_node::next, parser_node::node_type, NULL, OBJFETCH_PROC, xasl_node::outptr_list, pt_spec_info::path_conjuncts, xasl_node::proc, pt_attribute_to_regu(), PT_ERROR, PT_EXPR, PT_PATH_INNER, pt_regu_to_dbvalue(), PT_SPEC, pt_to_class_spec_list(), pt_to_fetch_as_scan_proc(), pt_to_outlist(), pt_to_val_list(), fetch_proc_node::ql_flag, pt_statement_info::query, pt_spec_info::referenced_attrs, regu_xasl_node_alloc(), fetch_proc_node::set_pred, pt_statement_info::spec, xasl_node::spec_list, UNBOX_AS_VALUE, xasl_node::val_list, and pt_query_info::xasl.
Referenced by make_fetch_proc(), and pt_to_fetch_proc_list_recurse().
FUNC_PRED* pt_to_func_pred | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | spec, | ||
PT_NODE * | expr | ||
) |
Definition at line 24416 of file xasl_generation.c.
References table_info::attribute_list, symbol_info::cache_attrinfo, func_pred::cache_attrinfo, table_info::class_spec, symbol_info::current_class, pt_name_info::db_object, table_info::exposed, pt_spec_info::flat_entity_list, func_pred::func_regu, pt_spec_info::id, parser_node::info, locator_create_heap_if_needed(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, NULL, pt_name_info::original, PT_ERRORm, pt_has_error, pt_make_table_info(), pt_report_to_ersys(), PT_SEMANTIC, pt_symbol_info_alloc(), pt_to_regu_variable(), pt_spec_info::range_var, regu_alloc(), sm_ch_heap(), sm_is_reuse_oid_class(), pt_statement_info::spec, table_info::spec_id, parser_context::symbols, symbol_info::table_info, UNBOX_AS_VALUE, and table_info::value_list.
Referenced by pt_node_to_function_index().
XASL_NODE* pt_to_insert_xasl | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 18179 of file xasl_generation.c.
References parser_node::alias_print, xasl_node::aptr_list, assert, ASSERT_ERROR_AND_SET, insert_proc_node::att_id, pt_insert_info::attr_list, AU_DISABLE, AU_ENABLE, au_fetch_class(), AU_FETCH_READ, AU_SELECT, insert_proc_node::class_hfid, xasl_supp_info::class_locks, xasl_node::class_locks, insert_proc_node::class_oid, xasl_supp_info::class_oid_list, xasl_node::class_oid_list, COPY_OID, xasl_node::creator_oid, symbol_info::current_class, symbol_info::current_listfile, DB_FETCH_QUERY_READ, db_get_user(), pt_name_info::db_object, xasl_node::dbval_cnt, insert_proc_node::do_replace, pt_insert_info::do_replace, ER_HEAP_UNKNOWN_OBJECT, er_msg(), error(), EXCLUDE_HIDDEN_COLUMNS, xasl_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, pt_select_info::from, insert_proc_node::has_uniques, pt_insert_info::has_uniques, pt_insert_info::hint, i, xasl_supp_info::includes_tde_class, parser_node::info, xasl_node::insert, pt_statement_info::insert, INSERT_PROC, IX_LOCK, pt_node_list_info::list, pt_select_info::list, pt_node_list_info::list_type, symbol_info::listfile_attr_offset, symbol_info::listfile_unbox, symbol_info::listfile_value_list, locator_create_heap_if_needed(), locator_flush_class(), locator_is_class(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, xasl_supp_info::n_oid_list, xasl_node::n_oid_list, pt_statement_info::name, table_info::next, parser_node::next, NO_ERROR, insert_proc_node::no_logging, pt_statement_info::node_list, pt_insert_info::non_null_attrs, NULL, insert_proc_node::num_default_expr, insert_proc_node::num_val_lists, insert_proc_node::num_vals, insert_proc_node::odku, pt_insert_info::odku_assignments, OID_SET_NULL, pt_name_info::original, parser_generate_xasl_post(), parser_generate_xasl_pre(), parser_walk_tree(), xasl_node::proc, insert_proc_node::pruning_type, pt_append_assignment_references(), PT_ERRORc, PT_ERRORm, pt_find_omitted_default_expr(), pt_get_select_list(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, pt_init_xasl_supp_info(), PT_INTERNAL_ERROR, PT_IS_HINT_NODE, PT_IS_QUERY, PT_IS_SELECT, PT_IS_SUBQUERY, pt_length_of_list(), pt_length_of_select_list(), pt_make_aptr_parent_node(), pt_make_table_info(), pt_make_val_list(), pt_null_xasl(), pt_report_to_ersys(), PT_SEMANTIC, pt_symbol_info_alloc(), pt_to_constraint_pred(), pt_to_odku_info(), pt_to_outlist(), pt_query_info::q, pt_statement_info::query, xasl_node::query_alias, regu_array_alloc(), regu_int_array_alloc(), regu_oid_array_alloc(), regu_xasl_node_alloc(), parser_context::return_generated_keys, pt_query_info::select, xasl_node::selected_upd_list, sm_att_id(), sm_ch_heap(), sm_is_reuse_oid_class(), sm_partitioned_class_type(), pt_insert_info::spec, pt_statement_info::spec, parser_context::symbols, symbol_info::table_info, xasl_supp_info::tcard_list, xasl_node::tcard_list, sm_class::tde_algorithm, TDE_ALGORITHM_NONE, UNBOX_AS_VALUE, xasl_node::val_list, insert_proc_node::valptr_lists, insert_proc_node::vals, pt_insert_info::value_clauses, insert_proc_node::wait_msecs, pt_insert_info::waitsecs_hint, ws_identifier(), XASL_CLASS_NO_TCARD, XASL_INCLUDES_TDE_CLASS, XASL_RETURN_GENERATED_KEYS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by do_insert_at_server(), do_prepare_insert_internal(), and pt_make_regu_insert().
XASL_NODE* pt_to_instnum_pred | ( | PARSER_CONTEXT * | parser, |
XASL_NODE * | xasl, | ||
PT_NODE * | pred | ||
) |
Definition at line 26733 of file xasl_generation.c.
References xasl_node::instnum_flag, xasl_node::instnum_pred, PT_PRED_ARG_INSTNUM_CONTINUE, pt_to_pred_expr_with_arg(), and XASL_INSTNUM_FLAG_SCAN_CONTINUE.
Referenced by add_access_spec(), add_sort_spec(), init_list_scan_proc(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), and pt_make_connect_by_proc().
PT_NODE* pt_to_merge_insert_query | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | select_list, | ||
PT_MERGE_INFO * | info | ||
) |
Definition at line 24804 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_function_info::arg_list, parser_node::cannot_prepare, pt_merge_info::class_where, pt_query_info::correlation_level, pt_value_info::data_value, pt_statement_info::expr, pt_query_info::flag, parser_node::flag, pt_select_info::flavor, pt_select_info::from, pt_statement_info::function, pt_function_info::function_type, pt_merge_info::hint, pt_data_value::i, pt_merge_info::index_hint, parser_node::info, pt_merge_info::insert, pt_merge_info::into, pt_query_info::is_subquery, pt_select_info::list, NULL, pt_expr_info::op, parser_append_node(), parser_copy_tree(), parser_copy_tree_list(), parser_free_tree(), parser_new_node(), PT_AND, PT_COUNT_STAR, PT_EQ, PT_EXPR, PT_FUNCTION, PT_HINT_USE_INSERT_IDX, PT_INTERNAL_ERROR, PT_IS_SUBQUERY, PT_SELECT, PT_SELECT_INFO_IS_MERGE_QUERY, PT_SELECT_INFO_SET_FLAG, PT_TYPE_INTEGER, PT_TYPE_LOGICAL, PT_USER_SELECT, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_merge_info::search_cond, pt_query_info::select, pt_query_info::single_tuple, parser_node::type_enum, pt_merge_info::using_clause, pt_select_info::using_index, pt_statement_info::value, and pt_select_info::where.
Referenced by do_execute_merge(), do_merge(), and pt_to_merge_insert_xasl().
PT_NODE* pt_to_merge_update_query | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | select_list, | ||
PT_MERGE_INFO * | info | ||
) |
Definition at line 24651 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_sort_spec_info::asc_or_desc, pt_merge_info::assignment, parser_node::cannot_prepare, pt_merge_info::del_search_cond, qfile_tuple_value_position::dom, pt_sort_spec_info::expr, pt_statement_info::expr, parser_node::flag, pt_merge_info::flags, pt_select_info::from, pt_select_info::group_by, pt_merge_info::has_delete, pt_merge_info::hint, pt_merge_info::index_hint, parser_node::info, pt_merge_info::into, pt_select_info::list, parser_node::next, NULL, pt_expr_info::op, parser_append_node(), parser_copy_tree_list(), parser_free_tree(), parser_new_node(), parser_walk_tree(), pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, pt_add_row_classoid_name(), pt_add_row_oid_name(), PT_AND, PT_ASC, PT_EXPR, PT_HINT_USE_UPDATE_IDX, PT_INTERNAL_ERROR, pt_make_integer_value(), pt_mark_spec_list_for_update_clause(), PT_MERGE_INFO_SERVER_OP, PT_NE, PT_SELECT, PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_IS_MERGE_QUERY, PT_SELECT_INFO_MULTI_UPDATE_AGG, PT_SELECT_INFO_MVCC_LOCK_NEEDED, PT_SELECT_INFO_NO_STRICT_OID_CHECK, PT_SELECT_INFO_SET_FLAG, PT_SORT_SPEC, PT_SPEC_FLAG_UPDATE, pt_substitute_assigned_name_node(), pt_xasl_node_to_domain(), pt_query_info::q, pt_statement_info::query, S_UPDATE, pt_query_info::scan_op_type, pt_merge_info::search_cond, pt_query_info::select, pt_statement_info::sort_spec, pt_query_info::upd_del_class_cnt, pt_merge_info::update, pt_merge_info::using_clause, pt_select_info::using_index, and pt_select_info::where.
Referenced by do_merge(), do_prepare_merge(), and pt_to_merge_update_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 | ||
) |
Definition at line 24926 of file xasl_generation.c.
References parser_node::alias_print, ARG_FILE_LINE, assert, pt_merge_info::assignment, xasl_node::class_locks, xasl_node::class_oid_list, COPY_OID, xasl_node::creator_oid, db_get_user(), xasl_node::dbval_cnt, parser_context::dbval_cnt, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), error(), xasl_node::flag, pt_merge_info::flags, merge_proc_node::has_delete, pt_merge_info::has_delete, parser_node::info, pt_merge_info::insert, merge_proc_node::insert_xasl, xasl_node::merge, pt_statement_info::merge, MERGE_PROC, xasl_node::n_oid_list, NO_ERROR, NULL, OID_SET_NULL, xasl_node::proc, PT_MERGE_INFO_INSERT_ONLY, pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), xasl_node::query_alias, regu_int_array_alloc(), regu_oid_array_alloc(), regu_xasl_node_alloc(), xasl_node::tcard_list, pt_merge_info::update, merge_proc_node::update_xasl, pt_merge_info::value_clauses, ws_identifier(), XASL_INCLUDES_TDE_CLASS, and XASL_SET_FLAG.
Referenced by do_prepare_merge().
SORT_NULLS pt_to_null_ordering | ( | PT_NODE * | sort_spec | ) |
Definition at line 26105 of file xasl_generation.c.
References pt_sort_spec_info::asc_or_desc, assert_release, parser_node::info, parser_node::node_type, NULL, pt_sort_spec_info::nulls_first_or_last, PT_ASC, PT_NULLS_DEFAULT, PT_NULLS_FIRST, PT_NULLS_LAST, PT_SORT_SPEC, S_NULLS_FIRST, S_NULLS_LAST, and pt_statement_info::sort_spec.
Referenced by pt_agg_orderby_to_sort_list(), pt_check_analytic_function(), pt_check_order_by(), pt_to_sort_list(), and qo_reduce_order_by().
SORT_LIST* pt_to_orderby | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | order_list, | ||
PT_NODE * | root | ||
) |
Definition at line 5717 of file xasl_generation.c.
References pt_get_select_list(), pt_to_sort_list(), and SORT_LIST_ORDERBY.
Referenced by add_sort_spec(), pt_to_buildlist_proc(), pt_to_buildschema_proc(), and pt_to_union_proc().
void pt_to_pos_descr | ( | PARSER_CONTEXT * | parser, |
QFILE_TUPLE_VALUE_POSITION * | pos_p, | ||
PT_NODE * | node, | ||
PT_NODE * | root, | ||
PT_NODE ** | referred_node | ||
) |
Definition at line 5286 of file xasl_generation.c.
References parser_node::alias_print, pt_union_info::arg1, assert_release, CASE_INSENSITIVE, parser_context::custom_print, pt_value_info::data_value, qfile_tuple_value_position::dom, i, pt_data_value::i, parser_node::info, pt_select_info::list, parser_node::next, parser_node::node_type, NULL, parser_print_tree(), qfile_tuple_value_position::pos_no, pt_check_compatible_node_for_orderby(), PT_CONVERT_RANGE, PT_DIFFERENCE, PT_DOT_, PT_EXPR, PT_INTERSECTION, PT_NAME, pt_name_equal(), PT_SELECT, pt_str_compare(), pt_to_pos_descr(), PT_TYPE_INTEGER, PT_TYPE_MAYBE, PT_TYPE_NONE, PT_UNION, PT_VALUE, pt_xasl_node_to_domain(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.
Referenced by pt_semantic_check_local(), pt_sort_spec_cover_groupby(), pt_to_pos_descr(), and qo_plan_compute_iscan_sort_list().
void pt_to_pos_descr_groupby | ( | PARSER_CONTEXT * | parser, |
QFILE_TUPLE_VALUE_POSITION * | pos_p, | ||
PT_NODE * | node, | ||
PT_NODE * | root | ||
) |
Definition at line 23138 of file xasl_generation.c.
References pt_union_info::arg1, CASE_INSENSITIVE, parser_context::custom_print, pt_value_info::data_value, qfile_tuple_value_position::dom, pt_sort_spec_info::expr, pt_select_info::group_by, i, pt_data_value::i, parser_node::info, parser_node::next, parser_node::node_type, NULL, parser_print_tree(), qfile_tuple_value_position::pos_no, PT_CONVERT_RANGE, PT_DIFFERENCE, PT_EXPR, PT_INTERSECTION, PT_NAME, pt_name_equal(), PT_SELECT, PT_SORT_SPEC, pt_str_compare(), pt_to_pos_descr_groupby(), PT_TYPE_MAYBE, PT_TYPE_NONE, PT_UNION, pt_xasl_node_to_domain(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::sort_spec, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.
Referenced by pt_to_pos_descr_groupby(), and qo_plan_compute_iscan_sort_list().
PRED_EXPR* pt_to_pred_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 2160 of file xasl_generation.c.
References au_fetch_class(), AU_FETCH_READ, AU_SELECT, classobj_find_attribute(), classobj_get_cached_constraint(), sm_attribute::constraints, error(), NO_ERROR, NULL, pt_to_pred_expr_with_arg(), SM_CONSTRAINT_PRIMARY_KEY, and SM_CONSTRAINT_UNIQUE.
Referenced by add_after_join_predicate(), add_if_predicate(), make_mergelist_proc(), pt_get_mvcc_reev_range_data(), pt_init_pred_expr_context(), pt_make_connect_by_proc(), pt_make_pred_term_is(), pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_to_class_spec_list(), pt_to_constraint_pred(), pt_to_cte_table_spec_list(), pt_to_fetch_as_scan_proc(), pt_to_json_table_spec_list(), pt_to_odku_info(), pt_to_pred_expr_local_with_arg(), pt_to_pred_terms(), pt_to_regu_variable(), pt_to_set_expr_table_spec_list(), pt_to_showstmt_spec_list(), pt_to_subquery_table_spec_list(), ptqo_to_list_scan_proc(), and qo_add_hq_iterations_access_spec().
PRED_EXPR* pt_to_pred_expr_with_arg | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node_list, | ||
int * | argp | ||
) |
Definition at line 2072 of file xasl_generation.c.
References B_AND, B_OR, CAST_POINTER_TO_NODE, error(), i, parser_node::next, NULL, parser_node::or_next, parser_walk_tree(), PT_INTERNAL_ERROR, pt_make_pred_expr_pred(), pt_numbering_set_continue_post(), PT_PRED_ARG_GRBYNUM_CONTINUE, PT_PRED_ARG_INSTNUM_CONTINUE, PT_PRED_ARG_ORDBYNUM_CONTINUE, and pt_to_pred_expr_local_with_arg().
Referenced by add_sort_spec(), pt_to_buildlist_proc(), pt_to_instnum_pred(), pt_to_pred_expr(), and pt_to_union_proc().
PRED_EXPR_WITH_CONTEXT* pt_to_pred_with_context | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | filter_pred, | ||
PT_NODE * | spec | ||
) |
Definition at line 19036 of file xasl_generation.c.
References pt_name_info::db_object, pt_spec_info::flat_entity_list, parser_node::info, locator_create_heap_if_needed(), pt_statement_info::name, NULL, pt_has_error, pt_init_pred_expr_context(), pt_report_to_ersys(), PT_SEMANTIC, regu_alloc(), sm_ch_heap(), sm_is_reuse_oid_class(), and pt_statement_info::spec.
Referenced by create_or_drop_index_helper(), and do_recreate_filter_index_constr().
REGU_VARIABLE* pt_to_regu_variable | ( | PARSER_CONTEXT * | p, |
PT_NODE * | node, | ||
UNBOX | unbox | ||
) |
Definition at line 7417 of file xasl_generation.c.
References pt_expr_info::arg1, pt_dot_info::arg2, pt_expr_info::arg2, pt_expr_info::arg3, ARG_FILE_LINE, assert, au_user_name(), CAST_POINTER_TO_NODE, pt_expr_info::cast_type, pt_select_info::check_cycles, pt_data_type_info::collation_flag, tp_domain::collation_id, pt_select_info::connect_by, CONNECT_BY_CYCLES_NONE, CONNECT_BY_CYCLES_NONE_IGNORE, symbol_info::current_class, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_get_database_name(), db_get_database_version(), db_get_user_and_host_name(), db_make_int(), pt_name_info::db_object, db_private_free, db_private_free_and_init, db_string_free(), DB_TYPE_INTEGER, DB_TYPE_VARCHAR, db_value_domain_init(), dbname, do_get_serial_cached_num(), pt_statement_info::dot, er_errid(), ER_ERROR_SEVERITY, er_msg(), ER_OBJ_INVALID_ARGUMENTS, er_set(), parser_node::etc, parser_context::etc, EXCLUDE_HIDDEN_COLUMNS, parser_node::expected_domain, pt_statement_info::expr, pt_name_info::hidden_column, pt_data_value::i, if(), parser_node::info, pt_statement_info::insert_value, pt_insert_value_info::is_evaluated, pt_name_info::meta_class, MSGCAT_RUNTIME_WANT_ONE_COL, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SEMANTIC_ISCYCLE_REQUIRES_NOCYCLE, MSGCAT_SEMANTIC_NOT_HIERACHICAL_QUERY, MSGCAT_SEMANTIC_SERIAL_NOT_DEFINED, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, NO_ERROR, pt_pointer_info::node, parser_node::node_type, NULL, pt_expr_info::op, pt_data_value::op, pt_name_info::original, pt_insert_value_info::original_node, parser_context::parent_proc_xasl, parser_copy_tree(), parser_free_node(), parser_free_tree(), parser_generate_xasl(), parser_new_node(), parser_print_tree(), pt_statement_info::pointer, pr_clear_value(), tp_domain::precision, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, pt_append_nulstring(), PT_ASCII, PT_ASIN, PT_ATAN, PT_ATAN2, pt_attribute_to_regu(), PT_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_TO_BLOB, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_BLOB_LENGTH, PT_BLOB_TO_BIT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHAR_TO_BLOB, PT_CHAR_TO_CLOB, PT_CHARSET, PT_CHR, PT_CLASSOID_ATTR, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, PT_CONNECT_BY_ISCYCLE, PT_CONNECT_BY_ISLEAF, PT_CONNECT_BY_ROOT, PT_CONV, PT_CONV_TZ, PT_COS, PT_COT, PT_CRC32, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, PT_CURRENT_VALUE, PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DATEDIFF, PT_DATEF, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, PT_DBTIMEZONE, pt_dbval_to_value(), PT_DECODE, PT_DECR, PT_DECRYPT, PT_DEFAULTF, PT_DEFINE_VARIABLE, PT_DEGREES, PT_DIFFERENCE, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DOT_, PT_DRAND, PT_DRANDOM, PT_ENCRYPT, PT_ERRORc, PT_ERRORm, PT_ERRORmf, pt_evaluate_tree(), PT_EVALUATE_VARIABLE, PT_EXEC_STATS, PT_EXP, PT_EXPR, PT_EXPR_INFO_CAST_COLL_MODIFIER, PT_EXPR_INFO_CAST_NOFAIL, PT_EXPR_INFO_CAST_WRAP, PT_EXPR_INFO_IS_FLAGED, PT_EXTRACT, PT_FIELD, pt_find_value_of_label(), PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION, PT_FUNCTION_HOLDER, pt_function_to_regu(), PT_GET_COLLATION_MODIFIER, pt_get_select_list(), PT_GREATEST, pt_has_error, PT_HEX, PT_HOST_VAR, PT_HOURF, PT_IF, PT_IFNULL, PT_INCR, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSERT, PT_INSERT_VALUE, PT_INST_NUM, PT_INSTR, PT_INTERNAL_ERROR, PT_INTERSECTION, pt_is_op_hv_late_bind(), PT_IS_POINTER_REF_NODE, PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LEAST, PT_LEFT, pt_length_of_select_list(), PT_LEVEL, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LN, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LOG, PT_LOG10, PT_LOG2, PT_LOWER, PT_LPAD, PT_LTRIM, pt_make_prim_data_type(), pt_make_prim_data_type_fortonum(), pt_make_regu_arith(), pt_make_regu_constant(), pt_make_regu_hostvar(), pt_make_regu_insert(), pt_make_regu_iscycle(), pt_make_regu_isleaf(), pt_make_regu_level(), pt_make_regu_numbering(), pt_make_regu_pred(), pt_make_regu_reguvalues_list(), pt_make_regu_subquery(), PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_META_ATTR, PT_META_CLASS, PT_METHOD_CALL, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NAME, PT_NEW_TIME, PT_NEXT_VALUE, pt_node_data_type_to_db_domain(), PT_NODE_LIST, PT_NODE_PRINT_VALUE_TO_TEXT, pt_node_to_db_type(), PT_NORMAL, PT_NULLIF, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_ATTR, PT_OID_OF_DUPLICATE_KEY, PT_ORDERBY_NUM, PT_PARAMETER, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_RAND, PT_RANDOM, PT_REPEAT, PT_REPLACE, PT_REQUIRES_HIERARCHICAL_QUERY, pt_resolve_serial(), PT_REVERSE, PT_RIGHT, PT_ROUND, PT_ROW_COUNT, PT_ROWNUM, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SELECT, PT_SESSIONTIMEZONE, PT_SHA_ONE, PT_SHA_TWO, PT_SHARED, pt_show_binopcode(), PT_SIGN, PT_SIN, PT_SLEEP, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_CONNECT_BY_PATH, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_GUID, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_TAN, PT_TIME_FORMAT, PT_TIMEDIFF, PT_TIMEF, PT_TIMES, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_BASE64, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, pt_to_misc_operand(), PT_TO_NUMBER, pt_to_pred_expr(), pt_to_regu_resolve_domain(), pt_to_regu_variable(), PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRACE_STATS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPE_BIGINT, PT_TYPE_BLOB, PT_TYPE_CLOB, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ENUMERATION, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPEOF, PT_TZ_OFFSET, PT_UNARY_MINUS, PT_UNION, PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VALUE, pt_value_to_db(), PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, pt_xasl_data_type_to_domain(), pt_xasl_node_to_domain(), PT_YEARF, pt_query_info::q, pt_expr_info::qualifier, pt_statement_info::query, symbol_info::query_node, regu_alloc(), REGU_VARIABLE_APPLY_COLLATION, REGU_VARIABLE_FIELD_COMPARE, REGU_VARIABLE_FIELD_NESTED, REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_SET_FLAG(), tp_domain::scale, pt_query_info::select, pt_data_value::str, pt_value_info::string_type, strlen, parser_context::symbols, T_ABS, T_ACOS, T_ADD, T_ADD_MONTHS, T_ADDDATE, T_ADDTIME, T_AES_DECRYPT, T_AES_ENCRYPT, T_ASCII, T_ASIN, T_ATAN, T_ATAN2, T_BIN, T_BIT_AND, T_BIT_COUNT, T_BIT_LENGTH, T_BIT_NOT, T_BIT_OR, T_BIT_TO_BLOB, T_BIT_XOR, T_BITSHIFT_LEFT, T_BITSHIFT_RIGHT, T_BLOB_TO_BIT, T_CASE, T_CAST, T_CAST_NOFAIL, T_CAST_WRAP, T_CEIL, T_CHAR_LENGTH, T_CHAR_TO_CLOB, T_CHARSET, T_CHR, T_CLOB_TO_CHAR, T_COALESCE, T_COLLATION, T_CONCAT, T_CONCAT_WS, T_CONNECT_BY_ROOT, T_CONV, T_CONV_TZ, T_COS, T_COT, T_CRC32, T_CURRENT_DATE, T_CURRENT_DATETIME, T_CURRENT_TIME, T_CURRENT_TIMESTAMP, T_CURRENT_VALUE, T_DATE, T_DATE_ADD, T_DATE_FORMAT, T_DATE_SUB, T_DATEDIFF, T_DAY, T_DAYOFWEEK, T_DAYOFYEAR, T_DBTIMEZONE, T_DECODE, T_DECR, T_DEFAULT, T_DEFINE_VARIABLE, T_DEGREES, T_DISK_SIZE, T_DIV, T_DRAND, T_DRANDOM, T_EVALUATE_VARIABLE, T_EXEC_STATS, T_EXP, T_EXTRACT, T_FIELD, T_FINDINSET, T_FLOOR, T_FORMAT, T_FROM_BASE64, T_FROM_TZ, T_FROM_UNIXTIME, T_FROMDAYS, T_GREATEST, T_HEX, T_HOUR, T_IF, T_IFNULL, T_INCR, T_INDEX_CARDINALITY, T_INDEX_PREFIX, T_INET_ATON, T_INET_NTOA, T_INSTR, T_INTDIV, T_INTMOD, T_ISNULL, T_LAST_DAY, T_LAST_INSERT_ID, T_LEAST, T_LEFT, T_LIKE_LOWER_BOUND, T_LIKE_UPPER_BOUND, T_LIST_DBS, T_LN, T_LOB_LENGTH, T_LOCAL_TRANSACTION_ID, T_LOCATE, T_LOG, T_LOG10, T_LOG2, T_LOWER, T_LPAD, T_LTRIM, T_MAKEDATE, T_MAKETIME, T_MD5, T_MID, T_MINUTE, T_MOD, T_MONTH, T_MONTHS_BETWEEN, T_MUL, T_NEW_TIME, T_NEXT_VALUE, T_NULLIF, T_NVL, T_NVL2, T_OCTET_LENGTH, T_PI, T_POSITION, T_POWER, T_PRIOR, T_QPRIOR, T_QUARTER, T_RADIANS, T_RAND, T_RANDOM, T_REPEAT, T_REPLACE, T_REVERSE, T_RIGHT, T_ROUND, T_ROW_COUNT, T_RPAD, T_RTRIM, T_SECOND, T_SECTOTIME, T_SESSIONTIMEZONE, T_SHA_ONE, T_SHA_TWO, T_SIGN, T_SIN, T_SLEEP, T_SPACE, T_SQRT, T_STR_TO_DATE, T_STRCAT, T_STRCMP, T_SUB, T_SUBDATE, T_SUBSTRING, T_SUBSTRING_INDEX, T_SYS_CONNECT_BY_PATH, T_SYS_DATE, T_SYS_DATETIME, T_SYS_GUID, T_SYS_TIME, T_SYS_TIMESTAMP, T_TAN, T_TIME, T_TIME_FORMAT, T_TIMEDIFF, T_TIMESTAMP, T_TIMETOSEC, T_TO_BASE64, T_TO_CHAR, T_TO_DATE, T_TO_DATETIME, T_TO_DATETIME_TZ, T_TO_ENUMERATION_VALUE, T_TO_NUMBER, T_TO_TIME, T_TO_TIMESTAMP, T_TO_TIMESTAMP_TZ, T_TODAYS, T_TRACE_STATS, T_TRANSLATE, T_TRIM, T_TRUNC, T_TYPEOF, T_TZ_OFFSET, T_UNIX_TIMESTAMP, T_UNMINUS, T_UPPER, T_UTC_DATE, T_UTC_TIME, T_UTC_TIMESTAMP, T_WEEK, T_WEEKDAY, T_WIDTH_BUCKET, T_YEAR, tp_domain_cache(), TP_DOMAIN_COLL_LEAVE, tp_domain_resolve_value(), TYPE_CONSTANT, parser_node::type_enum, UNBOX_AS_TABLE, ustr_upper(), pt_insert_value_info::value, pt_statement_info::value, pt_query_info::xasl, XASL_NO_FIXED_SCAN, and XASL_SET_FLAG.
Referenced by pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_join_term_to_regu_variable(), pt_make_pred_term_is(), pt_make_regu_reguvalues_list(), pt_plan_cte(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_buildlist_proc(), pt_to_delete_xasl(), pt_to_func_pred(), pt_to_json_table_spec_list(), pt_to_key_limit(), pt_to_list_key(), pt_to_odku_info(), pt_to_outlist(), pt_to_pred_expr_local_with_arg(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_regu_variable_list(), pt_to_set_expr_table_spec_list(), pt_to_single_key(), pt_to_union_proc(), pt_to_update_xasl(), and qo_get_limit_from_eval_term().
ACCESS_SPEC_TYPE* pt_to_spec_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | flat, | ||
PT_NODE * | where_key_part, | ||
PT_NODE * | where_part, | ||
QO_PLAN * | plan, | ||
QO_XASL_INDEX_INFO * | indx, | ||
PT_NODE * | src_derived_table, | ||
PT_NODE * | where_hash_part | ||
) |
Definition at line 12811 of file xasl_generation.c.
References ARG_FILE_LINE, assert, pt_spec_info::cte_pointer, pt_spec_info::derived_table, pt_spec_info::derived_table_type, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), pt_spec_info::flat_entity_list, parser_node::info, pt_pointer_info::node, NULL, pt_statement_info::pointer, PT_DERIVED_JSON_TABLE, PT_IS_CSELECT, PT_IS_SET_EXPR, PT_IS_SHOWSTMT, PT_IS_SUBQUERY, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, pt_to_class_spec_list(), pt_to_cselect_table_spec_list(), pt_to_cte_table_spec_list(), pt_to_json_table_spec_list(), pt_to_set_expr_table_spec_list(), pt_to_showstmt_spec_list(), pt_to_subquery_table_spec_list(), and pt_statement_info::spec.
Referenced by add_access_spec(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), ptqo_to_scan_proc(), and qo_add_hq_iterations_access_spec().
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 | ||
) |
Definition at line 19560 of file xasl_generation.c.
References parser_node::alias_print, pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, assert, tp_domain::codeset, tp_domain::collation_id, parser_node::data_type, db_value_domain_default(), tp_domain::enumeration, pt_statement_info::expr, pt_select_info::from, pt_select_info::group_by, pt_select_info::hint, parser_node::info, pt_select_info::list, mq_is_outer_join_spec(), pt_statement_info::name, parser_node::next, NO_ERROR, NULL, OID_NAME, pt_expr_info::op, pt_query_info::order_by, pt_query_info::orderby_for, parser_append_node(), parser_copy_tree_list(), parser_free_node(), parser_free_tree(), parser_new_node(), parser_print_tree(), pr_clear_value(), tp_domain::precision, pt_add_row_classoid_name(), pt_add_row_oid_name(), PT_ASC, pt_check_order_by(), pt_convert_to_logical_expr(), pt_dbval_to_value(), PT_EXPR, pt_has_analytic(), PT_HINT_NO_HASH_AGGREGATE, PT_IF, PT_INTERNAL_ERROR, PT_ISNULL, pt_mark_spec_list_for_update_clause(), PT_NODE_MOVE_NUMBER_OUTERLINK, PT_SELECT, PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_IS_UPD_DEL_QUERY, PT_SELECT_INFO_MULTI_UPDATE_AGG, PT_SELECT_INFO_MVCC_LOCK_NEEDED, PT_SELECT_INFO_NO_STRICT_OID_CHECK, PT_SELECT_INFO_SET_FLAG, PT_SORT_SPEC, PT_SPEC, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_UPDATE, pt_spec_to_oid_attr(), pt_type_enum_to_db(), PT_TYPE_NONE, PT_TYPE_NULL, pt_value_to_db(), pt_xasl_node_to_domain(), pt_query_info::q, pt_statement_info::query, S_UPDATE, tp_domain::scale, pt_query_info::scan_op_type, pt_query_info::select, pt_name_info::spec_id, tp_domain_resolve_default(), parser_node::type_enum, pt_query_info::upd_del_class_cnt, pt_select_info::using_index, pt_select_info::where, and pt_query_info::with.
Referenced by do_prepare_delete(), do_prepare_update(), get_select_list_to_update(), pt_to_delete_xasl(), pt_to_update_xasl(), and select_delete_list().
XASL_NODE* pt_to_update_xasl | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_NODE ** | non_null_attrs | ||
) |
Definition at line 20482 of file xasl_generation.c.
References parser_node::alias_print, xasl_node::aptr_list, pt_expr_info::arg2, ARG_FILE_LINE, assert, pt_update_info::assignment, pt_assignments_helper::assignment, update_proc_node::assigns, upddel_class_info::att_id, update_assignment::att_idx, upddel_class_info::class_hfid, xasl_node::class_locks, upddel_class_info::class_oid, xasl_node::class_oid_list, pt_update_info::class_specs, update_proc_node::classes, cleanup(), update_assignment::cls_idx, update_assignment::constant, COPY_OID, xasl_node::creator_oid, db_attribute_domain(), db_get_attribute(), db_get_user(), DB_IS_NULL, pt_name_info::db_object, xasl_node::dbval_cnt, pt_spec_info::derived_table, DOMAIN_COMPATIBLE, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, ER_OBJ_ATTRIBUTE_CANT_BE_NULL, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), EXCLUDE_HIDDEN_COLUMNS, pt_statement_info::expr, xasl_node::flag, pt_spec_info::flag, pt_spec_info::flat_entity_list, pt_select_info::from, pt_select_info::group_by, upddel_class_info::has_uniques, pt_update_info::hint, pt_spec_info::id, parser_node::info, pt_assignments_helper::is_rhs_const, pt_assignments_helper::lhs, pt_update_info::limit, xasl_node::limit_offset, xasl_node::limit_row_count, pt_select_info::list, locator_flush_class(), mq_translate(), upddel_class_info::mvcc_extra_assign_reev, update_proc_node::mvcc_reev_classes, pt_query_info::mvcc_reev_extra_cls_cnt, xasl_node::n_oid_list, pt_statement_info::name, upddel_class_info::needs_pruning, parser_node::next, NO_ERROR, update_proc_node::no_logging, parser_node::node_type, NULL, update_proc_node::num_assign_reev_classes, update_proc_node::num_assigns, upddel_class_info::num_attrs, update_proc_node::num_classes, upddel_class_info::num_extra_assign_reev, update_proc_node::num_orderby_keys, update_proc_node::num_reev_classes, upddel_class_info::num_subclasses, OID_SET_NULL, pt_update_info::order_by, pt_update_info::orderby_for, pt_name_info::original, p, parser_free_tree(), xasl_node::proc, pt_append_omitted_on_update_expr_assignments(), pt_copy_upddel_hints_to_select(), pt_get_assignment_lists(), pt_get_next_assignment(), pt_has_error, pt_has_reev_in_subquery(), PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, pt_init_assignments_helper(), PT_INTERNAL_ERROR, PT_IS_HINT_NODE, PT_IS_SPEC_FLAG_SET, pt_length_of_list(), pt_length_of_select_list(), pt_make_aptr_parent_node(), pt_mark_spec_list_for_update_clause(), pt_mvcc_flag_specs_assign_reev(), pt_mvcc_flag_specs_cond_reev(), pt_mvcc_prepare_upd_del_select(), pt_mvcc_set_spec_assign_reev_extra_indexes(), pt_name_equal(), pt_report_to_ersys(), pt_report_to_ersys_with_statement(), pt_restore_assignment_links(), PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_MVCC_LOCK_NEEDED, PT_SELECT_INFO_SET_FLAG, PT_SEMANTIC, PT_SPEC, PT_SPEC_FLAG_HAS_UNIQUE, PT_SPEC_FLAG_MVCC_ASSIGN_REEV, PT_SPEC_FLAG_MVCC_COND_REEV, PT_SPEC_FLAG_UPDATE, pt_to_constraint_pred(), pt_to_regu_variable(), pt_to_upd_del_query(), pt_value_to_db(), pt_query_info::q, pt_statement_info::query, xasl_node::query_alias, pt_spec_info::range_var, regu_alloc(), regu_array_alloc(), regu_int_array_alloc(), regu_oid_array_alloc(), S_UPDATE, pt_update_info::search_cond, pt_query_info::select, sm_att_id(), sm_get_ch_heap(), sm_is_partitioned_class(), sm_partitioned_class_type(), pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, xasl_node::tcard_list, tp_domain_status_er_set(), tp_value_auto_cast(), UNBOX_AS_VALUE, pt_query_info::upd_del_class_cnt, xasl_node::update, pt_statement_info::update, UPDATE_PROC, pt_update_info::using_index, update_proc_node::wait_msecs, pt_update_info::waitsecs_hint, pt_update_info::with, ws_identifier(), XASL_CLEAR_FLAG, XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by do_prepare_update(), and statement_to_update_xasl().
VAL_LIST* pt_to_val_list | ( | PARSER_CONTEXT * | parser, |
UINTPTR | id | ||
) |
Definition at line 12875 of file xasl_generation.c.
References NULL, pt_find_table_info(), parser_context::symbols, symbol_info::table_info, and table_info::value_list.
Referenced by add_access_spec(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_to_fetch_as_scan_proc(), pt_to_fetch_proc(), and ptqo_to_scan_proc().
TP_DOMAIN* pt_xasl_node_to_domain | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2222 of file xasl_generation.c.
References er_msg(), NULL, PT_ERRORc, pt_node_to_db_domain(), and tp_domain_cache().
Referenced by make_mergelist_proc(), pt_agg_orderby_to_sort_list(), pt_attribute_to_regu(), pt_check_analytic_function(), pt_check_group_concat_order_by(), pt_check_json_table_node(), pt_check_order_by(), pt_create_json_table_column(), pt_evaluate_function(), pt_expand_analytic_node(), pt_fillin_type_size(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_fix_interpolation_aggregate_function_order_by(), pt_fold_const_expr(), pt_function_to_regu(), pt_make_function(), pt_make_position_regu_variable(), pt_make_regu_constant(), pt_make_regu_hostvar(), pt_make_regu_insert(), pt_make_regu_numbering(), pt_make_regu_subquery(), pt_make_val_list(), pt_set_orderby_for_sort_limit_plan(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_merge_update_query(), pt_to_outlist(), pt_to_pos_descr(), pt_to_pos_descr_groupby(), pt_to_position_regu_variable_list(), pt_to_regu_reserved_name(), pt_to_regu_variable(), pt_to_sort_list(), and pt_to_upd_del_query().
TP_DOMAIN* pt_xasl_type_enum_to_domain | ( | const PT_TYPE_ENUM | type | ) |
Definition at line 2206 of file xasl_generation.c.
References pt_type_enum_to_db_domain(), and tp_domain_cache().
Referenced by pt_coerce_value_internal(), pt_eval_expr_type(), and pt_make_regu_hostvar().
SORT_LIST* ptqo_single_orderby | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 14218 of file xasl_generation.c.
References sort_list::next, NULL, and regu_alloc().
Referenced by make_mergelist_proc().
XASL_NODE* ptqo_to_list_scan_proc | ( | PARSER_CONTEXT * | parser, |
XASL_NODE * | xasl, | ||
PROC_TYPE | type, | ||
XASL_NODE * | listfile, | ||
PT_NODE * | namelist, | ||
PT_NODE * | pred, | ||
int * | poslist | ||
) |
Definition at line 14094 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, symbol_info::current_class, symbol_info::current_listfile, free_and_init, i, symbol_info::listfile_unbox, regu_variable_list_node::next, NULL, p, pt_clone_val_list(), pt_make_identity_offsets(), pt_make_list_access_spec(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), regu_xasl_node_alloc(), xasl_node::spec_list, parser_context::symbols, UNBOX_AS_VALUE, xasl_node::val_list, and regu_variable_list_node::value.
Referenced by init_list_scan_proc(), and make_mergelist_proc().
XASL_NODE* ptqo_to_merge_list_proc | ( | PARSER_CONTEXT * | parser, |
XASL_NODE * | left, | ||
XASL_NODE * | right, | ||
JOIN_TYPE | join_type | ||
) |
Definition at line 14170 of file xasl_generation.c.
References xasl_node::aptr_list, assert, mergelist_proc_node::inner_xasl, JOIN_RIGHT, xasl_node::mergelist, MERGELIST_PROC, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, xasl_node::next, NULL, mergelist_proc_node::outer_xasl, xasl_node::proc, PT_ERROR, and regu_xasl_node_alloc().
Referenced by make_mergelist_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 | ||
) |
Definition at line 14014 of file xasl_generation.c.
References pt_spec_info::id, parser_node::info, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NULL, PT_ERROR, pt_to_spec_list(), pt_to_val_list(), regu_xasl_node_alloc(), SCAN_PROC, pt_statement_info::spec, xasl_node::spec_list, and xasl_node::val_list.
Referenced by init_class_scan_proc(), make_scan_proc(), and pt_to_scan_proc_list().
char* query_Plan_dump_filename |
Definition at line 364 of file xasl_generation.c.
Referenced by db_query_plan_dump_file(), and parser_generate_xasl_proc().
FILE* query_Plan_dump_fp |
Definition at line 363 of file xasl_generation.c.
Referenced by parser_generate_xasl_proc(), pt_plan_query(), pt_plan_schema(), pt_plan_single_table_hq_iterations(), and qo_optimize_helper().