CUBRID Engine
latest
|
#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 "transform.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 "dbtype.h"
Go to the source code of this file.
Classes | |
struct | hashable |
struct | analytic_key_metadomain |
struct | set_numbering_node_etc_info |
struct | pred_regu_variable_p_list_node |
struct | xasl_supp_info |
struct | uncorr_info |
struct | corr_info |
Macros | |
#define | ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS 32 |
#define | ANALYTIC_OPT_MAX_FUNCTIONS 32 |
#define | CHECK_HASH_ATTR(hashable_arg, hash_attr) |
#define | SORT_SPEC_EQ(a, b) |
#define | APPEND_TO_XASL(xasl_head, list, xasl_tail) |
#define | VALIDATE_REGU_KEY_HELPER(r) ((r)->type == TYPE_CONSTANT || (r)->type == TYPE_DBVAL || (r)->type == TYPE_POS_VALUE || (r)->type == TYPE_INARITH) |
#define | VALIDATE_REGU_KEY(r) |
Typedefs | |
typedef struct hashable | HASHABLE |
typedef struct analytic_key_metadomain | ANALYTIC_KEY_METADOMAIN |
typedef struct set_numbering_node_etc_info | SET_NUMBERING_NODE_ETC_INFO |
typedef struct pred_regu_variable_p_list_node * | PRED_REGU_VARIABLE_P_LIST |
typedef struct pred_regu_variable_p_list_node | PRED_REGU_VARIABLE_P_LIST_NODE |
typedef struct xasl_supp_info | XASL_SUPP_INFO |
typedef struct uncorr_info | UNCORR_INFO |
typedef struct corr_info | CORR_INFO |
Enumerations | |
enum | HASH_ATTR { UNHASHABLE = 1, PROBE, BUILD, CONSTANT } |
enum | SORT_LIST_MODE { SORT_LIST_AFTER_ISCAN = 1, SORT_LIST_ORDERBY, SORT_LIST_GROUPBY, SORT_LIST_AFTER_GROUPBY, SORT_LIST_ANALYTIC_WINDOW } |
Variables | |
static ANALYTIC_KEY_METADOMAIN | analitic_key_metadomain_Initializer = { {0}, 0, 0, {NULL}, 0, {NULL}, false, 0, NULL } |
FILE * | query_Plan_dump_fp = NULL |
char * | query_Plan_dump_filename = NULL |
static XASL_SUPP_INFO | xasl_Supp_info = { NULL, NULL, NULL, NULL, 0, 0, 0 } |
static const int | OID_LIST_GROWTH = 10 |
#define ANALYTIC_OPT_MAX_FUNCTIONS 32 |
Definition at line 80 of file xasl_generation.c.
Referenced by pt_optimize_analytic_list().
#define ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS 32 |
Definition at line 77 of file xasl_generation.c.
Referenced by pt_analytic_to_metadomain(), pt_metadomains_compatible(), and pt_optimize_analytic_list().
#define APPEND_TO_XASL | ( | xasl_head, | |
list, | |||
xasl_tail | |||
) |
Definition at line 311 of file xasl_generation.c.
Referenced by pt_to_fetch_proc_list_recurse().
#define CHECK_HASH_ATTR | ( | hashable_arg, | |
hash_attr | |||
) |
Definition at line 97 of file xasl_generation.c.
Referenced by pt_split_hash_attrs_for_HQ().
#define SORT_SPEC_EQ | ( | a, | |
b | |||
) |
Definition at line 174 of file xasl_generation.c.
Referenced by pt_analytic_to_metadomain().
#define VALIDATE_REGU_KEY | ( | r | ) |
Definition at line 334 of file xasl_generation.c.
Referenced by pt_to_list_key(), pt_to_range_key(), pt_to_rangelist_key(), and pt_to_single_key().
#define VALIDATE_REGU_KEY_HELPER | ( | r | ) | ((r)->type == TYPE_CONSTANT || (r)->type == TYPE_DBVAL || (r)->type == TYPE_POS_VALUE || (r)->type == TYPE_INARITH) |
Definition at line 331 of file xasl_generation.c.
Referenced by validate_regu_key_function_index().
typedef struct analytic_key_metadomain ANALYTIC_KEY_METADOMAIN |
Definition at line 119 of file xasl_generation.c.
Definition at line 82 of file xasl_generation.c.
typedef struct pred_regu_variable_p_list_node* PRED_REGU_VARIABLE_P_LIST |
Definition at line 166 of file xasl_generation.c.
typedef struct pred_regu_variable_p_list_node PRED_REGU_VARIABLE_P_LIST_NODE |
Definition at line 166 of file xasl_generation.c.
typedef struct set_numbering_node_etc_info SET_NUMBERING_NODE_ETC_INFO |
typedef struct uncorr_info UNCORR_INFO |
typedef struct xasl_supp_info XASL_SUPP_INFO |
enum HASH_ATTR |
Enumerator | |
---|---|
UNHASHABLE | |
PROBE | |
BUILD | |
CONSTANT |
Definition at line 89 of file xasl_generation.c.
enum SORT_LIST_MODE |
Enumerator | |
---|---|
SORT_LIST_AFTER_ISCAN | |
SORT_LIST_ORDERBY | |
SORT_LIST_GROUPBY | |
SORT_LIST_AFTER_GROUPBY | |
SORT_LIST_ANALYTIC_WINDOW |
Definition at line 151 of file xasl_generation.c.
|
static |
Definition at line 10011 of file xasl_generation.c.
References EQ_NA, GE_INF, GE_LE, GE_LT, GT_INF, GT_LE, GT_LT, INF_LE, INF_LT, NA_NA, PT_BETWEEN, PT_BETWEEN_AND, PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GE_LE, PT_BETWEEN_GE_LT, PT_BETWEEN_GT_INF, PT_BETWEEN_GT_LE, PT_BETWEEN_GT_LT, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_EQ, PT_EQ_SOME, PT_GE, PT_GT, PT_IS_IN, PT_LE, and PT_LT.
Referenced by pt_to_range_key(), and pt_to_rangelist_key().
XASL_NODE* parser_generate_do_stmt_xasl | ( | PARSER_CONTEXT * | parser, |
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 * | parser, |
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().
|
static |
Definition at line 21475 of file xasl_generation.c.
References parser_context::abort, assert, xasl_supp_info::class_locks, xasl_supp_info::class_oid_list, pt_statement_info::cte, er_errid(), ER_LK_UNILATERALLY_ABORTED, ER_OUT_OF_VIRTUAL_MEMORY, pt_statement_info::expr, parser_context::flag, pt_select_info::from, xasl_supp_info::includes_tde_class, parser_node::info, xasl_supp_info::n_oid_list, parser_node::node_type, NULL, xasl_supp_info::oid_list_size, pt_expr_info::op, parser_generate_xasl_proc(), PT_CONTINUE_WALK, PT_CTE, PT_DIFFERENCE, PT_EXPR, pt_has_error, PT_INTERNAL_ERROR, PT_INTERSECTION, PT_IS_SERIAL, pt_pop_symbol_info(), PT_SELECT, pt_serial_to_xasl_class_oid_list(), pt_spec_to_xasl_class_oid_list(), PT_STOP_WALK, PT_UNION, pt_query_info::q, pt_statement_info::query, xasl_supp_info::query_list, pt_query_info::select, xasl_supp_info::tcard_list, pt_cte_info::xasl, and pt_query_info::xasl.
Referenced by parser_generate_xasl(), and pt_to_insert_xasl().
|
static |
Definition at line 21424 of file xasl_generation.c.
References parser_context::abort, er_errid(), ER_LK_UNILATERALLY_ABORTED, parser_context::flag, parser_node::info, parser_node::node_type, NULL, PT_CONTINUE_WALK, PT_CONVERT_RANGE, PT_DIFFERENCE, pt_has_error, PT_INTERSECTION, PT_NODE_PRINT_TO_ALIAS, pt_push_symbol_info(), pt_query_set_reference(), PT_SELECT, PT_STOP_WALK, PT_UNION, pt_statement_info::query, and pt_query_info::xasl.
Referenced by parser_generate_xasl(), and pt_to_insert_xasl().
|
static |
Definition at line 17304 of file xasl_generation.c.
References parser_context::abort, ACCESS_SPEC_CLS_OID, assert, pt_query_info::correlation_level, pt_statement_info::cte, CTE_PROC, pt_name_info::db_object, pt_spec_info::derived_table_type, DIFFERENCE_PROC, pt_spec_info::flag, parser_context::flag, pt_spec_info::flat_entity_list, pt_select_info::from, pt_query_info::id, parser_node::info, INTERSECTION_PROC, xasl_node::mvcc_reev_extra_cls_cnt, pt_query_info::mvcc_reev_extra_cls_cnt, pt_statement_info::name, access_spec_node::next, parser_node::next, parser_node::node_type, NULL, OID_EQ, parser_append_node(), parser_new_node(), pt_spec_info::path_entities, PT_CTE, PT_DIFFERENCE, pt_has_error, PT_INTERNAL_ERROR, PT_INTERSECTION, PT_IS_QUERY, PT_IS_SET_EXPR, PT_IS_SUBQUERY, pt_plan_cte(), pt_plan_query(), pt_plan_schema(), pt_plan_set_query(), PT_SELECT, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_IDX_SCHEMA, PT_SELECT_INFO_IS_FLAGED, PT_SPEC, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_UPDATE, PT_UNION, pt_query_info::q, pt_statement_info::query, query_Plan_dump_filename, query_Plan_dump_fp, READONLY_SCAN, xasl_node::scan_op_type, pt_query_info::scan_op_type, xasl_node::scan_ptr, pt_query_info::select, pt_statement_info::spec, xasl_node::spec_list, TARGET_CLASS, access_spec_node::type, UNION_PROC, xasl_node::upd_del_class_cnt, pt_query_info::upd_del_class_cnt, WS_ISVID, WS_REAL_OID, pt_cte_info::xasl, pt_query_info::xasl, XASL_SET_FLAG, and XASL_ZERO_CORR_LEVEL.
Referenced by parser_generate_xasl_post().
|
static |
Definition at line 946 of file xasl_generation.c.
References ER_FAILED, regu_variable_list_node::next, NO_ERROR, NULL, pt_register_orphan_db_value(), regu_alloc(), tp_Bit_domain, tp_Integer_domain, tp_String_domain, TYPE_CONSTANT, valptr_list_node::valptr_cnt, valptr_list_node::valptrp, and regu_variable_list_node::value.
Referenced by pt_make_connect_by_proc().
|
static |
Definition at line 22651 of file xasl_generation.c.
References regu_variable_list_node::next, NULL, and pt_merge_regu_var_lists().
Referenced by pt_split_pred_regu_list(), and pt_to_aggregate_node().
|
static |
Definition at line 24021 of file xasl_generation.c.
References pt_function_info::adjusted, pt_function_info::analytic, assert, db_value::data, pt_value_info::data_value, pt_value_info::db_value, pt_sort_spec_info::expr, pt_statement_info::function, db_data::i, pt_data_value::i, parser_node::info, parser_node::next, NULL, pt_function_info::order_by, pt_function_info::partition_by, pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, PT_IS_ANALYTIC_NODE, PT_IS_SORT_SPEC_NODE, PT_IS_VALUE_NODE, pt_statement_info::sort_spec, and pt_statement_info::value.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 22920 of file xasl_generation.c.
References pt_sort_spec_info::asc_or_desc, assert, DB_TYPE_NULL, qfile_tuple_value_position::dom, ER_REGU_SYSTEM, pt_sort_spec_info::expr, i, parser_node::info, sort_list::next, parser_node::next, parser_node::node_type, NULL, sort_list::pos_descr, pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, PT_ASC, pt_has_error, PT_INTERNAL_ERROR, PT_SORT_SPEC, pt_to_null_ordering(), PT_TYPE_NONE, pt_xasl_node_to_domain(), regu_alloc(), regu_set_error_with_zero_args(), S_ASC, S_DESC, sort_list::s_nulls, sort_list::s_order, pt_statement_info::sort_spec, TP_DOMAIN_TYPE, and parser_node::type_enum.
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 26261 of file xasl_generation.c.
References assert, qproc_db_value_list::next, NULL, val_list_node::val_cnt, val_list_node::valp, and aggregate_info::value_list.
Referenced by pt_aggregate_info_update_value_and_reguvar_lists().
|
static |
Definition at line 26313 of file xasl_generation.c.
References regu_variable_list_node::next, NULL, pt_index_value(), pt_merge_regu_var_lists(), aggregate_info::scan_regu_list, val_list_node::val_cnt, and aggregate_info::value_list.
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 26288 of file xasl_generation.c.
References NULL, aggregate_info::out_list, pt_aggregate_info_append_value_list(), pt_merge_regu_var_lists(), aggregate_info::regu_list, valptr_list_node::valptr_cnt, and valptr_list_node::valptrp.
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 14713 of file xasl_generation.c.
References ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS, assert, analytic_key_metadomain::children, analytic_key_metadomain::demoted, i, analytic_key_metadomain::key, analytic_key_metadomain::key_size, analytic_key_metadomain::level, analytic_key_metadomain::links_count, parser_node::next, NULL, analytic_key_metadomain::part_size, cubxasl::analytic_list_node::sort_prefix_size, SORT_SPEC_EQ, and analytic_key_metadomain::source.
Referenced by pt_optimize_analytic_list().
|
static |
Definition at line 18585 of file xasl_generation.c.
References parser_node::info, mq_get_references_helper(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, parser_node::next, NULL, parser_append_node(), PT_ERRORm, pt_find_name(), pt_has_error, pt_make_table_info(), pt_symbol_info_alloc(), pt_spec_info::referenced_attrs, pt_statement_info::spec, parser_context::symbols, and symbol_info::table_info.
Referenced by pt_to_insert_xasl().
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 13130 of file xasl_generation.c.
References xasl_node::scan_ptr.
Referenced by pt_to_scan_proc_list().
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().
|
static |
Definition at line 9749 of file xasl_generation.c.
References table_info::attribute_list, symbol_info::cache_attrinfo, CAST_POINTER_TO_NODE, symbol_info::current_class, symbol_info::current_listfile, parser_node::data_type, pt_name_info::db_object, DB_TYPE_VOBJ, parser_node::info, symbol_info::listfile_attr_offset, symbol_info::listfile_value_list, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, p, pt_find_attribute(), pt_find_table_info(), pt_has_error, pt_index_value(), PT_INTERNAL_ERROR, PT_IS_OID_NAME, pt_make_position_regu_variable(), pt_make_vid(), PT_META_CLASS, PT_NAME, pt_node_to_db_type(), PT_RESERVED, pt_to_regu_attr_descr(), pt_to_regu_reserved_name(), pt_xasl_node_to_domain(), regu_alloc(), table_info::spec_id, pt_name_info::spec_id, symbol_info::stack, parser_context::symbols, symbol_info::table_info, TYPE_CLASSOID, TYPE_CONSTANT, TYPE_OID, and table_info::value_list.
Referenced by pt_clone_val_list(), pt_to_fetch_proc(), and pt_to_regu_variable().
|
static |
Definition at line 15121 of file xasl_generation.c.
References assert, analytic_key_metadomain::children, cubxasl::analytic_eval_type::head, analytic_key_metadomain::key_size, analytic_key_metadomain::level, cubxasl::analytic_list_node::next, cubxasl::analytic_eval_type::next, NULL, PT_INTERNAL_ERROR, pt_sort_list_from_metadomain(), regu_alloc(), analytic_info::select_list, cubxasl::analytic_eval_type::sort_list, and analytic_key_metadomain::source.
Referenced by pt_optimize_analytic_list().
|
static |
Definition at line 22757 of file xasl_generation.c.
References NULL, parser_walk_tree(), pt_build_do_stmt_aptr_list_pre(), and pt_continue_walk().
Referenced by parser_generate_do_stmt_xasl().
|
static |
Definition at line 22691 of file xasl_generation.c.
References assert, pt_query_info::correlation_level, parser_node::info, xasl_node::next, parser_node::node_type, NULL, parser_generate_xasl(), PT_EXECUTION, pt_has_error, PT_IS_QUERY_NODE_TYPE, PT_LIST_WALK, pt_report_to_ersys_with_statement(), and pt_statement_info::query.
Referenced by pt_build_do_stmt_aptr_list().
|
static |
Definition at line 3471 of file xasl_generation.c.
References hashable::is_NAME_without_prior, hashable::is_PRIOR, PT_CONTINUE_WALK, PT_IS_EXPR_NODE_WITH_OPERATOR, pt_is_name_node, PT_LIST_WALK, and PT_PRIOR.
Referenced by pt_split_hash_attrs_for_HQ().
|
static |
Definition at line 3855 of file xasl_generation.c.
References qproc_db_value_list::dom, qproc_db_value_list::next, parser_node::next, NULL, pt_attribute_to_regu(), pt_regu_to_dbvalue(), regu_alloc(), qproc_db_value_list::val, val_list_node::val_cnt, and val_list_node::valp.
Referenced by ptqo_to_list_scan_proc().
|
static |
Definition at line 4827 of file xasl_generation.c.
References regu_variable_list_node::next, TYPE_ATTR_ID, TYPE_CLASS_ATTR_ID, TYPE_FUNC, TYPE_SHARED_ATTR_ID, and regu_variable_list_node::value.
Referenced by pt_init_pred_expr_context(), and pt_make_class_access_spec().
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().
|
static |
Definition at line 22240 of file xasl_generation.c.
References db_value_copy(), qproc_db_value_list::dom, qproc_db_value_list::next, NULL, regu_alloc(), qproc_db_value_list::val, val_list_node::val_cnt, and val_list_node::valp.
Referenced by pt_make_connect_by_proc().
|
static |
Definition at line 13303 of file xasl_generation.c.
References pt_query_info::correlation_level, corr_info::id, if(), parser_node::info, MATCH_ALL, parser_node::node_type, pt_append_xasl(), PT_CONTINUE_WALK, PT_DIFFERENCE, PT_INTERSECTION, PT_LIST_WALK, PT_SELECT, PT_UNION, pt_statement_info::query, parser_node::spec_ident, pt_query_info::xasl, and corr_info::xasl_head.
Referenced by pt_to_corr_subquery_list().
Definition at line 10072 of file xasl_generation.c.
References ARG_FILE_LINE, assert, db_make_null(), DB_TYPE_MIDXKEY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), F_MIDXKEY, INF_INF, indx_info::iss_range, key_range::key1, key_range::key2, NO_ERROR, NULL, key_range::range, regu_alloc(), tp_domain_resolve_default(), TYPE_DBVAL, TYPE_FUNC, and indx_info::use_iss.
Referenced by pt_to_index_info().
|
static |
Definition at line 5013 of file xasl_generation.c.
References assert, table_info::attribute_list, pt_json_table_column_info::func, parser_node::info, pt_statement_info::json_table_column_info, cubxasl::json_table::column::m_column_name, cubxasl::json_table::column::m_domain, cubxasl::json_table::column::m_function, cubxasl::json_table::column::m_on_empty, cubxasl::json_table::column::m_on_error, cubxasl::json_table::column::m_output_value_pointer, cubxasl::json_table::column::m_path, pt_json_table_column_info::name, pt_statement_info::name, NULL, pt_json_table_column_info::on_empty, pt_json_table_column_info::on_error, pt_name_info::original, pt_json_table_column_info::path, pt_find_attribute(), pt_index_value(), pt_xasl_node_to_domain(), and table_info::value_list.
Referenced by pt_make_json_table_spec_node_internal().
|
static |
Definition at line 23722 of file xasl_generation.c.
References pt_function_info::adjusted, pt_function_info::analytic, pt_function_info::arg_list, assert, pt_value_info::data_value, pt_function_info::default_value, qfile_tuple_value_position::dom, pt_function_info::expanded_list, pt_sort_spec_info::expr, pt_statement_info::function, pt_function_info::function_type, pt_data_value::i, parser_node::info, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, parser_node::node_type, NULL, pt_function_info::offset, pt_function_info::order_by, parser_append_node(), parser_copy_tree_list(), parser_free_tree(), parser_new_node(), pt_function_info::partition_by, pt_function_info::percentile, pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, pt_check_path_eq(), PT_DOT_, PT_ERROR, PT_ERRORm, pt_find_name(), PT_INTERNAL_ERROR, PT_IS_ANALYTIC_NODE, pt_is_const, PT_LAG, PT_LEAD, PT_NAME, PT_NTH_VALUE, PT_PERCENTILE_CONT, PT_PERCENTILE_DISC, pt_point_ref(), PT_SORT_SPEC, PT_TYPE_INTEGER, PT_TYPE_MAYBE, PT_TYPE_NONE, PT_VALUE, pt_value_to_db(), pt_xasl_node_to_domain(), pt_statement_info::sort_spec, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 4860 of file xasl_generation.c.
References regu_variable_list_node::next, TYPE_ATTR_ID, TYPE_CLASS_ATTR_ID, TYPE_FUNC, TYPE_SHARED_ATTR_ID, and regu_variable_list_node::value.
Referenced by pt_init_pred_expr_context(), and pt_make_class_access_spec().
|
static |
Definition at line 3618 of file xasl_generation.c.
References pt_value_info::data_value, pt_value_info::db_value_is_initialized, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_spec_info::entity_name, pt_flat_spec_info::for_update, pt_spec_info::id, parser_node::info, pt_spec_info::meta_class, parser_node::next, parser_node::node_type, NULL, pt_spec_info::only_all, parser_free_node(), parser_new_node(), parser_walk_tree(), PT_CLASS, pt_continue_walk(), pt_flat_spec_pre(), PT_INTERNAL_ERROR, PT_IS_SET_EXPR, PT_IS_WHACKED_SPEC, pt_name(), PT_ONLY, PT_SPEC, PT_TYPE_NULL, PT_TYPE_SET, PT_VALUE, pt_data_value::set, pt_statement_info::spec, pt_flat_spec_info::spec_parent, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_push_symbol_info().
int pt_find_attribute | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | name, | ||
const PT_NODE * | attributes | ||
) |
Definition at line 4453 of file xasl_generation.c.
References pt_dot_info::arg2, CAST_POINTER_TO_NODE, pt_statement_info::dot, pt_sort_spec_info::expr, i, parser_node::info, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, PT_DOT_, PT_NAME, pt_name_equal(), PT_SORT_SPEC, pt_name_info::resolved, and pt_statement_info::sort_spec.
Referenced by gen_outer(), make_mergelist_proc(), mq_push_path(), pt_attribute_to_regu(), pt_check_single_valued_node(), pt_create_json_table_column(), pt_split_attrs(), pt_to_index_attrs(), and pt_to_method_arglist().
|
static |
Definition at line 3498 of file xasl_generation.c.
References pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_CHECK_HQ_OP_EXCEPT_PRIOR, PT_EXPR, and PT_STOP_WALK.
Referenced by pt_split_hash_attrs_for_HQ().
Definition at line 23026 of file xasl_generation.c.
References indx_info::class_oid, access_spec_node::indexptr, NULL, oid_compare(), xasl_node::scan_ptr, and xasl_node::spec_list.
Referenced by pt_ordbynum_to_key_limit_multiple_ranges().
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().
|
static |
Definition at line 3904 of file xasl_generation.c.
References table_info::next, and table_info::spec_id.
Referenced by pt_attribute_to_regu(), pt_to_class_spec_list(), pt_to_cte_table_spec_list(), pt_to_fetch_as_scan_proc(), pt_to_json_table_spec_list(), pt_to_subquery_table_spec_list(), and pt_to_val_list().
Definition at line 12902 of file xasl_generation.c.
References xasl_node::next.
Referenced by pt_append_xasl().
|
static |
Definition at line 26539 of file xasl_generation.c.
References assert, pt_value_info::data_value, ER_FAILED, pt_sort_spec_info::expr, i, pt_data_value::i, parser_node::info, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, qproc_db_value_list::next, regu_variable_list_node::next, parser_node::next, NO_ERROR, NULL, aggregate_info::out_list, aggregate_info::out_names, parser_append_node(), parser_new_node(), PT_ERRORm, pt_make_val_list(), pt_to_regu_variable(), PT_TYPE_INTEGER, PT_VALUE, pt_xasl_node_to_domain(), regu_alloc(), aggregate_info::regu_list, aggregate_info::scan_regu_list, pt_statement_info::sort_spec, parser_node::type_enum, TYPE_POSITION, TYPE_REGU_VAR_LIST, UNBOX_AS_VALUE, val_list_node::val_cnt, val_list_node::valp, valptr_list_node::valptr_cnt, valptr_list_node::valptrp, regu_variable_list_node::value, pt_statement_info::value, and aggregate_info::value_list.
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 11458 of file xasl_generation.c.
References assert, sm_class_constraint::attributes, sm_function_info::col_id, qo_index_entry::constraints, parser_node::data_type, db_make_null(), sm_attribute::domain, qo_node::entity_spec, ER_FAILED, sm_class_constraint::func_index_info, sm_attribute::header, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, sm_component::name, pt_statement_info::name, NO_ERROR, qo_index_entry::nsegs, NULL, pt_name_info::original, parser_free_tree(), pt_dbval_to_value(), pt_domain_to_data_type(), PT_EQ, pt_expression_2(), pt_fix_first_term_func_index_for_iss(), pt_name(), PT_NORMAL, QO_ENV_SEG, QO_SEG_HEAD, pt_spec_info::range_var, pt_name_info::resolved, qo_index_entry::seg_idxs, pt_statement_info::spec, pt_name_info::spec_id, qo_index_entry::terms, and parser_node::type_enum.
Referenced by pt_to_index_info().
|
static |
Definition at line 11553 of file xasl_generation.c.
References assert, qo_index_entry::constraints, db_make_null(), qo_node::entity_spec, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, error(), sm_function_info::expr_str, free_and_init, sm_class_constraint::func_index_info, parser_node::info, pt_select_info::list, pt_statement_info::name, NO_ERROR, NULL, pt_name_info::original, parser_free_tree(), parser_parse_string_use_sys_charset(), pt_dbval_to_value(), PT_EQ, pt_expression_2(), pt_has_error, pt_resolve_names(), pt_semantic_type(), pt_query_info::q, QO_ENV_SEG, QO_SEG_HEAD, pt_statement_info::query, pt_spec_info::range_var, qo_index_entry::seg_idxs, pt_query_info::select, pt_statement_info::spec, strlen, and qo_index_entry::terms.
Referenced by pt_fix_first_term_expr_for_iss().
|
static |
Definition at line 26473 of file xasl_generation.c.
References pt_function_info::analytic, pt_function_info::arg_list, pt_sort_spec_info::asc_or_desc, assert, qfile_tuple_value_position::dom, pt_sort_spec_info::expr, pt_statement_info::function, pt_function_info::function_type, parser_node::info, pt_function_info::is_analytic, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, parser_node::node_type, NULL, pt_sort_spec_info::nulls_first_or_last, pt_function_info::order_by, parser_copy_tree(), parser_new_node(), pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, PT_ASC, PT_CUME_DIST, PT_ERRORm, PT_FUNCTION, PT_GROUP_CONCAT, PT_IS_CONST, PT_MEDIAN, PT_NULLS_DEFAULT, PT_PERCENT_RANK, PT_PERCENTILE_CONT, PT_PERCENTILE_DISC, PT_SORT_SPEC, pt_xasl_node_to_domain(), and pt_statement_info::sort_spec.
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 22289 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, parser_node::etc, pt_statement_info::expr, parser_node::info, regu_variable_list_node::next, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, PT_CONNECT_BY_ISCYCLE, PT_CONNECT_BY_ISLEAF, PT_EXPR, PT_LEVEL, and regu_variable_list_node::value.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 3390 of file xasl_generation.c.
References pt_statement_info::data_type, db_is_vclass(), pt_name_info::db_object, pt_data_type_info::entity, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, PT_DATA_TYPE, pt_flush_classes(), PT_IS_QUERY_NODE_TYPE, PT_META_CLASS, pt_statement_info::query, pt_data_type_info::virt_object, ws_has_updated(), and pt_query_info::xasl.
Referenced by parser_generate_xasl().
PT_NODE* pt_flush_classes | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
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().
|
static |
Definition at line 6649 of file xasl_generation.c.
References DB_TYPE_MIDXKEY, DB_TYPE_MULTISET, DB_TYPE_OID, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_VOBJ, F_BENCHMARK, F_CLASS_OF, F_ELT, F_GENERIC, F_INSERT_SUBSTRING, F_JSON_ARRAY, F_JSON_ARRAY_APPEND, F_JSON_ARRAY_INSERT, F_JSON_CONTAINS, F_JSON_CONTAINS_PATH, F_JSON_DEPTH, F_JSON_EXTRACT, F_JSON_GET_ALL_PATHS, F_JSON_INSERT, F_JSON_KEYS, F_JSON_LENGTH, F_JSON_MERGE, F_JSON_MERGE_PATCH, F_JSON_OBJECT, F_JSON_PRETTY, F_JSON_QUOTE, F_JSON_REMOVE, F_JSON_REPLACE, F_JSON_SEARCH, F_JSON_SET, F_JSON_TYPE, F_JSON_UNQUOTE, F_JSON_VALID, F_MIDXKEY, F_MULTISET, F_REGEXP_COUNT, F_REGEXP_INSTR, F_REGEXP_LIKE, F_REGEXP_REPLACE, F_REGEXP_SUBSTR, F_SEQUENCE, F_SET, F_TABLE_MULTISET, F_TABLE_SEQUENCE, F_TABLE_SET, F_TOP_TABLE_FUNC, F_VID, if(), MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_RUNTIME_NESTED_AGGREGATE, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, NULL, PT_ERROR, PT_ERRORf, PT_ERRORm, PT_GENERIC, pt_is_aggregate_function(), pt_make_function(), pt_make_vid(), pt_node_to_db_type(), pt_to_regu_variable_list(), pt_xasl_node_to_domain(), regu_alloc(), TYPE_CONSTANT, UNBOX_AS_TABLE, and UNBOX_AS_VALUE.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 14291 of file xasl_generation.c.
References pt_sort_spec_info::asc_or_desc, assert, pt_select_info::group_by, indx_info::groupby_desc, list_spec_node::hash_list_scan_yn, pt_select_info::hint, access_spec_node::indexptr, parser_node::info, hybrid_node::list_node, NULL, pt_query_info::order_by, indx_info::orderby_desc, PT_DESC, pt_has_error, PT_HINT_NO_HASH_LIST_SCAN, PT_HINT_NO_IDX_DESC, PT_HINT_USE_IDX_DESC, pt_query_info::q, qo_to_xasl(), pt_statement_info::query, access_spec_node::s, xasl_node::scan_ptr, pt_query_info::select, pt_statement_info::sort_spec, xasl_node::spec_list, TARGET_LIST, access_spec_node::type, and indx_info::use_desc_index.
Referenced by pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
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().
|
static |
Definition at line 14382 of file xasl_generation.c.
References assert, pt_select_info::connect_by, 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, NULL, parser_copy_tree_list(), parser_free_tree(), pt_spec_info::path_entities, pt_has_error, 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_access_if_instnum(), pt_to_fetch_proc_list(), pt_to_instnum_pred(), pt_to_pred_terms(), pt_to_scan_proc_list(), pt_to_spec_list(), pt_to_val_list(), pt_query_info::q, pt_statement_info::query, xasl_node::scan_ptr, pt_query_info::select, pt_statement_info::spec, xasl_node::spec_list, xasl_node::val_list, and pt_select_info::where.
Referenced by pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
|
static |
Definition at line 15357 of file xasl_generation.c.
References cubxasl::analytic_eval_type::head, analytic_info::head_list, parser_node::info, cubxasl::analytic_list_node::next, cubxasl::analytic_eval_type::next, parser_node::next, pt_pointer_info::node, NULL, pt_statement_info::pointer, PT_INTERNAL_ERROR, pt_to_sort_list(), regu_alloc(), analytic_info::select_list, cubxasl::analytic_eval_type::sort_list, SORT_LIST_ANALYTIC_WINDOW, and analytic_info::sort_lists.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 12005 of file xasl_generation.c.
References symbol_info::cache_attrinfo, ER_FAILED, free_and_init, NO_ERROR, qo_xasl_index_info::nterms, NULL, parser_append_node(), parser_copy_tree(), parser_free_tree(), parser_get_tree_list_diff(), pt_split_attrs(), pt_to_pred_expr(), pt_to_regu_variable_list(), regu_alloc(), parser_context::symbols, qo_xasl_index_info::term_exprs, UNBOX_AS_VALUE, and table_info::value_list.
Referenced by pt_to_class_spec_list().
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().
|
static |
Definition at line 24336 of file xasl_generation.c.
References CAST_POINTER_TO_NODE, table_info::class_spec, ER_FAILED, parser_node::info, mq_get_references(), parser_node::next, NO_ERROR, NULL, parser_append_node(), parser_free_tree(), pt_point(), pt_spec_info::referenced_attrs, and pt_statement_info::spec.
Referenced by pt_init_pred_expr_context().
|
static |
Definition at line 22455 of file xasl_generation.c.
References cubxasl::alsm_eval_term::elem, cubxasl::alsm_eval_term::elemset, cubxasl::eval_term::et, cubxasl::eval_term::et_alsm, cubxasl::eval_term::et_comp, cubxasl::eval_term::et_like, cubxasl::eval_term::et_rlike, cubxasl::eval_term::et_type, cubxasl::pred::lhs, cubxasl::comp_eval_term::lhs, cubxasl::pred_expr::m_eval_term, cubxasl::pred_expr::m_not_term, cubxasl::pred_expr::m_pred, pred_regu_variable_p_list_node::next, NULL, cubxasl::like_eval_term::pattern, cubxasl::rlike_eval_term::pattern, cubxasl::pred_expr::pe, pt_get_var_regu_variable_p_list(), cubxasl::pred::rhs, cubxasl::comp_eval_term::rhs, cubxasl::like_eval_term::src, cubxasl::rlike_eval_term::src, T_ALSM_EVAL_TERM, T_COMP_EVAL_TERM, T_EVAL_TERM, T_LIKE_EVAL_TERM, T_NOT_TERM, T_PRED, T_RLIKE_EVAL_TERM, and cubxasl::pred_expr::type.
Referenced by pt_split_pred_regu_list().
|
static |
Definition at line 22545 of file xasl_generation.c.
References ER_FAILED, pred_regu_variable_p_list_node::is_prior, pred_regu_variable_p_list_node::next, regu_variable_list_node::next, NULL, pred_regu_variable_p_list_node::pvalue, T_PRIOR, TYPE_CONSTANT, TYPE_FUNC, TYPE_INARITH, TYPE_OUTARITH, and regu_variable_list_node::value.
Referenced by pt_get_pred_regu_variable_p_list().
|
static |
Definition at line 20459 of file xasl_generation.c.
References parser_walk_tree(), pt_has_reev_in_subquery_post(), and pt_has_reev_in_subquery_pre().
Referenced by pt_to_update_xasl().
|
static |
Definition at line 20434 of file xasl_generation.c.
References PT_IS_QUERY.
Referenced by pt_has_reev_in_subquery().
|
static |
Definition at line 20400 of file xasl_generation.c.
References pt_spec_info::flag, parser_node::info, parser_node::node_type, PT_IS_QUERY, PT_SPEC, PT_SPEC_FLAG_MVCC_ASSIGN_REEV, PT_SPEC_FLAG_MVCC_COND_REEV, PT_STOP_WALK, and pt_statement_info::spec.
Referenced by pt_has_reev_in_subquery().
Definition at line 4506 of file xasl_generation.c.
References qproc_db_value_list::next, NULL, qproc_db_value_list::val, and val_list_node::valp.
Referenced by pt_aggregate_info_update_scan_regu_list(), pt_attribute_to_regu(), pt_create_json_table_column(), pt_to_position_regu_variable_list(), and pt_to_regu_variable_list().
|
static |
Definition at line 18947 of file xasl_generation.c.
References assert, table_info::attribute_list, pred_expr_with_context::attrids_pred, symbol_info::cache_attrinfo, pred_expr_with_context::cache_pred, table_info::class_spec, symbol_info::current_class, table_info::exposed, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, NO_ERROR, NULL, pred_expr_with_context::num_attrs_pred, pt_name_info::original, parser_free_tree(), pred_expr_with_context::pred, pt_cnt_attrs(), PT_ERRORm, pt_fill_in_attrid_array(), pt_get_pred_attrs(), pt_make_table_info(), pt_symbol_info_alloc(), pt_to_pred_expr(), pt_to_regu_variable_list(), pt_spec_info::range_var, regu_alloc(), regu_int_array_alloc(), 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_to_pred_with_context().
|
static |
Definition at line 626 of file xasl_generation.c.
References xasl_supp_info::class_locks, xasl_supp_info::class_oid_list, free_and_init, xasl_supp_info::includes_tde_class, xasl_supp_info::n_oid_list, xasl_supp_info::oid_list_size, and xasl_supp_info::tcard_list.
Referenced by parser_generate_xasl(), and pt_to_insert_xasl().
|
static |
Definition at line 15288 of file xasl_generation.c.
References buildlist_proc_node::a_val_list, assert, ER_FAILED, analytic_info::head_list, qproc_db_value_list::next, parser_node::next, NO_ERROR, NULL, cubxasl::analytic_list_node::out_value, PT_IS_ANALYTIC_NODE, pt_to_analytic_node(), analytic_info::select_list, analytic_info::select_node, analytic_info::sort_lists, qproc_db_value_list::val, analytic_info::val_list, and val_list_node::valp.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 11305 of file xasl_generation.c.
References xasl_node::after_join_pred, assert, xasl_node::connect_by_ptr, db_private_free, DB_TYPE_BIGINT, regu_variable_node::domain, ER_FAILED, xasl_node::if_pred, access_spec_node::indexptr, xasl_node::instnum_flag, xasl_node::instnum_pred, indx_info::key_info, qo_limit_info::lower, access_spec_node::next, NO_ERROR, NULL, xasl_node::ordbynum_pred, qo_plan::plan_un, pt_make_regu_arith(), pt_to_key_limit(), qo_get_key_limit_from_instnum(), QO_NODE_IS_CLASS_HIERARCHY, qo_plan::scan, xasl_node::scan_ptr, xasl_node::spec_list, T_SUB, tp_domain_resolve_default(), qo_limit_info::upper, access_spec_node::where_pred, and XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC.
Referenced by pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
|
static |
Definition at line 15332 of file xasl_generation.c.
References assert, cubxasl::analytic_eval_type::head, cubxasl::analytic_eval_type::next, NULL, and p.
Referenced by pt_optimize_analytic_list().
|
static |
Definition at line 3929 of file xasl_generation.c.
References pt_function_info::all_or_distinct, pt_statement_info::function, pt_function_info::function_type, parser_node::info, PT_CUME_DIST, PT_DISTINCT, PT_GROUP_CONCAT, pt_is_aggregate_function(), PT_MEDIAN, PT_PERCENT_RANK, PT_PERCENTILE_CONT, PT_PERCENTILE_DISC, and PT_STOP_WALK.
Referenced by pt_to_buildlist_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().
|
static |
Definition at line 25967 of file xasl_generation.c.
References sort_list::next, NULL, sort_list::pos_descr, qfile_tuple_value_position::pos_no, sort_list::s_nulls, and sort_list::s_order.
|
static |
Definition at line 3448 of file xasl_generation.c.
References parser_node::info, pt_statement_info::name, pt_is_name_node, PT_STOP_WALK, and pt_name_info::spec_id.
Referenced by pt_split_hash_attrs().
|
static |
Definition at line 3524 of file xasl_generation.c.
References parser_node::info, pt_query_info::is_subquery, and pt_statement_info::query.
Referenced by pt_uncorr_post().
|
static |
Definition at line 9991 of file xasl_generation.c.
References pt_expr_info::arg1, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_EQ, PT_EXPR, pt_to_regu_variable(), and UNBOX_AS_VALUE.
Referenced by pt_to_fetch_as_scan_proc().
|
static |
Definition at line 13362 of file xasl_generation.c.
References selupd_list::class_hfid, selupd_list::class_oid, COPY_OID, DB_NOT_PARTITIONED_CLASS, HFID_COPY, HFID_SET_NULL, regu_varlist_list_node::list, selupd_list::next, regu_varlist_list_node::next, NO_ERROR, NULL, OID_EQ, OID_SET_NULL, regu_alloc(), selupd_list::select_list, selupd_list::select_list_size, sm_get_ch_heap(), sm_partitioned_class_type(), and ws_identifier().
Referenced by pt_to_outlist().
|
static |
Definition at line 4774 of file xasl_generation.c.
References access_spec_node::access, ACCESS_METHOD_INDEX, assert, indx_info::coverage, DB_NOT_PARTITIONED_CLASS, access_spec_node::indexptr, access_spec_node::next, NULL, access_spec_node::pruning_type, regu_spec_alloc(), access_spec_node::type, access_spec_node::where_key, access_spec_node::where_pred, and access_spec_node::where_range.
Referenced by pt_make_class_access_spec(), pt_make_cselect_access_spec(), pt_make_json_table_access_spec(), pt_make_list_access_spec(), pt_make_set_access_spec(), and pt_make_showstmt_access_spec().
|
static |
Definition at line 17887 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, xasl_node::aptr_list, assert, free_and_init, xasl_node::insert, INSERT_PROC, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, regu_variable_list_node::next, xasl_node::next, parser_node::next, parser_node::node_type, NULL, insert_proc_node::num_val_lists, xasl_node::outptr_list, parser_append_node(), parser_free_tree(), parser_generate_xasl(), xasl_node::proc, PT_ERRORm, pt_get_select_list(), pt_has_error, PT_IS_QUERY_NODE_TYPE, pt_make_identity_offsets(), pt_make_list_access_spec(), pt_make_val_list(), pt_point(), pt_point_l(), pt_report_to_ersys(), PT_SEMANTIC, pt_to_position_regu_variable_list(), REGU_VARIABLE_UPD_INS_LIST, regu_xasl_node_alloc(), xasl_node::spec_list, UPDATE_PROC, xasl_node::val_list, insert_proc_node::valptr_lists, valptr_list_node::valptrp, regu_variable_list_node::value, XASL_CLEAR_FLAG, and XASL_TOP_MOST_XASL.
Referenced by pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), and pt_to_update_xasl().
|
static |
Definition at line 4904 of file xasl_generation.c.
References ACCESS_METHOD_INDEX_KEY_INFO, ACCESS_METHOD_INDEX_NODE_INFO, ACCESS_METHOD_SEQUENTIAL_PAGE_SCAN, ACCESS_METHOD_SEQUENTIAL_RECORD_INFO, assert, assert_release, cls_spec_node::attrids_key, cls_spec_node::attrids_pred, cls_spec_node::attrids_range, cls_spec_node::attrids_rest, BTREE_KEY_INFO_COUNT, BTREE_NODE_INFO_COUNT, cls_spec_node::cache_key, cls_spec_node::cache_pred, cls_spec_node::cache_range, cls_spec_node::cache_reserved, cls_spec_node::cache_rest, hybrid_node::cls_node, cls_spec_node::cls_oid, cls_spec_node::cls_output_val_list, cls_spec_node::cls_regu_list_key, cls_spec_node::cls_regu_list_pred, cls_spec_node::cls_regu_list_range, cls_spec_node::cls_regu_list_reserved, cls_spec_node::cls_regu_list_rest, cls_spec_node::cls_regu_val_list, DB_FETCH_READ, er_msg(), HEAP_PAGE_INFO_COUNT, HEAP_RECORD_INFO_COUNT, cls_spec_node::hfid, locator_fetch_class(), NO_ERROR, NULL, cls_spec_node::num_attrs_key, cls_spec_node::num_attrs_pred, cls_spec_node::num_attrs_range, cls_spec_node::num_attrs_reserved, cls_spec_node::num_attrs_rest, OID_ISNULL, access_spec_node::pruning_type, pt_cnt_attrs(), PT_ERRORc, pt_fill_in_attrid_array(), pt_make_access_spec(), regu_int_array_alloc(), access_spec_node::s, cls_spec_node::schema_type, sm_get_ch_heap(), sm_partitioned_class_type(), and WS_OID.
Referenced by pt_to_buildschema_proc(), and pt_to_class_spec_list().
|
static |
Definition at line 656 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, pt_select_info::after_cb_filter, connectby_proc_node::after_cb_regu_list_pred, connectby_proc_node::after_cb_regu_list_rest, connectby_proc_node::after_connect_by_pred, pt_select_info::check_cycles, xasl_node::connect_by, pt_select_info::connect_by, CONNECT_BY_CYCLES_IGNORE, CONNECT_BY_CYCLES_NONE, CONNECT_BY_CYCLES_NONE_IGNORE, CONNECTBY_PROC, qproc_db_value_list::dom, pt_select_info::flavor, pt_select_info::from, list_spec_node::hash_list_scan_yn, pt_select_info::hint, pt_spec_info::id, xasl_node::if_pred, parser_node::info, connectby_proc_node::input_list_id, xasl_node::instnum_val, xasl_node::iscycle_val, xasl_node::isleaf_val, xasl_node::level_val, hybrid_node::list_node, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, qproc_db_value_list::next, parser_node::next, NO_ERROR, NULL, OPTIMIZATION_ENABLED, xasl_node::ordbynum_val, xasl_node::outptr_list, parser_copy_tree_list(), parser_free_tree(), connectby_proc_node::prior_outptr_list, connectby_proc_node::prior_regu_list_pred, connectby_proc_node::prior_regu_list_rest, connectby_proc_node::prior_val_list, xasl_node::proc, pt_add_pseudocolumns_placeholders(), pt_copy_val_list(), PT_ERROR, pt_has_error, PT_HINT_NO_HASH_LIST_SCAN, PT_INTERNAL_ERROR, pt_make_list_access_spec(), pt_make_outlist_from_vallist(), pt_make_pos_regu_list(), pt_plan_single_table_hq_iterations(), pt_set_connect_by_operator_node_etc(), pt_set_iscycle_node_etc(), pt_set_isleaf_node_etc(), pt_set_level_node_etc(), pt_set_numbering_node_etc(), pt_set_qprior_node_etc(), pt_split_hash_attrs_for_HQ(), pt_split_if_instnum(), pt_split_pred_regu_list(), pt_to_instnum_pred(), pt_to_pred_expr(), pt_to_pred_terms(), pt_to_regu_variable_list(), PT_USER_SELECT, pt_query_info::q, qo_get_optimization_param(), QO_PARAM_LEVEL, pt_statement_info::query, regu_alloc(), connectby_proc_node::regu_list_pred, connectby_proc_node::regu_list_rest, regu_xasl_node_alloc(), access_spec_node::s, xasl_node::scan_ptr, pt_query_info::select, connectby_proc_node::single_table_opt, pt_select_info::single_table_opt, pt_statement_info::spec, xasl_node::spec_list, pt_select_info::start_with, connectby_proc_node::start_with_list_id, connectby_proc_node::start_with_pred, parser_context::symbols, UNBOX_AS_VALUE, qproc_db_value_list::val, val_list_node::val_cnt, xasl_node::val_list, val_list_node::valp, pt_select_info::where, XASL_HAS_NOCYCLE, XASL_IGNORE_CYCLES, and XASL_SET_FLAG.
Referenced by pt_set_connect_by_xasl().
|
static |
Definition at line 26416 of file xasl_generation.c.
References assert, ER_OUT_OF_VIRTUAL_MEMORY, i, qproc_db_value_list::next, regu_variable_list_node::next, NO_ERROR, NULL, regu_alloc(), TYPE_CONSTANT, val_list_node::val_cnt, val_list_node::valp, and regu_variable_list_node::value.
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 5252 of file xasl_generation.c.
References hybrid_node::method_node, method_spec_node::method_regu_list, method_spec_node::method_sig_list, NULL, pt_make_access_spec(), access_spec_node::s, TARGET_METHOD, and method_spec_node::xasl_node.
Referenced by pt_to_cselect_table_spec_list().
|
static |
Definition at line 6605 of file xasl_generation.c.
References pt_statement_info::function, pt_function_info::hidden_column, parser_node::info, NULL, pt_xasl_node_to_domain(), regu_alloc(), regu_dbval_type_init(), REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_SET_FLAG(), TYPE_FUNC, and regu_variable_list_node::value.
Referenced by pt_function_to_regu().
|
static |
Definition at line 2702 of file xasl_generation.c.
References i, NULL, and pt_length_of_list().
Referenced by pt_make_aptr_parent_node(), pt_make_regu_list_from_value_list(), pt_to_buildlist_proc(), and ptqo_to_list_scan_proc().
|
static |
Definition at line 5126 of file xasl_generation.c.
References ACCESS_METHOD_JSON_TABLE, hybrid_node::json_table_node, cubxasl::json_table::spec_node::m_json_reguvar, cubxasl::json_table::spec_node::m_node_count, cubxasl::json_table::spec_node::m_root_node, NULL, pt_make_access_spec(), pt_make_json_table_spec_node(), access_spec_node::s, and TARGET_JSON_TABLE.
Referenced by pt_to_json_table_spec_list().
|
static |
Definition at line 5106 of file xasl_generation.c.
References parser_node::info, pt_statement_info::json_table_node_info, pt_alloc_packing_buf(), pt_make_json_table_spec_node_internal(), and pt_json_table_info::tree.
Referenced by pt_make_json_table_access_spec().
|
static |
Definition at line 5049 of file xasl_generation.c.
References pt_json_table_node_info::columns, db_json_path_contains_wildcard(), i, if(), parser_node::info, pt_statement_info::json_table_node_info, cubxasl::json_table::node::m_id, cubxasl::json_table::node::m_is_iterable_node, cubxasl::json_table::node::m_nested_nodes, cubxasl::json_table::node::m_nested_nodes_size, cubxasl::json_table::node::m_output_columns, cubxasl::json_table::node::m_output_columns_size, cubxasl::json_table::node::m_path, pt_json_table_node_info::nested_paths, parser_node::next, NULL, pt_json_table_node_info::path, pt_alloc_packing_buf(), and pt_create_json_table_column().
Referenced by pt_make_json_table_spec_node().
|
static |
Definition at line 5157 of file xasl_generation.c.
References hybrid_node::list_node, list_spec_node::list_regu_list_build, list_spec_node::list_regu_list_pred, list_spec_node::list_regu_list_probe, list_spec_node::list_regu_list_rest, NULL, pt_make_access_spec(), access_spec_node::s, TARGET_LIST, and list_spec_node::xasl_node.
Referenced by pt_make_aptr_parent_node(), pt_make_connect_by_proc(), pt_to_cte_table_spec_list(), pt_to_fetch_as_scan_proc(), pt_to_subquery_table_spec_list(), and ptqo_to_list_scan_proc().
|
static |
Definition at line 22149 of file xasl_generation.c.
References qproc_db_value_list::dom, i, qproc_db_value_list::next, regu_variable_list_node::next, NULL, regu_alloc(), TYPE_CONSTANT, qproc_db_value_list::val, val_list_node::val_cnt, val_list_node::valp, valptr_list_node::valptr_cnt, and valptr_list_node::valptrp.
Referenced by pt_make_connect_by_proc(), pt_to_buildlist_proc(), and pt_to_class_spec_list().
|
static |
Definition at line 22200 of file xasl_generation.c.
References qproc_db_value_list::dom, i, qproc_db_value_list::next, regu_variable_list_node::next, NULL, pt_make_pos_regu_var_from_scratch(), regu_alloc(), qproc_db_value_list::val, and val_list_node::valp.
Referenced by pt_make_connect_by_proc().
|
static |
Definition at line 9545 of file xasl_generation.c.
References NULL, regu_alloc(), and TYPE_POSITION.
Referenced by pt_make_pos_regu_list(), and pt_set_connect_by_xasl().
|
static |
Definition at line 9516 of file xasl_generation.c.
References i, NULL, pt_xasl_node_to_domain(), regu_alloc(), and TYPE_POSITION.
Referenced by pt_attribute_to_regu().
|
static |
Definition at line 1220 of file xasl_generation.c.
References cubxasl::pred::bool_op, cubxasl::pred::lhs, cubxasl::pred_expr::m_pred, NULL, cubxasl::pred_expr::pe, regu_alloc(), cubxasl::pred::rhs, T_PRED, and cubxasl::pred_expr::type.
Referenced by pt_make_pred_term_is(), pt_to_buildlist_proc(), pt_to_pred_expr_local_with_arg(), pt_to_pred_expr_with_arg(), and pt_to_pred_terms().
|
static |
Definition at line 1277 of file xasl_generation.c.
References cubxasl::eval_term::et, cubxasl::eval_term::et_comp, cubxasl::eval_term::et_type, cubxasl::comp_eval_term::lhs, cubxasl::pred_expr::m_eval_term, NULL, cubxasl::pred_expr::pe, R_EXISTS, R_NULL, regu_alloc(), cubxasl::comp_eval_term::rel_op, cubxasl::comp_eval_term::rhs, T_COMP_EVAL_TERM, T_EVAL_TERM, cubxasl::comp_eval_term::type, and cubxasl::pred_expr::type.
Referenced by pt_make_pred_term_is(), and pt_to_pred_expr_local_with_arg().
|
static |
Definition at line 1416 of file xasl_generation.c.
References pt_value_info::data_value, DB_TYPE_INTEGER, DB_TYPE_NULL, pt_data_value::i, parser_node::info, NULL, parser_new_node(), PT_INTERNAL_ERROR, pt_make_pred_expr_pred(), pt_make_pred_term_comp(), pt_to_pred_expr(), pt_to_regu_variable(), PT_TYPE_INTEGER, PT_TYPE_LOGICAL, PT_TYPE_NULL, PT_VALUE, R_EQ, parser_node::type_enum, UNBOX_AS_VALUE, and pt_statement_info::value.
Referenced by pt_to_pred_expr_local_with_arg().
|
static |
Definition at line 1347 of file xasl_generation.c.
References cubxasl::like_eval_term::esc_char, cubxasl::eval_term::et, cubxasl::eval_term::et_like, cubxasl::eval_term::et_type, cubxasl::pred_expr::m_eval_term, NULL, cubxasl::like_eval_term::pattern, cubxasl::pred_expr::pe, regu_alloc(), cubxasl::like_eval_term::src, T_EVAL_TERM, T_LIKE_EVAL_TERM, and cubxasl::pred_expr::type.
Referenced by pt_to_pred_expr_local_with_arg().
Definition at line 1249 of file xasl_generation.c.
References cubxasl::pred_expr::m_not_term, NULL, cubxasl::pred_expr::pe, regu_alloc(), T_NOT_TERM, and cubxasl::pred_expr::type.
Referenced by pt_to_pred_expr_local_with_arg().
|
static |
Definition at line 1378 of file xasl_generation.c.
References cubxasl::rlike_eval_term::case_sensitive, cubxasl::rlike_eval_term::compiled_pattern, cubxasl::rlike_eval_term::compiled_regex, cubxasl::eval_term::et, cubxasl::eval_term::et_rlike, cubxasl::eval_term::et_type, cubxasl::pred_expr::m_eval_term, NULL, cubxasl::rlike_eval_term::pattern, cubxasl::pred_expr::pe, regu_alloc(), cubxasl::rlike_eval_term::src, T_EVAL_TERM, T_RLIKE_EVAL_TERM, and cubxasl::pred_expr::type.
Referenced by pt_to_pred_expr_local_with_arg().
|
static |
Definition at line 1313 of file xasl_generation.c.
References cubxasl::alsm_eval_term::elem, cubxasl::alsm_eval_term::elemset, cubxasl::alsm_eval_term::eq_flag, cubxasl::eval_term::et, cubxasl::eval_term::et_alsm, cubxasl::eval_term::et_type, cubxasl::alsm_eval_term::item_type, cubxasl::pred_expr::m_eval_term, NULL, cubxasl::pred_expr::pe, regu_alloc(), cubxasl::alsm_eval_term::rel_op, T_ALSM_EVAL_TERM, T_EVAL_TERM, and cubxasl::pred_expr::type.
Referenced by pt_to_pred_expr_local_with_arg().
|
static |
Definition at line 7344 of file xasl_generation.c.
References assert, i, parser_node::next, qo_xasl_index_info::nterms, NULL, parser_append_node(), parser_copy_tree_list(), parser_free_tree(), parser_get_tree_list_diff(), pt_split_if_instnum(), and qo_xasl_index_info::term_exprs.
Referenced by pt_to_class_spec_list().
PT_NODE* pt_make_prim_data_type | ( | PARSER_CONTEXT * | parser, |
PT_TYPE_ENUM | e | ||
) |
Definition at line 7128 of file xasl_generation.c.
References pt_data_type_info::collation_flag, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, DB_DEFAULT_NUMERIC_SCALE, DB_MAX_BIT_PRECISION, DB_MAX_CHAR_PRECISION, DB_MAX_NCHAR_PRECISION, DB_MAX_NUMERIC_PRECISION, DB_MAX_VARBIT_PRECISION, DB_MAX_VARCHAR_PRECISION, DB_MAX_VARNCHAR_PRECISION, pt_data_type_info::dec_precision, parser_node::info, INTL_CODESET_RAW_BITS, LANG_COERCIBLE_CODESET, LANG_COERCIBLE_COLL, NULL, parser_free_tree(), parser_new_node(), pt_data_type_info::precision, PT_DATA_TYPE, PT_HAS_COLLATION, PT_INTERNAL_ERROR, PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_MONETARY, PT_TYPE_NCHAR, PT_TYPE_NUMERIC, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, TP_DOMAIN_COLL_NORMAL, parser_node::type_enum, and pt_data_type_info::units.
Referenced by pt_eval_expr_type(), pt_eval_function_type_old(), pt_to_regu_variable(), pt_upd_domain_info(), and func_type::Node::set_return_type().
PT_NODE* pt_make_prim_data_type_fortonum | ( | PARSER_CONTEXT * | parser, |
int | prec, | ||
int | scale | ||
) |
Definition at line 7097 of file xasl_generation.c.
References pt_statement_info::data_type, DB_MAX_NUMERIC_PRECISION, pt_data_type_info::dec_precision, parser_node::info, NULL, parser_free_tree(), parser_new_node(), pt_data_type_info::precision, PT_DATA_TYPE, PT_TYPE_NUMERIC, and parser_node::type_enum.
Referenced by pt_to_regu_variable(), and pt_upd_domain_info().
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().
|
static |
Definition at line 6279 of file xasl_generation.c.
References db_get_object(), db_get_set(), db_identifier(), DB_IS_NULL, db_make_null(), db_make_object(), DB_TYPE_OBJECT, db_value_clone(), DB_VALUE_DOMAIN_TYPE, db_value_put_null(), db_value::domain, NO_ERROR, NULL, pr_clear_value(), pr_is_set_type(), pt_register_orphan_db_value(), pt_xasl_node_to_domain(), regu_alloc(), regu_make_constant_vid(), set_has_objs(), setof_mop_to_setof_vobj(), tp_domain_resolve_default(), tp_Vobj_domain, TYPE_CONSTANT, TYPE_DBVAL, WS_ISVID, and ws_mop().
Referenced by pt_make_vid(), and pt_to_regu_variable().
|
static |
Definition at line 6094 of file xasl_generation.c.
References parser_node::data_type, db_get_string_codeset(), db_get_string_collation(), db_string_put_cs_and_collation(), DB_TYPE_NULL, db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, db_value_precision(), db_value_scale(), parser_context::dbval_cnt, db_value::domain, DOMAIN_COMPATIBLE, ER_TP_CANT_COERCE, parser_node::expected_domain, parser_context::flag, pt_statement_info::host_var, parser_context::host_variables, pt_host_var_info::index, parser_node::info, MSGCAT_SET_ERROR, NULL, pr_type_name(), pt_db_to_type_enum(), PT_ERRORmf2, PT_INTERNAL_ERROR, pt_xasl_node_to_domain(), pt_xasl_type_enum_to_domain(), regu_alloc(), parser_context::set_host_var, tp_domain_cache(), TP_DOMAIN_CODESET, TP_DOMAIN_COLLATION, tp_domain_copy(), TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, TP_TYPE_HAS_COLLATION, tp_value_cast(), parser_node::type_enum, and TYPE_POS_VALUE.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 6859 of file xasl_generation.c.
References assert, db_value_create(), xasl_node::insert, parser_node::node_type, NULL, insert_proc_node::obj_oid, xasl_node::proc, PT_INSERT, pt_to_insert_xasl(), pt_xasl_node_to_domain(), regu_alloc(), xasl_node::type, TYPE_CONSTANT, XASL_LINK_TO_REGU_VARIABLE, and XASL_SET_FLAG.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 21987 of file xasl_generation.c.
References parser_node::etc, if(), NULL, PT_INTERNAL_ERROR, regu_alloc(), tp_Integer_domain, and TYPE_CONSTANT.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 21889 of file xasl_generation.c.
References parser_node::etc, if(), NULL, PT_INTERNAL_ERROR, regu_alloc(), tp_Integer_domain, and TYPE_CONSTANT.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 21792 of file xasl_generation.c.
References parser_node::etc, if(), NULL, PT_INTERNAL_ERROR, regu_alloc(), tp_Integer_domain, and TYPE_CONSTANT.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 26372 of file xasl_generation.c.
References assert, free_and_init, NULL, pt_make_identity_offsets(), and pt_to_position_regu_variable_list().
Referenced by pt_node_list_to_value_and_reguvar_list().
|
static |
Definition at line 7025 of file xasl_generation.c.
References assert, parser_node::etc, pt_statement_info::expr, if(), parser_node::info, MSGCAT_SEMANTIC_INSTORDERBY_NUM_NOT_ALLOWED, MSGCAT_SET_PARSER_SEMANTIC, NULL, pt_expr_info::op, PT_ERRORmf, pt_has_error, PT_INST_NUM, PT_ORDERBY_NUM, PT_ROWNUM, pt_xasl_node_to_domain(), regu_alloc(), and TYPE_CONSTANT.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 6435 of file xasl_generation.c.
References DB_TYPE_INTEGER, 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, T_PREDICATE, arith_list_node::thirdptr, tp_domain_resolve_default(), TP_DOMAIN_TYPE, TYPE_INARITH, and arith_list_node::value.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 6216 of file xasl_generation.c.
References assert, regu_value_list::count, regu_value_list::current_value, parser_node::info, pt_node_list_info::list, regu_value_item::next, parser_node::next_row, pt_statement_info::node_list, NULL, pt_to_regu_variable(), regu_alloc(), regu_value_list::regu_list, TYPE_REGUVAL_LIST, and regu_value_item::value.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 6793 of file xasl_generation.c.
References xasl_node::is_single_tuple, qfile_sorted_list_id::list_id, xasl_node::list_id, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NULL, PT_ERRORm, pt_make_val_list(), pt_xasl_node_to_domain(), regu_alloc(), xasl_node::single_tuple, TYPE_CONSTANT, TYPE_LIST_ID, UNBOX_AS_TABLE, qproc_db_value_list::val, val_list_node::valp, XASL_LINK_TO_REGU_VARIABLE, and XASL_SET_FLAG.
Referenced by pt_to_regu_variable().
|
static |
Definition at line 9398 of file xasl_generation.c.
References i, NULL, PT_GET_RESERVED_NAME_FIRST_AND_LAST, and regu_alloc().
Referenced by pt_to_class_spec_list().
|
static |
Definition at line 5218 of file xasl_generation.c.
References NULL, pt_make_access_spec(), access_spec_node::s, hybrid_node::set_node, set_spec_node::set_ptr, set_spec_node::set_regu_list, and TARGET_SET.
Referenced by pt_to_set_expr_table_spec_list().
|
static |
Definition at line 5191 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, showstmt_spec_node::arg_list, NULL, pt_make_access_spec(), access_spec_node::s, showstmt_spec_node::show_type, hybrid_node::showstmt_node, and TARGET_SHOWSTMT.
Referenced by pt_to_showstmt_spec_list().
|
static |
Definition at line 4596 of file xasl_generation.c.
References pt_spec_info::as_attr_list, table_info::attribute_list, table_info::class_spec, table_info::exposed, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NULL, pt_name_info::original, PT_ERRORm, pt_make_val_list(), PT_SPEC_IS_ENTITY, pt_table_info_alloc(), pt_spec_info::range_var, pt_spec_info::referenced_attrs, pt_statement_info::spec, table_info::spec_id, and table_info::value_list.
Referenced by pt_append_assignment_references(), pt_init_pred_expr_context(), pt_push_fetch_spec_info(), pt_push_symbol_info(), pt_to_constraint_pred(), pt_to_func_pred(), pt_to_insert_xasl(), and pt_to_odku_info().
|
static |
Definition at line 3811 of file xasl_generation.c.
References qproc_db_value_list::dom, qproc_db_value_list::next, parser_node::next, NULL, pt_data_type_init_value(), pt_xasl_node_to_domain(), regu_alloc(), qproc_db_value_list::val, val_list_node::val_cnt, and val_list_node::valp.
Referenced by pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_make_aptr_parent_node(), pt_make_regu_subquery(), pt_make_table_info(), pt_node_list_to_value_and_reguvar_list(), pt_to_buildlist_proc(), pt_to_insert_xasl(), and pt_to_outlist().
|
static |
Definition at line 6486 of file xasl_generation.c.
References pt_statement_info::data_type, db_identifier(), db_make_oid(), DB_TYPE_OID, DB_TYPE_VOBJ, F_VID, parser_node::info, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NULL, OID_SET_NULL, PT_ERROR, pt_make_regu_constant(), regu_alloc(), regu_dbval_type_init(), tp_Vobj_domain, TYPE_FUNC, and pt_data_type_info::virt_object.
Referenced by pt_attribute_to_regu(), and pt_function_to_regu().
|
static |
Definition at line 19516 of file xasl_generation.c.
References assert, pt_spec_info::derived_table, pt_spec_info::flag, pt_select_info::from, parser_node::info, parser_node::next, parser_node::node_type, NULL, PT_SELECT, PT_SPEC_FLAG_FOR_UPDATE_CLAUSE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_statement_info::spec.
Referenced by pt_to_delete_xasl(), pt_to_merge_update_query(), pt_to_upd_del_query(), and pt_to_update_xasl().
|
static |
Definition at line 22665 of file xasl_generation.c.
References regu_variable_list_node::next, and NULL.
Referenced by pt_add_regu_var_to_list(), pt_aggregate_info_update_scan_regu_list(), and pt_aggregate_info_update_value_and_reguvar_lists().
|
static |
Definition at line 15087 of file xasl_generation.c.
References assert, analytic_key_metadomain::children, i, analytic_key_metadomain::key, analytic_key_metadomain::level, and NULL.
Referenced by pt_optimize_analytic_list().
|
static |
Definition at line 14991 of file xasl_generation.c.
References assert, i, analytic_key_metadomain::links, analytic_key_metadomain::links_count, NULL, and pt_metadomains_compatible().
Referenced by pt_optimize_analytic_list().
|
static |
Definition at line 14800 of file xasl_generation.c.
References ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS, assert, analytic_key_metadomain::children, analytic_key_metadomain::demoted, i, analytic_key_metadomain::key, analytic_key_metadomain::key_size, analytic_key_metadomain::level, analytic_key_metadomain::links, analytic_key_metadomain::links_count, NULL, cubxasl::analytic_list_node::opr_dbtype, analytic_key_metadomain::part_size, QPROC_IS_INTERPOLATION_FUNC, analytic_key_metadomain::source, and TP_IS_STRING_TYPE.
Referenced by pt_metadomain_build_comp_graph(), and pt_optimize_analytic_list().
|
static |
Definition at line 19284 of file xasl_generation.c.
References parser_node::info, mq_get_references(), NO_ERROR, NULL, parser_free_tree(), pt_get_next_assignment(), pt_init_assignments_helper(), PT_SPEC_FLAG_MVCC_ASSIGN_REEV, pt_spec_info::referenced_attrs, pt_assignments_helper::rhs, and pt_statement_info::spec.
Referenced by pt_to_update_xasl().
|
static |
Definition at line 19242 of file xasl_generation.c.
References pt_spec_info::flag, parser_node::info, mq_get_references(), NO_ERROR, NULL, parser_free_tree(), PT_SPEC_FLAG_MVCC_COND_REEV, pt_spec_info::referenced_attrs, and pt_statement_info::spec.
Referenced by pt_to_delete_xasl(), and pt_to_update_xasl().
|
static |
Definition at line 19405 of file xasl_generation.c.
References assert, pt_select_info::from, parser_node::info, pt_select_info::list, pt_query_info::mvcc_reev_extra_cls_cnt, parser_node::next, parser_node::node_type, NULL, pt_add_row_classoid_name(), pt_add_row_oid_name(), PT_INTERNAL_ERROR, PT_SELECT, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_MVCC_ASSIGN_REEV, PT_SPEC_FLAG_MVCC_COND_REEV, PT_SPEC_FLAG_UPDATE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_query_info::upd_del_class_cnt.
Referenced by pt_to_delete_xasl(), and pt_to_update_xasl().
|
static |
Definition at line 19338 of file xasl_generation.c.
References assert, cubregex::count(), pt_spec_info::id, parser_node::info, pt_assignments_helper::lhs, mq_get_references(), pt_statement_info::name, NULL, parser_free_tree(), pt_get_next_assignment(), pt_init_assignments_helper(), PT_SPEC_FLAG_MVCC_ASSIGN_REEV, PT_SPEC_FLAG_MVCC_COND_REEV, pt_spec_info::referenced_attrs, pt_assignments_helper::rhs, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_to_update_xasl().
|
static |
Definition at line 26344 of file xasl_generation.c.
References assert, NULL, pt_make_regu_list_from_value_list(), and pt_make_val_list().
Referenced by pt_to_aggregate_node().
|
static |
Definition at line 3429 of file xasl_generation.c.
References parser_node::info, parser_node::node_type, NULL, PT_IS_QUERY_NODE_TYPE, pt_statement_info::query, and pt_query_info::xasl.
Referenced by pt_to_insert_xasl().
|
static |
Definition at line 23239 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_statement_info::expr, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_EXPR, PT_FUNCTION, PT_GROUPBY_NUM, PT_IS_NUMBERING_AFTER_EXECUTION, PT_PRED_ARG_GRBYNUM_CONTINUE, PT_PRED_ARG_INSTNUM_CONTINUE, PT_PRED_ARG_ORDBYNUM_CONTINUE, PT_TYPE_LOGICAL, and parser_node::type_enum.
Referenced by pt_to_pred_expr_with_arg().
|
static |
Definition at line 15425 of file xasl_generation.c.
References analitic_key_metadomain_Initializer, ANALYTIC_OPT_MAX_FUNCTIONS, ANALYTIC_OPT_MAX_SORT_LIST_COLUMNS, assert, analytic_key_metadomain::children, analytic_key_metadomain::demoted, analytic_info::head_list, i, parser_node::info, analytic_key_metadomain::key_size, analytic_key_metadomain::level, analytic_key_metadomain::links, analytic_key_metadomain::links_count, cubxasl::analytic_list_node::next, cubxasl::analytic_eval_type::next, parser_node::next, pt_pointer_info::node, NULL, analytic_key_metadomain::part_size, pt_statement_info::pointer, pt_analytic_to_metadomain(), pt_build_analytic_eval_list(), pt_is_analytic_eval_list_valid(), pt_metadomain_adjust_key_prefix(), pt_metadomain_build_comp_graph(), pt_metadomains_compatible(), analytic_info::sort_lists, and analytic_key_metadomain::source.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 23052 of file xasl_generation.c.
References access_spec_node::access, ACCESS_METHOD_INDEX, assert, db_private_free, ER_FAILED, access_spec_node::indexptr, indx_info::key_info, NO_ERROR, NULL, xasl_node::ordbynum_pred, xasl_node::orderby_list, qo_plan::plan_un, pt_find_oid_scan_block(), PT_INTERNAL_ERROR, pt_to_key_limit(), qo_find_subplan_using_multi_range_opt(), qo_get_key_limit_from_ordbynum(), qo_plan::scan, xasl_node::spec_list, TARGET_CLASS, access_spec_node::type, and access_spec_node::where_pred.
Referenced by pt_set_limit_optimization_flags(), and pt_to_buildvalue_proc().
|
static |
Definition at line 16915 of file xasl_generation.c.
References xasl_node::cardinality, xasl_node::cte, pt_statement_info::cte, pt_query_info::flag, if(), parser_node::info, xasl_node::is_single_tuple, pt_query_info::limit, xasl_node::limit_offset, xasl_node::limit_row_count, parser_node::next, cte_proc_node::non_recursive_part, pt_cte_info::non_recursive_part, NULL, xasl_node::proc, xasl_node::projected_size, PT_INTERNAL_ERROR, pt_to_regu_variable(), pt_statement_info::query, cte_proc_node::recursive_part, pt_cte_info::recursive_part, regu_xasl_node_alloc(), pt_query_info::single_tuple, UNBOX_AS_VALUE, and pt_query_info::xasl.
Referenced by parser_generate_xasl_proc().
|
static |
Definition at line 17036 of file xasl_generation.c.
References parser_node::alias_print, parser_context::context, parser_context::custom_print, pt_spec_info::derived_table_type, DETAILED_DUMP, parser_node::flag, pt_select_info::from, pt_select_info::group_by, indx_info::groupby_skip, pt_select_info::hint, pt_select_info::index_ls, pt_select_info::index_ss, access_spec_node::indexptr, parser_node::info, pt_query_info::is_subquery, parser_node::is_system_generated_stmt, parser_node::node_type, NULL, pt_query_info::order_by, indx_info::orderby_skip, pt_select_info::ordered, parser_alloc(), parser_free_tree(), parser_print_tree(), port_close_memstream(), port_open_memstream(), prm_get_integer_value(), PRM_ID_QUERY_TRACE_FORMAT, pt_alloc_packing_buf(), PT_CONVERT_RANGE, PT_HINT_NONE, PT_IS_CTE_NON_REC_SUBQUERY, PT_IS_CTE_REC_SUBQUERY, PT_IS_SHOWSTMT, pt_is_single_tuple(), PT_NODE_PRINT_TO_ALIAS, PT_SELECT, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_IS_FLAGED, pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_query_info::q, qo_get_optimization_param(), qo_need_skip_execution(), qo_optimize_query(), QO_PARAM_LEVEL, qo_plan_discard(), qo_plan_dump(), qo_plan_lite_print(), qo_top_plan_print_json(), qo_top_plan_print_text(), pt_statement_info::query, query_Plan_dump_fp, parser_context::query_trace, QUERY_TRACE_JSON, QUERY_TRACE_TEXT, pt_query_info::select, SIMPLE_DUMP, pt_statement_info::spec, xasl_node::spec_list, compile_context::sql_plan_alloc_size, compile_context::sql_plan_text, strlen, pt_select_info::use_idx, pt_select_info::use_merge, and pt_select_info::use_nl.
Referenced by parser_generate_xasl_proc().
|
static |
Definition at line 16985 of file xasl_generation.c.
References parser_context::custom_print, NULL, parser_print_tree(), PT_CONVERT_RANGE, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_IDX_SCHEMA, PT_SELECT_INFO_IS_FLAGED, pt_to_buildschema_proc(), qo_get_optimization_param(), QO_PARAM_LEVEL, and query_Plan_dump_fp.
Referenced by parser_generate_xasl_proc().
|
static |
Definition at line 16897 of file xasl_generation.c.
References pt_to_union_proc().
Referenced by parser_generate_xasl_proc().
|
static |
Definition at line 1131 of file xasl_generation.c.
References parser_node::alias_print, pt_select_info::hint, pt_select_info::index_ls, pt_select_info::index_ss, parser_node::info, NULL, pt_select_info::ordered, PT_HINT_NONE, pt_query_info::q, qo_add_hq_iterations_access_spec(), qo_get_optimization_param(), qo_optimize_query(), QO_PARAM_LEVEL, qo_plan_discard(), qo_plan_dump(), pt_statement_info::query, query_Plan_dump_fp, pt_query_info::select, pt_select_info::use_idx, pt_select_info::use_merge, and pt_select_info::use_nl.
Referenced by pt_make_connect_by_proc().
|
static |
Definition at line 4742 of file xasl_generation.c.
References NULL, pt_has_error, PT_INTERNAL_ERROR, symbol_info::stack, and parser_context::symbols.
Referenced by parser_generate_xasl_post().
|
static |
Definition at line 4640 of file xasl_generation.c.
References parser_node::info, table_info::is_fetch, table_info::next, parser_node::next, NULL, pt_spec_info::path_entities, pt_make_table_info(), pt_statement_info::spec, and symbol_info::table_info.
Referenced by pt_push_symbol_info().
|
static |
Definition at line 4678 of file xasl_generation.c.
References symbol_info::current_class, symbol_info::current_listfile, pt_select_info::from, parser_node::info, symbol_info::listfile_unbox, table_info::next, parser_node::next, parser_node::node_type, NULL, pt_spec_info::path_entities, pt_filter_pseudo_specs(), pt_make_table_info(), pt_push_fetch_spec_info(), PT_SELECT, pt_symbol_info_alloc(), pt_query_info::q, pt_statement_info::query, symbol_info::query_node, pt_query_info::select, pt_statement_info::spec, symbol_info::stack, parser_context::symbols, symbol_info::table_info, and UNBOX_AS_VALUE.
Referenced by parser_generate_xasl_pre().
|
static |
Definition at line 2532 of file xasl_generation.c.
References pt_union_info::arg1, pt_select_info::from, parser_node::info, mq_set_references(), parser_node::next, parser_node::node_type, PT_DIFFERENCE, PT_INTERSECTION, PT_UNION, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_query_info::union_.
Referenced by parser_generate_xasl_pre().
|
static |
Definition at line 9483 of file xasl_generation.c.
References NULL, pt_has_error, PT_INTERNAL_ERROR, TYPE_CONSTANT, and TYPE_DBVAL.
Referenced by pt_clone_val_list(), pt_to_fetch_as_scan_proc(), and pt_to_fetch_proc().
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().
|
static |
Definition at line 26004 of file xasl_generation.c.
References assert, BTREE_KEY_INFO_FIRST_OID, BTREE_KEY_INFO_KEY, BTREE_KEY_INFO_OID_COUNT, BTREE_KEY_INFO_OVERFLOW_KEY, BTREE_KEY_INFO_OVERFLOW_OIDS, BTREE_KEY_INFO_PAGEID, BTREE_KEY_INFO_SLOTID, BTREE_KEY_INFO_VOLUMEID, BTREE_NODE_INFO_FIRST_KEY, BTREE_NODE_INFO_KEY_COUNT, BTREE_NODE_INFO_LAST_KEY, BTREE_NODE_INFO_NODE_TYPE, BTREE_NODE_INFO_PAGEID, BTREE_NODE_INFO_VOLUMEID, HEAP_PAGE_INFO_ALIGNMENT, HEAP_PAGE_INFO_ANCHOR_TYPE, HEAP_PAGE_INFO_CLASS_OID, HEAP_PAGE_INFO_CONT_FREE, HEAP_PAGE_INFO_IS_SAVING, HEAP_PAGE_INFO_NEXT_PAGE, HEAP_PAGE_INFO_NUM_RECORDS, HEAP_PAGE_INFO_NUM_SLOTS, HEAP_PAGE_INFO_OFFSET_TO_FREE_AREA, HEAP_PAGE_INFO_PREV_PAGE, HEAP_PAGE_INFO_TOTAL_FREE, HEAP_PAGE_INFO_UPDATE_BEST, HEAP_RECORD_INFO_T_CHN, HEAP_RECORD_INFO_T_LENGTH, HEAP_RECORD_INFO_T_MVCC_DELID, HEAP_RECORD_INFO_T_MVCC_FLAGS, HEAP_RECORD_INFO_T_MVCC_INSID, HEAP_RECORD_INFO_T_MVCC_PREV_VERSION, HEAP_RECORD_INFO_T_OFFSET, HEAP_RECORD_INFO_T_PAGEID, HEAP_RECORD_INFO_T_REC_TYPE, HEAP_RECORD_INFO_T_REPRID, HEAP_RECORD_INFO_T_SLOTID, HEAP_RECORD_INFO_T_VOLUMEID, RESERVED_BT_NODE_FIRST_KEY, RESERVED_BT_NODE_KEY_COUNT, RESERVED_BT_NODE_LAST_KEY, RESERVED_BT_NODE_PAGEID, RESERVED_BT_NODE_TYPE, RESERVED_BT_NODE_VOLUMEID, RESERVED_KEY_FIRST_OID, RESERVED_KEY_KEY, RESERVED_KEY_OID_COUNT, RESERVED_KEY_OVERFLOW_KEY, RESERVED_KEY_OVERFLOW_OIDS, RESERVED_KEY_PAGEID, RESERVED_KEY_SLOTID, RESERVED_KEY_VOLUMEID, RESERVED_NAME_INVALID, RESERVED_P_ALIGNMENT, RESERVED_P_ANCHOR_TYPE, RESERVED_P_CLASS_OID, RESERVED_P_CONT_FREE, RESERVED_P_IS_SAVING, RESERVED_P_NEXT_PAGEID, RESERVED_P_NUM_RECORDS, RESERVED_P_NUM_SLOTS, RESERVED_P_OFFSET_TO_FREE_AREA, RESERVED_P_PREV_PAGEID, RESERVED_P_TOTAL_FREE, RESERVED_P_UPDATE_BEST, RESERVED_T_CHN, RESERVED_T_LENGTH, RESERVED_T_MVCC_DELID, RESERVED_T_MVCC_FLAGS, RESERVED_T_MVCC_INSID, RESERVED_T_MVCC_PREV_VERSION_LSA, RESERVED_T_OFFSET, RESERVED_T_PAGEID, RESERVED_T_REC_TYPE, RESERVED_T_REPRID, RESERVED_T_SLOTID, and RESERVED_T_VOLUMEID.
Referenced by pt_to_regu_reserved_name().
|
static |
Definition at line 24094 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, assert, CAST_POINTER_TO_NODE, parser_node::etc, pt_statement_info::expr, pt_statement_info::function, parser_node::info, parser_node::next, pt_pointer_info::node, NULL, pt_statement_info::pointer, PT_INTERNAL_ERROR, PT_IS_EXPR_NODE, PT_IS_FUNCTION, PT_IS_POINTER_REF_NODE, and val_list_node::valp.
Referenced by pt_to_analytic_node(), and pt_to_buildlist_proc().
|
static |
Definition at line 17734 of file xasl_generation.c.
References pt_expr_info::arg1, ARG_FILE_LINE, assert, db_identifier(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), pt_statement_info::expr, free_and_init, parser_node::info, NULL, NULL_LOCK, oid_compare(), OID_LIST_GROWTH, pt_expr_info::op, PT_IS_EXPR_NODE, PT_IS_SERIAL, pt_resolve_serial(), and XASL_SERIAL_OID_TCARD.
Referenced by parser_generate_xasl_post().
|
static |
Definition at line 23980 of file xasl_generation.c.
References assert, DB_TYPE_NULL, parser_node::etc, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NULL, PT_ERROR, PT_IS_ANALYTIC_NODE, regu_alloc(), and regu_dbval_type_init().
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 13026 of file xasl_generation.c.
References xasl_node::aptr_list, pt_append_xasl(), pt_remove_xasl(), and pt_to_uncorr_subquery_list().
Referenced by pt_to_buildlist_proc(), pt_to_buildvalue_proc(), and pt_to_union_proc().
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().
|
static |
Definition at line 22021 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_CONNECT_BY_ROOT, PT_EXPR, and PT_SYS_CONNECT_BY_PATH.
Referenced by pt_set_connect_by_operator_node_etc().
|
static |
Definition at line 13043 of file xasl_generation.c.
References xasl_node::connect_by_ptr, pt_query_info::flag, parser_node::info, xasl_node::iscycle_regu, xasl_node::iscycle_val, xasl_node::isleaf_regu, xasl_node::isleaf_val, xasl_node::level_regu, xasl_node::level_val, NULL, pt_query_info::order_siblings, xasl_node::orderby_list, xasl_node::outptr_list, PCOL_ISCYCLE_TUPLE_OFFSET, PCOL_ISLEAF_TUPLE_OFFSET, PCOL_LEVEL_TUPLE_OFFSET, pt_make_connect_by_proc(), pt_make_pos_regu_var_from_scratch(), pt_to_order_siblings_by(), pt_statement_info::query, tp_Integer_domain, valptr_list_node::valptr_cnt, XASL_HAS_CONNECT_BY, and XASL_SET_FLAG.
Referenced by 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().
|
static |
Definition at line 3367 of file xasl_generation.c.
References parser_node::flag, parser_node::is_system_generated_stmt, parser_node::node_type, and PT_IS_QUERY_NODE_TYPE.
Referenced by parser_generate_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().
|
static |
Definition at line 21924 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_CONNECT_BY_ISCYCLE, PT_EXPR, and regu_alloc().
Referenced by pt_set_iscycle_node_etc().
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().
|
static |
Definition at line 21826 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_CONNECT_BY_ISLEAF, PT_EXPR, and regu_alloc().
Referenced by pt_set_isleaf_node_etc().
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().
|
static |
Definition at line 21729 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_EXPR, PT_LEVEL, and regu_alloc().
Referenced by pt_set_level_node_etc().
|
static |
Definition at line 26195 of file xasl_generation.c.
References qo_info::env, err, xasl_node::header, qo_plan::info, MRO_CANDIDATE, MRO_IS_USED, qo_plan::multi_range_opt_use, NO_ERROR, NULL, PLAN_MULTI_RANGE_OPT_CAN_USE, pt_ordbynum_to_key_limit_multiple_ranges(), qo_has_sort_limit_subplan(), qo_plan_multi_range_opt(), QO_SL_INVALID, QO_SL_POSSIBLE, QO_SL_USE, SORT_LIMIT_CANDIDATE, SORT_LIMIT_USED, qo_env::use_sort_limit, and xasl_node_header::xasl_flag.
Referenced by pt_to_buildlist_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().
|
static |
Definition at line 6909 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, set_numbering_node_etc_info::instnum_valp, parser_node::node_type, NULL, pt_expr_info::op, set_numbering_node_etc_info::ordbynum_valp, PT_EXPR, PT_FUNCTION, PT_INST_NUM, PT_ORDERBY_NUM, PT_ROWNUM, PT_SORT_SPEC, PT_STOP_WALK, and regu_alloc().
Referenced by pt_set_numbering_node_etc().
PT_NODE* pt_set_orderby_for_sort_limit_plan | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
PT_NODE * | nodes_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().
|
static |
Definition at line 22082 of file xasl_generation.c.
References parser_node::etc, pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_DIFFERENCE, PT_EXPR, PT_INTERSECTION, PT_PRIOR, PT_QPRIOR, PT_SELECT, PT_STOP_WALK, and PT_UNION.
Referenced by pt_set_qprior_node_etc().
|
static |
Definition at line 26456 of file xasl_generation.c.
References assert, NULL, and TYPE_POSITION.
Referenced by pt_to_aggregate_node().
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().
|
static |
Definition at line 15038 of file xasl_generation.c.
References assert, i, analytic_key_metadomain::key, analytic_key_metadomain::key_size, parser_node::next, NULL, parser_append_node(), parser_copy_tree(), parser_free_tree(), PT_INTERNAL_ERROR, pt_to_sort_list(), and SORT_LIST_ANALYTIC_WINDOW.
Referenced by pt_build_analytic_eval_list().
|
static |
|
static |
Definition at line 17526 of file xasl_generation.c.
References assert, au_fetch_class(), AU_FETCH_READ, AU_SELECT, DB_FETCH_QUERY_READ, pt_name_info::db_object, error(), pt_spec_info::flag, pt_spec_info::flat_entity_list, free_and_init, class_stats::heap_num_pages, parser_node::info, is_class(), IS_LOCK, IX_LOCK, locator_is_class(), lock_Conv, pt_statement_info::name, parser_node::next, NO_ERROR, NULL, NULL_LOCK, oid_compare(), OID_ISTEMP, OID_LIST_GROWTH, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_UPDATE, pt_statement_info::spec, sm_class::stats, sm_class::tde_algorithm, TDE_ALGORITHM_NONE, pt_name_info::virt_object, ws_identifier(), WS_OID, and XASL_CLASS_NO_TCARD.
|
static |
Definition at line 2572 of file xasl_generation.c.
References ENTITY_COMPATIBLE, parser_node::next, NULL, parser_walk_tree(), pt_check_instnum_post(), pt_check_instnum_pre(), and pt_table_compatible().
Referenced by pt_gen_simple_plan().
|
static |
Definition at line 2752 of file xasl_generation.c.
References assert, table_info::attribute_list, CAST_POINTER_TO_NODE, table_info::class_spec, ER_FAILED, free_and_init, i, parser_node::info, pt_name_info::meta_class, mq_get_references_helper(), pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, parser_append_node(), parser_free_tree(), pt_find_attribute(), pt_length_of_list(), PT_NAME, pt_point(), PT_RESERVED, PT_SHOULD_BIND_RESERVED_NAME, pt_spec_info::referenced_attrs, and pt_statement_info::spec.
Referenced by pt_get_mvcc_reev_range_data(), pt_to_class_spec_list(), pt_to_cte_table_spec_list(), pt_to_fetch_as_scan_proc(), and pt_to_subquery_table_spec_list().
|
static |
Definition at line 2928 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, assert, table_info::attribute_list, CAST_POINTER_TO_NODE, ER_FAILED, pt_statement_info::expr, parser_node::info, parser_node::next, NO_ERROR, NULL, parser_append_node(), parser_copy_tree(), parser_free_tree(), parser_walk_tree(), pt_is_expr_node, pt_is_spec_node(), and table_info::spec_id.
Referenced by pt_to_subquery_table_spec_list().
|
static |
Definition at line 3026 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, assert, BUILD, CAST_POINTER_TO_NODE, CHECK_HASH_ATTR, CONSTANT, ER_FAILED, pt_statement_info::expr, parser_node::info, parser_node::next, NO_ERROR, NULL, parser_node::or_next, parser_append_node(), parser_copy_tree(), parser_free_tree(), parser_walk_tree(), PROBE, pt_check_hashable(), PT_EQ, pt_find_hq_op_except_prior(), and PT_IS_EXPR_NODE_WITH_OPERATOR.
Referenced by pt_make_connect_by_proc().
|
static |
Definition at line 2663 of file xasl_generation.c.
References parser_node::next, NULL, parser_walk_tree(), pt_check_groupbynum_post(), and pt_check_groupbynum_pre().
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 2623 of file xasl_generation.c.
References parser_node::next, NULL, parser_walk_tree(), pt_check_instnum_post(), and pt_check_instnum_pre().
Referenced by pt_gen_simple_merge_plan(), pt_make_connect_by_proc(), and pt_make_prefix_index_data_filter().
|
static |
Definition at line 22324 of file xasl_generation.c.
References ER_FAILED, err, pred_regu_variable_p_list_node::next, qproc_db_value_list::next, regu_variable_list_node::next, NO_ERROR, NULL, pt_add_regu_var_to_list(), pt_get_pred_regu_variable_p_list(), qproc_db_value_list::val, and val_list_node::valp.
Referenced by pt_make_connect_by_proc().
|
static |
Definition at line 24187 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, assert, pt_statement_info::expr, pt_statement_info::function, parser_node::info, parser_node::next, pt_pointer_info::node, NULL, parser_free_node(), parser_free_tree(), pt_statement_info::pointer, PT_INTERNAL_ERROR, PT_IS_EXPR_NODE, PT_IS_FUNCTION, and PT_IS_POINTER_REF_NODE.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 25800 of file xasl_generation.c.
References pt_assignments_helper::lhs, parser_node::node_type, NULL, parser_copy_tree_list(), parser_free_tree(), pt_get_next_assignment(), pt_init_assignments_helper(), PT_NAME, pt_name_equal(), and pt_assignments_helper::rhs.
Referenced by pt_to_merge_update_query().
|
static |
Definition at line 3564 of file xasl_generation.c.
References symbol_info::cache_attrinfo, symbol_info::current_class, symbol_info::current_listfile, symbol_info::listfile_attr_offset, symbol_info::listfile_unbox, symbol_info::listfile_value_list, NULL, pt_alloc_packing_buf(), symbol_info::query_node, symbol_info::reserved_values, symbol_info::stack, symbol_info::table_info, and UNBOX_AS_VALUE.
Referenced by pt_append_assignment_references(), pt_init_pred_expr_context(), pt_push_symbol_info(), pt_to_constraint_pred(), pt_to_func_pred(), pt_to_insert_xasl(), and pt_to_odku_info().
|
static |
Definition at line 2519 of file xasl_generation.c.
References COMPATIBLE_INFO::compatible, ENTITY_COMPATIBLE, pt_spec_info::id, parser_node::info, NULL, parser_walk_tree(), pt_continue_walk(), pt_table_compatible_node(), pt_statement_info::spec, and COMPATIBLE_INFO::spec_id.
Referenced by pt_split_access_if_instnum().
|
static |
Definition at line 2465 of file xasl_generation.c.
References COMPATIBLE_INFO::compatible, pt_statement_info::expr, parser_node::info, pt_statement_info::name, parser_node::node_type, NOT_COMPATIBLE, pt_expr_info::op, PT_CONNECT_BY_ISCYCLE, PT_CONNECT_BY_ISLEAF, PT_CONNECT_BY_ROOT, PT_DIFFERENCE, PT_EXPR, PT_INST_NUM, PT_INTERSECTION, PT_LEVEL, PT_NAME, PT_QPRIOR, PT_ROWNUM, PT_SELECT, PT_STOP_WALK, PT_SYS_CONNECT_BY_PATH, PT_UNION, COMPATIBLE_INFO::spec_id, and pt_name_info::spec_id.
Referenced by pt_table_compatible().
|
static |
Definition at line 3538 of file xasl_generation.c.
References table_info::attribute_list, table_info::class_spec, table_info::exposed, table_info::is_fetch, table_info::next, NULL, pt_alloc_packing_buf(), table_info::spec_id, and table_info::value_list.
Referenced by pt_make_table_info().
|
static |
Definition at line 5747 of file xasl_generation.c.
References pt_get_select_list(), pt_to_sort_list(), and SORT_LIST_AFTER_GROUPBY.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 5702 of file xasl_generation.c.
References pt_get_select_list(), pt_to_sort_list(), and SORT_LIST_AFTER_ISCAN.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 4542 of file xasl_generation.c.
References aggregate_info::class_name, pt_spec_info::entity_name, aggregate_info::flag_agg_optimize, pt_spec_info::flat_entity_list, pt_select_info::from, aggregate_info::grbynum_valp, pt_select_info::having, aggregate_info::head_list, parser_node::info, pt_select_info::list, pt_statement_info::name, NULL, pt_spec_info::only_all, pt_name_info::original, aggregate_info::out_list, aggregate_info::out_names, parser_walk_tree(), PT_ALL, pt_continue_walk(), pt_is_single_tuple(), pt_length_of_list(), pt_to_aggregate_node(), pt_query_info::q, pt_statement_info::query, aggregate_info::regu_list, aggregate_info::scan_regu_list, pt_query_info::select, pt_statement_info::spec, aggregate_info::value_list, and pt_select_info::where.
Referenced by pt_to_buildlist_proc(), and pt_to_buildvalue_proc().
|
static |
Definition at line 3959 of file xasl_generation.c.
References cubxasl::aggregate_list_node::accumulator, pt_function_info::all_or_distinct, pt_dot_info::arg2, pt_function_info::arg_list, assert, cubxasl::aggregate_list_node::btid, BTID_SET_NULL, aggregate_info::class_name, pt_value_info::data_value, DB_DEFAULT_PRECISION, db_make_null(), db_private_alloc, DB_TYPE_INTEGER, DB_TYPE_NULL, pt_value_info::db_value, cubxasl::aggregate_list_node::domain, pt_statement_info::dot, parser_node::etc, pt_statement_info::expr, cubxasl::aggregate_list_node::flag_agg_optimize, aggregate_info::flag_agg_optimize, cubxasl::aggregate_list_node::function, pt_statement_info::function, pt_function_info::function_type, aggregate_info::grbynum_valp, aggregate_info::head_list, pt_data_value::i, if(), cubxasl::aggregate_list_node::info, parser_node::info, cubxasl::aggregate_list_node::list_id, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, db_value::need_clear, cubxasl::aggregate_list_node::next, regu_variable_list_node::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_expr_info::op, cubxasl::aggregate_list_node::operands, cubxasl::aggregate_list_node::opr_dbtype, cubxasl::aggregate_list_node::option, pt_function_info::order_by, aggregate_info::out_list, aggregate_info::out_names, parser_append_node(), parser_new_node(), cubxasl::aggregate_specific_function_info::percentile, pt_function_info::percentile, cubxasl::aggregate_percentile_info::percentile_reguvar, pr_clone_value(), pt_add_regu_var_to_list(), pt_agg_orderby_to_sort_list(), pt_aggregate_info_update_scan_regu_list(), pt_aggregate_info_update_value_and_reguvar_lists(), PT_ALL, PT_CONTINUE_WALK, PT_COUNT, PT_COUNT_STAR, PT_CUME_DIST, PT_CURRENT_VALUE, PT_DATA_TYPE, PT_DIFFERENCE, PT_DOT_, PT_ERROR, PT_EXPR, pt_find_name(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_fix_interpolation_aggregate_function_order_by(), PT_GROUP_CONCAT, PT_GROUPBY_NUM, pt_has_error, PT_INTERNAL_ERROR, PT_INTERSECTION, pt_is_aggregate_function(), PT_IS_CONST, PT_IS_STRING_TYPE, PT_LIST_WALK, pt_make_constant_regu_list_from_val_list(), PT_MAX, PT_METHOD_CALL, PT_MIN, PT_NAME, PT_NEXT_VALUE, pt_node_list_to_value_and_reguvar_list(), pt_node_to_db_type(), PT_PERCENT_RANK, PT_PERCENTILE_CONT, PT_PERCENTILE_DISC, pt_point(), pt_register_orphan_db_value(), PT_SELECT, pt_set_regu_list_pos_descr_from_idx(), PT_SPEC, pt_to_cume_dist_percent_rank_regu_variable(), pt_to_regu_variable(), pt_to_regu_variable_list(), PT_TYPE_BIT, pt_type_enum_to_db(), PT_TYPE_INTEGER, PT_TYPE_VARBIT, PT_UNION, PT_VALUE, pt_xasl_node_to_domain(), Q_ALL, Q_DISTINCT, QPROC_IS_INTERPOLATION_FUNC, qstr_make_typed_string(), regu_alloc(), regu_dbval_type_init(), aggregate_info::regu_list, sm_find_class(), sm_find_index(), cubxasl::aggregate_list_node::sort_list, TP_DOMAIN_CODESET, TP_DOMAIN_COLLATION, tp_Integer_domain, TYPE_CONSTANT, parser_node::type_enum, UNBOX_AS_VALUE, qproc_db_value_list::val, val_list_node::valp, valptr_list_node::valptr_cnt, cubxasl::aggregate_accumulator::value, regu_variable_list_node::value, pt_statement_info::value, cubxasl::aggregate_accumulator::value2, and aggregate_info::value_list.
Referenced by pt_to_aggregate().
|
static |
Definition at line 23563 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, assert, pt_statement_info::expr, pt_statement_info::function, parser_node::info, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_RUNTIME_NESTED_AGGREGATE, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, NULL, parser_append_node(), parser_free_tree(), PT_ERROR, PT_ERRORm, pt_has_analytic(), pt_has_inst_or_orderby_num(), PT_IS_ANALYTIC_NODE, PT_IS_EXPR_NODE, PT_IS_FUNCTION, PT_IS_INSTNUM, PT_IS_ORDERBYNUM, pt_is_query, pt_point_ref(), and XASL_INSTNUM_FLAG_EVAL_DEFER.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 23284 of file xasl_generation.c.
References pt_function_info::all_or_distinct, pt_function_info::analytic, pt_function_info::arg_list, assert, CAST_POINTER_TO_NODE, parser_node::column_number, db_make_null(), DB_TYPE_NULL, regu_variable_node::regu_data_value::dbval, regu_variable_node::regu_data_value::dbvalptr, cubxasl::analytic_list_node::default_idx, pt_function_info::default_value, cubxasl::analytic_list_node::domain, regu_variable_node::domain, parser_node::etc, cubxasl::analytic_list_node::from_last, pt_function_info::from_last, cubxasl::analytic_list_node::function, pt_statement_info::function, pt_function_info::function_type, analytic_info::head_list, cubxasl::analytic_list_node::ignore_nulls, pt_function_info::ignore_nulls, cubxasl::analytic_list_node::info, parser_node::info, cubxasl::analytic_list_node::is_const_operand, parser_node::line_number, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, cubxasl::analytic_list_node::next, parser_node::next, pt_pointer_info::node, NULL, pt_function_info::offset, cubxasl::analytic_list_node::offset_idx, cubxasl::analytic_list_node::operand, cubxasl::analytic_list_node::opr_dbtype, cubxasl::analytic_list_node::option, pt_function_info::order_by, parser_copy_tree_list(), parser_new_node(), pt_function_info::partition_by, cubxasl::analytic_function_info::percentile, pt_function_info::percentile, cubxasl::analytic_percentile_function_info::percentile_reguvar, pt_statement_info::pointer, PT_ALL, PT_ERROR, PT_INTERNAL_ERROR, PT_IS_ANALYTIC_NODE, PT_IS_CONST, PT_IS_POINTER_REF_NODE, PT_LAG, PT_LEAD, PT_NODE_POINTER, pt_node_to_db_type(), PT_NTH_VALUE, PT_PERCENTILE_CONT, PT_PERCENTILE_DISC, pt_resolve_analytic_references(), pt_to_regu_variable(), pt_xasl_node_to_domain(), Q_ALL, Q_DISTINCT, QPROC_IS_INTERPOLATION_FUNC, regu_alloc(), regu_dbval_type_init(), analytic_info::select_list, cubxasl::analytic_list_node::sort_list_size, analytic_info::sort_lists, cubxasl::analytic_list_node::sort_prefix_size, tp_Null_domain, regu_variable_node::type, TYPE_CONSTANT, TYPE_DBVAL, UNBOX_AS_VALUE, analytic_info::val_list, cubxasl::analytic_list_node::value, regu_variable_node::value, and cubxasl::analytic_list_node::value2.
Referenced by pt_initialize_analytic_info().
|
static |
Definition at line 15681 of file xasl_generation.c.
References buildlist_proc_node::a_eval_list, buildlist_proc_node::a_outptr_list, buildlist_proc_node::a_outptr_list_ex, buildlist_proc_node::a_outptr_list_interm, buildlist_proc_node::a_regu_list, buildlist_proc_node::a_val_list, buildlist_proc_node::after_groupby_list, xasl_node::after_iscan_list, pt_query_info::all_distinct, qo_plan::analytic_eval_list, assert, B_AND, xasl_node::buildlist, BUILDLIST_PROC, symbol_info::current_class, symbol_info::current_listfile, db_private_alloc, db_private_free, buildlist_proc_node::eptr_list, pt_sort_spec_info::expr, pt_query_info::flag, parser_node::flag, pt_select_info::flavor, xasl_node::fptr_list, free_and_init, pt_select_info::from, buildlist_proc_node::g_agg_list, buildlist_proc_node::g_func_count, buildlist_proc_node::g_grbynum_flag, buildlist_proc_node::g_grbynum_pred, buildlist_proc_node::g_grbynum_val, buildlist_proc_node::g_hash_eligible, buildlist_proc_node::g_having_pred, buildlist_proc_node::g_hk_scan_regu_list, buildlist_proc_node::g_hk_sort_regu_list, buildlist_proc_node::g_hkey_size, buildlist_proc_node::g_outptr_list, buildlist_proc_node::g_output_first_tuple, buildlist_proc_node::g_regu_list, buildlist_proc_node::g_scan_regu_list, buildlist_proc_node::g_val_list, buildlist_proc_node::g_with_rollup, pt_select_info::group_by, buildlist_proc_node::groupby_list, pt_select_info::having, analytic_info::head_list, pt_select_info::hint, i, parser_node::info, xasl_node::instnum_flag, xasl_node::instnum_pred, xasl_node::instnum_val, xasl_node::is_single_tuple, xasl_node::iscan_oid_order, xasl_node::iscycle_val, xasl_node::isleaf_val, pt_spec_info::join_type, xasl_node::level_val, pt_query_info::limit, xasl_node::limit_offset, xasl_node::limit_row_count, pt_select_info::list, symbol_info::listfile_value_list, MATCH_ALL, MSGCAT_RUNTIME_OUTER_JOIN_OPT_FAILED, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, regu_variable_list_node::next, xasl_node::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, xasl_node::option, xasl_node::ordbynum_flag, xasl_node::ordbynum_pred, xasl_node::ordbynum_val, pt_query_info::order_by, pt_query_info::orderby_for, xasl_node::orderby_limit, xasl_node::orderby_list, pt_name_info::original, xasl_node::outptr_list, parser_context::parent_proc_xasl, parser_append_node(), parser_free_tree(), parser_walk_tree(), prm_get_bool_value(), PRM_ID_BT_INDEX_SCAN_OID_ORDER, xasl_node::proc, pt_adjust_analytic_sort_specs(), PT_ALL, PT_ERRORm, pt_expand_analytic_node(), PT_EXPR_INFO_GROUPBYNUM_LIMIT, PT_EXPR_INFO_IS_FLAGED, pt_fix_pseudocolumns_pos_regu_list(), pt_gen_optimized_plan(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_generate_simple_analytic_eval_type(), pt_has_aggregate(), pt_has_analytic(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_HASH_AGGREGATE, pt_initialize_analytic_info(), pt_instnum_to_key_limit(), PT_IS_ANALYTIC_NODE, pt_is_hash_agg_eligible(), PT_IS_HINT_NODE, PT_JOIN_NONE, pt_length_of_list(), pt_make_identity_offsets(), pt_make_outlist_from_vallist(), pt_make_pred_expr_pred(), pt_make_val_list(), PT_MERGE_SELECT, pt_optimize_analytic_list(), pt_point(), PT_PRED_ARG_GRBYNUM_CONTINUE, PT_PRED_ARG_ORDBYNUM_CONTINUE, pt_resolve_analytic_references(), PT_SELECT, PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_IS_MERGE_QUERY, PT_SELECT_INFO_LIST_PUSHER, PT_SELECT_INFO_MULTI_UPDATE_AGG, pt_set_analytic_node_etc(), pt_set_aptr(), pt_set_connect_by_operator_node_etc(), pt_set_connect_by_xasl(), pt_set_dptr(), pt_set_iscycle_node_etc(), pt_set_isleaf_node_etc(), pt_set_level_node_etc(), pt_set_limit_optimization_flags(), pt_set_numbering_node_etc(), pt_set_qprior_node_etc(), PT_SORT_SPEC, pt_split_having_grbynum(), pt_substitute_analytic_references(), pt_to_after_groupby(), pt_to_after_iscan(), pt_to_aggregate(), pt_to_analytic_final_node(), pt_to_corr_subquery_list(), pt_to_groupby(), pt_to_orderby(), pt_to_outlist(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), pt_to_pred_expr_with_arg(), pt_to_regu_variable(), pt_to_regu_variable_list(), pt_select_info::push_list, buildlist_proc_node::push_list_id, pt_query_info::q, Q_ALL, Q_DISTINCT, qo_get_key_limit_from_ordbynum(), qo_plan_iscan_sort_list(), qo_plan_multi_range_opt(), qo_plan_skip_groupby(), qo_plan_skip_orderby(), pt_statement_info::query, REGU_VARIABLE_ANALYTIC_WINDOW, REGU_VARIABLE_SET_FLAG(), regu_xasl_node_alloc(), xasl_node::save_instnum_val, pt_query_info::select, xasl_node::selected_upd_list, pt_query_info::single_tuple, pt_statement_info::sort_spec, pt_statement_info::spec, xasl_node::spec_list, parser_context::symbols, UNBOX_AS_VALUE, qo_limit_info::upper, xasl_node::val_list, valptr_list_node::valptr_cnt, valptr_list_node::valptrp, regu_variable_list_node::value, selupd_list::wait_msecs, pt_select_info::waitsecs_hint, pt_select_info::where, parser_node::with_rollup, XASL_CLEAR_FLAG, XASL_G_GRBYNUM_FLAG_LIMIT_GT_LT, XASL_G_GRBYNUM_FLAG_LIMIT_LT, XASL_G_GRBYNUM_FLAG_SCAN_CONTINUE, XASL_INSTNUM_FLAG_EVAL_DEFER, XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC, XASL_IS_MERGE_QUERY, XASL_MULTI_UPDATE_AGG, XASL_OBJFETCH_IGNORE_CLASSOID, XASL_ORDBYNUM_FLAG_SCAN_CONTINUE, XASL_SET_FLAG, XASL_SKIP_ORDERBY_LIST, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by pt_plan_query().
|
static |
Definition at line 14585 of file xasl_generation.c.
References ACCESS_METHOD_SCHEMA, xasl_node::after_iscan_list, xasl_node::after_join_pred, xasl_node::aptr_list, xasl_node::bptr_list, BUILD_SCHEMA_PROC, COLUMNS_SCHEMA, xasl_node::connect_by_ptr, xasl_node::curr_spec, pt_name_info::db_object, xasl_node::dptr_list, xasl_node::flag, pt_spec_info::flat_entity_list, xasl_node::fptr_list, pt_select_info::from, FULL_COLUMNS_SCHEMA, xasl_node::if_pred, INDEX_SCHEMA, parser_node::info, xasl_node::instnum_flag, xasl_node::instnum_pred, xasl_node::instnum_val, xasl_node::is_single_tuple, xasl_node::iscycle_regu, xasl_node::iscycle_val, xasl_node::isleaf_regu, xasl_node::isleaf_val, xasl_node::level_regu, xasl_node::level_val, pt_select_info::list, xasl_node::merge_spec, xasl_node::merge_val_list, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, xasl_node::next, parser_node::node_type, NULL, xasl_node::option, xasl_node::ordbynum_flag, xasl_node::ordbynum_pred, xasl_node::ordbynum_val, pt_query_info::order_by, xasl_node::orderby_limit, xasl_node::orderby_list, xasl_node::outptr_list, PT_ERRORm, pt_make_class_access_spec(), PT_SELECT, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_IDX_SCHEMA, PT_SELECT_INFO_IS_FLAGED, pt_to_orderby(), pt_to_outlist(), pt_query_info::q, Q_ALL, pt_statement_info::query, regu_xasl_node_alloc(), xasl_node::save_instnum_val, xasl_node::scan_ptr, pt_query_info::select, xasl_node::selected_upd_list, xasl_node::single_tuple, pt_statement_info::spec, xasl_node::spec_list, parser_context::symbols, TARGET_CLASS, UNBOX_AS_VALUE, xasl_node::val_list, and XASL_ORDBYNUM_FLAG_SCAN_CONTINUE.
Referenced by pt_plan_schema().
|
static |
Definition at line 16590 of file xasl_generation.c.
References buildvalue_proc_node::agg_list, pt_query_info::all_distinct, xasl_node::buildvalue, BUILDVALUE_PROC, xasl_node::cardinality, symbol_info::current_class, pt_select_info::flavor, pt_select_info::from, buildvalue_proc_node::grbynum_val, pt_select_info::having, buildvalue_proc_node::having_pred, pt_select_info::hint, parser_node::info, xasl_node::instnum_val, buildvalue_proc_node::is_always_false, xasl_node::iscycle_val, xasl_node::isleaf_val, pt_spec_info::join_type, xasl_node::level_val, pt_select_info::list, MATCH_ALL, MSGCAT_RUNTIME_OUTER_JOIN_OPT_FAILED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, xasl_node::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, xasl_node::option, xasl_node::ordbynum_val, pt_query_info::orderby_for, pt_name_info::original, buildvalue_proc_node::outarith_list, xasl_node::outptr_list, parser_context::parent_proc_xasl, xasl_node::proc, xasl_node::projected_size, PT_ALL, PT_ERRORm, pt_false_search_condition(), pt_gen_optimized_plan(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_has_error, PT_HINT_LK_TIMEOUT, pt_instnum_to_key_limit(), PT_IS_HINT_NODE, PT_JOIN_NONE, PT_MERGE_SELECT, pt_ordbynum_to_key_limit_multiple_ranges(), PT_SELECT, pt_set_aptr(), pt_set_connect_by_operator_node_etc(), pt_set_connect_by_xasl(), pt_set_dptr(), pt_set_iscycle_node_etc(), pt_set_isleaf_node_etc(), pt_set_level_node_etc(), pt_set_numbering_node_etc(), pt_set_qprior_node_etc(), pt_to_aggregate(), pt_to_outlist(), pt_to_pred_expr(), pt_query_info::q, Q_ALL, Q_DISTINCT, qo_plan_multi_range_opt(), pt_statement_info::query, regu_xasl_node_alloc(), xasl_node::scan_ptr, pt_query_info::select, xasl_node::selected_upd_list, pt_statement_info::spec, xasl_node::spec_list, parser_context::symbols, UNBOX_AS_VALUE, xasl_node::val_list, selupd_list::wait_msecs, pt_select_info::waitsecs_hint, pt_select_info::where, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by pt_plan_query().
|
static |
Definition at line 12075 of file xasl_generation.c.
References access_spec_node::access, ACCESS_METHOD_INDEX, ACCESS_METHOD_INDEX_KEY_INFO, ACCESS_METHOD_INDEX_NODE_INFO, ACCESS_METHOD_SEQUENTIAL, ACCESS_METHOD_SEQUENTIAL_PAGE_SCAN, ACCESS_METHOD_SEQUENTIAL_RECORD_INFO, ACCESS_SPEC_FLAG_FOR_UPDATE, assert, table_info::attribute_list, symbol_info::cache_attrinfo, symbol_info::current_class, pt_name_info::db_object, pt_spec_info::flag, access_spec_node::flags, pt_spec_info::flat_entity_list, free_and_init, qo_node_index_entry::head, parser_node::info, pt_spec_info::meta_class, pt_statement_info::name, access_spec_node::next, parser_node::next, qo_xasl_index_info::ni_entry, NO_ERROR, NO_SCHEMA, qo_xasl_index_info::nterms, NULL, parser_free_tree(), pt_find_table_info(), pt_get_mvcc_reev_range_data(), pt_has_error, PT_IS_SPEC_FLAG_SET, PT_IS_VALUE_QUERY, pt_make_class_access_spec(), pt_make_outlist_from_vallist(), pt_make_prefix_index_data_filter(), pt_make_reserved_value_list(), PT_META_CLASS, PT_SPEC_FLAG_BTREE_NODE_INFO_SCAN, PT_SPEC_FLAG_FOR_UPDATE_CLAUSE, PT_SPEC_FLAG_KEY_INFO_SCAN, PT_SPEC_FLAG_PAGE_INFO_SCAN, PT_SPEC_FLAG_RECORD_INFO_SCAN, PT_SPEC_SPECIAL_INDEX_SCAN, pt_split_attrs(), pt_to_index_attrs(), pt_to_index_info(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), pt_to_regu_variable_list(), qo_is_prefix_index(), regu_alloc(), RESERVED_NAME_BTREE_NODE_INFO, RESERVED_NAME_INVALID, RESERVED_NAME_KEY_INFO, RESERVED_NAME_PAGE_INFO, RESERVED_NAME_RECORD_INFO, symbol_info::reserved_values, pt_statement_info::spec, pt_name_info::spec_id, parser_context::symbols, symbol_info::table_info, TARGET_CLASS, TARGET_CLASS_ATTR, TARGET_REGUVAL_LIST, UNBOX_AS_VALUE, and table_info::value_list.
Referenced by pt_to_fetch_proc(), and pt_to_spec_list().
|
static |
Definition at line 18019 of file xasl_generation.c.
References pt_expr_info::arg1, ARG_FILE_LINE, assert, CAST_POINTER_TO_NODE, update_proc_node::cons_pred, insert_proc_node::cons_pred, symbol_info::current_listfile, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), pt_statement_info::expr, pt_spec_info::id, parser_node::info, xasl_node::insert, INSERT_PROC, symbol_info::listfile_attr_offset, symbol_info::listfile_value_list, mq_is_outer_join_spec(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, table_info::next, parser_node::next, NO_ERROR, NULL, OID_NAME, parser_free_tree(), parser_new_node(), xasl_node::proc, PT_ERRORm, PT_EXPR, PT_IS_NAME_NODE, PT_IS_NOT_NULL, PT_IS_NULL, pt_make_table_info(), PT_OR, pt_spec_to_oid_attr(), pt_symbol_info_alloc(), pt_to_pred_expr(), PT_TYPE_LOGICAL, pt_statement_info::spec, pt_name_info::spec_id, parser_context::symbols, symbol_info::table_info, xasl_node::type, xasl_node::update, UPDATE_PROC, and xasl_node::val_list.
Referenced by pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), and pt_to_update_xasl().
|
static |
Definition at line 13340 of file xasl_generation.c.
References corr_info::id, NULL, parser_walk_tree(), pt_continue_walk(), pt_corr_pre(), and corr_info::xasl_head.
Referenced by pt_set_dptr(), and pt_to_buildlist_proc().
|
static |
Definition at line 12651 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, pt_spec_info::as_attr_list, pt_spec_info::derived_table, parser_node::info, parser_node::node_type, NULL, pt_make_cselect_access_spec(), PT_METHOD_CALL, PT_SPEC_IS_DERIVED, pt_to_method_sig_list(), pt_to_position_regu_variable_list(), pt_statement_info::query, pt_statement_info::spec, and pt_query_info::xasl.
Referenced by pt_to_spec_list().
|
static |
Definition at line 12712 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, pt_spec_info::as_attr_list, assert, pt_statement_info::cte, pt_spec_info::cte_pointer, symbol_info::current_class, symbol_info::current_listfile, free_and_init, pt_spec_info::id, parser_node::info, symbol_info::listfile_unbox, NO_ERROR, pt_cte_info::non_recursive_part, NULL, parser_free_tree(), pt_find_table_info(), pt_make_list_access_spec(), pt_split_attrs(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), pt_statement_info::query, pt_statement_info::spec, parser_context::symbols, symbol_info::table_info, UNBOX_AS_VALUE, table_info::value_list, pt_cte_info::xasl, and pt_query_info::xasl.
Referenced by pt_to_spec_list().
|
static |
Definition at line 26140 of file xasl_generation.c.
References pt_function_info::arg_list, assert, DB_TYPE_VARIABLE, pt_statement_info::function, parser_node::info, regu_variable_list_node::next, NULL, pt_function_info::order_by, pt_to_regu_variable_list(), regu_alloc(), REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_SET_FLAG(), tp_domain_resolve_default(), TYPE_REGU_VAR_LIST, and UNBOX_AS_VALUE.
Referenced by pt_to_aggregate_node().
XASL_NODE* pt_to_delete_xasl | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
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().
|
static |
Definition at line 13756 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, symbol_info::current_class, symbol_info::current_listfile, free_and_init, pt_spec_info::id, parser_node::info, symbol_info::listfile_unbox, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NO_ERROR, NULL, parser_free_tree(), PT_ERROR, pt_find_table_info(), pt_join_term_to_regu_variable(), pt_make_list_access_spec(), pt_regu_to_dbvalue(), pt_split_attrs(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), pt_to_val_list(), QPROC_SINGLE_OUTER, regu_xasl_node_alloc(), access_spec_node::s_dbval, SCAN_PROC, access_spec_node::single_fetch, pt_statement_info::spec, xasl_node::spec_list, parser_context::symbols, symbol_info::table_info, TYPE_CONSTANT, TYPE_DBVAL, UNBOX_AS_VALUE, xasl_node::val_list, and table_info::value_list.
Referenced by pt_to_fetch_proc().
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().
|
static |
Definition at line 13977 of file xasl_generation.c.
References xasl_node::dptr_list, xasl_node::if_pred, NULL, pt_to_fetch_proc_list_recurse(), and xasl_node::scan_ptr.
Referenced by pt_gen_simple_merge_plan(), pt_gen_simple_plan(), and pt_to_scan_proc_list().
|
static |
Definition at line 13934 of file xasl_generation.c.
References APPEND_TO_XASL, parser_node::info, parser_node::next, NULL, pt_spec_info::path_entities, pt_to_fetch_proc(), SCAN_PROC, pt_statement_info::spec, and xasl_node::type.
Referenced by pt_to_fetch_proc_list().
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().
|
static |
Definition at line 5732 of file xasl_generation.c.
References pt_get_select_list(), pt_to_sort_list(), and SORT_LIST_GROUPBY.
Referenced by pt_to_buildlist_proc().
|
static |
Definition at line 3155 of file xasl_generation.c.
References assert, table_info::attribute_list, CAST_POINTER_TO_NODE, table_info::class_spec, free_and_init, i, parser_node::info, mq_get_references_helper(), parser_node::next, NULL, parser_append_node(), parser_free_tree(), prm_get_bool_value(), PRM_ID_ORACLE_STYLE_EMPTY_STRING, pt_find_attribute(), pt_length_of_list(), pt_point(), PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, qo_xasl_get_num_terms(), qo_xasl_get_terms(), pt_spec_info::referenced_attrs, pt_statement_info::spec, and parser_node::type_enum.
Referenced by pt_to_class_spec_list().
|
static |
Definition at line 11658 of file xasl_generation.c.
References coll_opt::allow_index_opt, pt_expr_info::arg2, assert, sm_class_constraint::attributes, indx_info::btid, BTID_COPY, qo_index_entry::class_, indx_info::class_oid, sm_function_info::col_id, tp_domain::collation_id, qo_index_entry::constraints, qo_index_entry::cover_segments, indx_info::coverage, sm_attribute::domain, EQ_NA, pt_statement_info::expr, sm_function_info::fi_domain, sm_class_constraint::filter_predicate, indx_info::func_idx_col_id, sm_class_constraint::func_index_info, GE_INF, GE_LE, GE_LT, indx_info::groupby_desc, indx_info::groupby_skip, qo_index_entry::groupby_skip, GT_INF, GT_LE, GT_LT, qo_node_index_entry::head, i, pr_type::id, indx_info::ils_prefix_len, qo_index_entry::ils_prefix_len, sm_class_constraint::index_btid, INF_INF, parser_node::info, key_info::is_constant, qo_index_entry::is_iss_candidate, key_range::key1, key_range::key2, key_info::key_cnt, indx_info::key_info, qo_index_entry::key_limit, key_info::key_ranges, qo_class_info_entry::mop, qo_xasl_index_info::multi_col_pos, qo_index_entry::next, qo_xasl_index_info::ni_entry, NO_ERROR, NULL, vid_oid::oid, db_object::oid_info, pt_expr_info::op, parser_node::or_next, indx_info::orderby_desc, indx_info::orderby_skip, qo_index_entry::orderby_skip, tp_domain::precision, PT_BETWEEN, pt_create_iss_range(), PT_EQ, PT_EQ_SOME, pt_fix_first_term_expr_for_iss(), PT_GE, PT_GT, PT_INTERNAL_ERROR, PT_IS_IN, PT_LAST_OPCODE, PT_LE, PT_LT, PT_RANGE, pt_to_key_limit(), pt_to_list_key(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_single_key(), qo_check_coll_optimization(), qo_check_type_index_covering(), QO_ENTRY_MULTI_COL, qo_is_filter_index(), qo_is_index_covering_scan(), qo_is_index_iss_scan(), qo_is_index_loose_scan(), qo_is_interesting_order_scan(), qo_is_prefix_index(), qo_plan_multi_range_opt(), qo_xasl_get_num_terms(), qo_xasl_get_terms(), R_KEY, R_KEYLIST, R_RANGE, R_RANGELIST, key_range::range, indx_info::range_type, rc, regu_alloc(), regu_array_alloc(), tp_domain::scale, tp_domain_resolve(), tp_domain::type, indx_info::use_desc_index, qo_index_entry::use_descending, and indx_info::use_iss.
Referenced by pt_to_class_spec_list().
XASL_NODE* pt_to_insert_xasl | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
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().
|
static |
Definition at line 12685 of file xasl_generation.c.
References assert, pt_json_table_info::expr, pt_spec_info::id, parser_node::info, pt_statement_info::json_table_info, NULL, pt_find_table_info(), pt_make_json_table_access_spec(), pt_to_pred_expr(), pt_to_regu_variable(), pt_statement_info::spec, parser_context::symbols, symbol_info::table_info, and UNBOX_AS_VALUE.
Referenced by pt_to_spec_list().
|
static |
Definition at line 11205 of file xasl_generation.c.
References assert, DB_TYPE_BIGINT, regu_variable_node::domain, ER_FAILED, error(), parser_node::expected_domain, key_info::is_user_given_keylimit, key_info::key_limit_l, key_info::key_limit_reset, key_info::key_limit_u, qo_limit_info::lower, parser_node::next, NO_ERROR, NULL, pt_make_regu_arith(), pt_to_regu_variable(), PT_TYPE_MAYBE, T_GREATEST, T_LEAST, tp_domain_resolve_default(), parser_node::type_enum, UNBOX_AS_VALUE, and qo_limit_info::upper.
Referenced by pt_instnum_to_key_limit(), pt_ordbynum_to_key_limit_multiple_ranges(), and pt_to_index_info().
|
static |
Definition at line 10477 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_function_info::arg_list, db_col_get(), db_col_size(), db_get_collection, DB_TYPE_MULTISET, DB_TYPE_SEQUENCE, DB_TYPE_SET, pt_value_info::db_value, DB_VALUE_TYPE, EQ_NA, error(), pt_statement_info::expr, F_MIDXKEY, F_MULTISET, F_SEQUENCE, F_SET, free_and_init, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, key_info::is_constant, key_range::key1, key_range::key2, key_info::key_cnt, key_info::key_ranges, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, pt_name_info::original, p, parser_append_node(), parser_free_tree(), parser_new_node(), pr_clear_value(), PT_CAST, pt_dbval_to_value(), PT_EQ_SOME, PT_EXPR, pt_find_value_of_label(), PT_FUNCTION, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_IS_IN, PT_NAME, PT_PARAMETER, pt_point(), pt_to_regu_variable(), PT_TYPE_MIDXKEY, PT_VALUE, pt_value_to_db(), key_range::range, regu_array_alloc(), parser_node::type_enum, UNBOX_AS_VALUE, VALIDATE_REGU_KEY, and pt_statement_info::value.
Referenced by pt_to_index_info().
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().
|
static |
Definition at line 25527 of file xasl_generation.c.
References xasl_node::aptr_list, ARG_FILE_LINE, assert, insert_proc_node::att_id, pt_merge_info::attr_list, au_fetch_class(), AU_FETCH_READ, AU_SELECT, insert_proc_node::class_hfid, xasl_node::class_locks, insert_proc_node::class_oid, xasl_node::class_oid_list, cleanup(), COPY_OID, xasl_node::creator_oid, DB_FETCH_QUERY_READ, db_get_user(), pt_name_info::db_object, xasl_node::dbval_cnt, insert_proc_node::do_replace, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, er_set(), error(), EXCLUDE_HIDDEN_COLUMNS, xasl_node::flag, pt_merge_info::flags, pt_spec_info::flat_entity_list, insert_proc_node::has_uniques, pt_merge_info::hint, parser_node::info, xasl_node::insert, pt_merge_info::insert, INSERT_PROC, pt_merge_info::into, IX_LOCK, pt_node_list_info::list, locator_create_heap_if_needed(), locator_flush_class(), locator_is_class(), pt_statement_info::merge, mq_translate(), xasl_node::n_oid_list, pt_statement_info::name, parser_node::next, NO_ERROR, insert_proc_node::no_logging, pt_statement_info::node_list, NULL, insert_proc_node::num_default_expr, insert_proc_node::num_vals, OID_SET_NULL, pt_name_info::original, parser_free_tree(), xasl_node::proc, insert_proc_node::pruning_type, pt_get_select_list(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, PT_IS_HINT_NODE, pt_length_of_list(), pt_length_of_select_list(), pt_make_aptr_parent_node(), PT_MERGE_INFO_HAS_UNIQUE, pt_report_to_ersys_with_statement(), PT_SEMANTIC, pt_to_constraint_pred(), pt_to_merge_insert_query(), regu_int_array_alloc(), regu_oid_array_alloc(), sm_att_id(), sm_ch_heap(), sm_is_reuse_oid_class(), sm_partitioned_class_type(), pt_statement_info::spec, xasl_node::tcard_list, sm_class::tde_algorithm, TDE_ALGORITHM_NONE, insert_proc_node::vals, pt_merge_info::value_clauses, insert_proc_node::wait_msecs, pt_merge_info::waitsecs_hint, ws_identifier(), XASL_CLASS_NO_TCARD, XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by pt_to_merge_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().
|
static |
Definition at line 25025 of file xasl_generation.c.
References xasl_node::aptr_list, pt_expr_info::arg2, ARG_FILE_LINE, assert, pt_merge_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, 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, DOMAIN_COMPATIBLE, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, ER_OBJ_ATTRIBUTE_CANT_BE_NULL, ER_OBJ_DOMAIN_CONFLICT, er_set(), error(), pt_statement_info::expr, xasl_node::flag, pt_spec_info::flag, pt_spec_info::flat_entity_list, pt_merge_info::has_delete, upddel_class_info::has_uniques, pt_merge_info::hint, pt_spec_info::id, parser_node::info, pt_merge_info::into, pt_assignments_helper::is_rhs_const, pt_assignments_helper::lhs, locator_flush_class(), pt_statement_info::merge, mq_translate(), 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_assigns, upddel_class_info::num_attrs, update_proc_node::num_classes, upddel_class_info::num_subclasses, OID_SET_NULL, pt_name_info::original, p, parser_append_node(), parser_copy_tree(), parser_copy_tree_list(), parser_free_tree(), xasl_node::proc, pt_append_omitted_on_update_expr_assignments(), pt_get_assignment_lists(), pt_get_next_assignment(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, pt_init_assignments_helper(), PT_INTERNAL_ERROR, PT_IS_HINT_NODE, pt_make_aptr_parent_node(), pt_name_equal(), pt_report_to_ersys_with_statement(), pt_restore_assignment_links(), PT_SEMANTIC, PT_SPEC, PT_SPEC_FLAG_HAS_UNIQUE, pt_to_constraint_pred(), pt_to_merge_update_query(), pt_value_to_db(), pt_statement_info::query, pt_spec_info::range_var, regu_alloc(), regu_array_alloc(), regu_int_array_alloc(), regu_oid_array_alloc(), sm_att_id(), sm_get_ch_heap(), sm_partitioned_class_type(), pt_statement_info::spec, pt_name_info::spec_id, xasl_node::tcard_list, tp_value_coerce(), pt_query_info::upd_del_class_cnt, xasl_node::update, pt_merge_info::update, UPDATE_PROC, pt_merge_info::using_clause, update_proc_node::wait_msecs, pt_merge_info::waitsecs_hint, ws_identifier(), XASL_CLEAR_FLAG, XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.
Referenced by 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 | ||
) |
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().
|
static |
Definition at line 3689 of file xasl_generation.c.
References i, parser_node::next, NULL, pt_find_attribute(), pt_length_of_list(), and regu_int_array_alloc().
Referenced by pt_to_method_sig_list().
|
static |
Definition at line 3739 of file xasl_generation.c.
References pt_method_call_info::arg_list, pt_method_call_info::class_or_inst, pt_statement_info::data_type, parser_node::data_type, db_get_class_name(), pt_data_type_info::entity, if(), parser_node::info, pt_statement_info::method_call, METHOD_IS_CLASS_METHOD, METHOD_IS_INSTANCE_METHOD, pt_method_call_info::method_name, method_sig_list::method_sig, pt_statement_info::name, method_sig_node::next, parser_node::next, parser_node::node_type, NULL, method_sig_list::num_methods, pt_method_call_info::on_call_target, pt_name_info::original, PT_IS_CLASS_MTHD, pt_length_of_list(), PT_METHOD_CALL, pt_to_method_arglist(), regu_alloc(), and pt_data_type_info::virt_object.
Referenced by pt_to_cselect_table_spec_list().
|
static |
Definition at line 7081 of file xasl_generation.c.
References pt_misc_to_qp_misc_operand().
Referenced by pt_to_regu_variable().
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().
|
static |
Definition at line 18653 of file xasl_generation.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR_AND_SET, odku_info::assignments, update_assignment::att_idx, odku_info::attr_ids, odku_info::attr_info, symbol_info::cache_attrinfo, CAST_POINTER_TO_NODE, update_assignment::cls_idx, odku_info::cons_pred, update_assignment::constant, symbol_info::current_class, symbol_info::current_listfile, db_attribute_domain(), db_get_attribute(), DB_IS_NULL, pt_name_info::db_object, DOMAIN_COMPATIBLE, pt_spec_info::entity_name, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_OBJ_ATTRIBUTE_CANT_BE_NULL, ER_OBJ_DOMAIN_CONFLICT, er_set(), error(), pt_select_info::from, sm_attribute::header, i, sm_attribute::id, parser_node::info, pt_statement_info::insert, pt_assignments_helper::is_rhs_const, pt_assignments_helper::lhs, pt_node_list_info::list, pt_select_info::list, symbol_info::listfile_attr_offset, symbol_info::listfile_value_list, MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, sm_component::name, pt_statement_info::name, table_info::next, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, NULL, odku_info::num_assigns, pt_insert_info::odku_assignments, pt_insert_info::odku_non_null_attrs, pt_name_info::original, parser_copy_tree(), parser_free_tree(), parser_generate_xasl(), parser_new_node(), pt_append_omitted_on_update_expr_assignments(), PT_ERRORm, PT_EXPR, pt_get_next_assignment(), pt_has_error, pt_init_assignments_helper(), PT_INSERT, PT_INTERNAL_ERROR, PT_IS_NOT_NULL, pt_is_query, PT_IS_SELECT, pt_make_table_info(), pt_name_equal(), pt_symbol_info_alloc(), pt_to_pred_expr(), pt_to_regu_variable(), pt_value_to_db(), pt_query_info::q, pt_statement_info::query, regu_alloc(), regu_array_alloc(), regu_int_array_alloc(), update_assignment::regu_var, pt_assignments_helper::rhs, pt_query_info::select, pt_insert_info::spec, pt_statement_info::spec, parser_context::symbols, symbol_info::table_info, tp_value_cast(), UNBOX_AS_VALUE, xasl_node::val_list, and pt_insert_info::value_clauses.
Referenced by pt_to_insert_xasl().
|
static |
Definition at line 22862 of file xasl_generation.c.
References i, regu_variable_list_node::next, sort_list::next, NULL, xasl_node::orderby_list, xasl_node::outptr_list, sort_list::pos_descr, qfile_tuple_value_position::pos_no, PT_INTERNAL_ERROR, TYPE_CONSTANT, valptr_list_node::valptrp, and regu_variable_list_node::value.
Referenced by pt_set_connect_by_xasl().
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().
|
static |
Definition at line 13448 of file xasl_generation.c.
References pt_dot_info::arg2, pt_expr_info::arg2, assert, CAST_POINTER_TO_NODE, cubregex::count(), pt_statement_info::data_type, parser_node::data_type, db_make_oid(), pt_name_info::db_object, DB_TYPE_NULL, pt_statement_info::dot, pt_data_type_info::entity, pt_statement_info::expr, i, if(), parser_node::info, xasl_node::is_single_tuple, pt_node_list_info::list, qfile_sorted_list_id::list_id, xasl_node::list_id, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, qproc_db_value_list::next, regu_variable_list_node::next, parser_node::next, parser_node::next_row, pt_statement_info::node_list, parser_node::node_type, NULL, OID_SET_NULL, parser_reinit_node(), pt_alloc_packing_buf(), PT_DECR, PT_DOT_, PT_ERRORm, PT_EXPR, pt_get_select_list(), PT_INCR, PT_IS_QUERY_NODE_TYPE, pt_link_regu_to_selupd_list(), pt_make_val_list(), PT_NODE_LIST, PT_ORDERBY_NUM, PT_SET_VALUE_QUERY, pt_to_regu_variable(), PT_TYPE_NULL, PT_TYPE_OBJECT, pt_xasl_node_to_domain(), pt_statement_info::query, regu_alloc(), xasl_node::single_tuple, TP_DOMAIN_TYPE, xasl_node::type, TYPE_CONSTANT, parser_node::type_enum, TYPE_LIST_ID, TYPE_ORDERBY_NUM, UNBOX_AS_TABLE, qproc_db_value_list::val, val_list_node::valp, valptr_list_node::valptr_cnt, valptr_list_node::valptrp, pt_data_type_info::virt_type_enum, pt_query_info::xasl, XASL_LINK_TO_REGU_VARIABLE, and XASL_SET_FLAG.
Referenced by parser_generate_do_stmt_xasl(), pt_skeleton_buildlist_proc(), pt_to_buildlist_proc(), pt_to_buildschema_proc(), pt_to_buildvalue_proc(), pt_to_fetch_proc(), and pt_to_insert_xasl().
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().
|
static |
Definition at line 9573 of file xasl_generation.c.
References i, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, regu_variable_list_node::next, parser_node::next, NULL, PT_ERRORm, pt_index_value(), pt_xasl_node_to_domain(), regu_alloc(), and TYPE_POSITION.
Referenced by pt_make_aptr_parent_node(), pt_make_regu_list_from_value_list(), pt_to_buildlist_proc(), pt_to_class_spec_list(), pt_to_cselect_table_spec_list(), pt_to_cte_table_spec_list(), pt_to_fetch_as_scan_proc(), pt_to_set_expr_table_spec_list(), pt_to_subquery_table_spec_list(), and ptqo_to_list_scan_proc().
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().
|
static |
Definition at line 1472 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, assert, B_AND, B_IS, B_IS_NOT, B_OR, B_XOR, CAST_POINTER_TO_NODE, pt_value_info::data_value, DB_TYPE_INTEGER, DB_TYPE_NULL, parser_context::etc, pt_statement_info::expr, F_ALL, F_SOME, pt_data_value::i, parser_node::info, MSGCAT_SEMANTIC_WANT_ESC_LIT_STRING, MSGCAT_SET_PARSER_SEMANTIC, pt_pointer_info::node, parser_node::node_type, NULL, pt_expr_info::op, parser_node::or_next, parser_free_node(), parser_new_node(), pt_statement_info::pointer, prm_get_bool_value(), PRM_ID_NO_BACKSLASH_ESCAPES, PRM_ID_REQUIRE_LIKE_ESCAPE_CHARACTER, PT_AND, PT_BETWEEN, PT_BETWEEN_AND, PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GE_LE, PT_BETWEEN_GE_LT, PT_BETWEEN_GT_INF, PT_BETWEEN_GT_LE, PT_BETWEEN_GT_LT, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_EQ, PT_EQ_ALL, PT_EQ_SOME, PT_EQ_TORDER, PT_ERRORm, PT_EXISTS, PT_EXPR, PT_GE, PT_GE_ALL, PT_GE_SOME, PT_GT, PT_GT_ALL, PT_GT_SOME, pt_has_error, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_IS, pt_is_between_range_op(), PT_IS_IN, PT_IS_NATIONAL_CHAR_STRING_TYPE, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_IS_POINTER_REF_NODE, PT_ISNULL, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LIKE, PT_LIKE_ESCAPE, PT_LT, PT_LT_ALL, PT_LT_SOME, pt_make_pred_expr_pred(), pt_make_pred_term_comp(), pt_make_pred_term_is(), pt_make_pred_term_like(), pt_make_pred_term_not(), pt_make_pred_term_rlike(), pt_make_pred_term_some_all(), pt_make_string_value(), PT_NE, PT_NE_ALL, PT_NE_SOME, pt_node_to_db_type(), PT_NOT, PT_NOT_BETWEEN, PT_NOT_LIKE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NULLSAFE_EQ, PT_OR, PT_PRED_ARG_GRBYNUM_CONTINUE, PT_PRED_ARG_INSTNUM_CONTINUE, PT_PRED_ARG_ORDBYNUM_CONTINUE, PT_RANGE, PT_RLIKE, PT_RLIKE_BINARY, PT_SETEQ, PT_SETNEQ, PT_SUBSET, PT_SUBSETEQ, PT_SUPERSET, PT_SUPERSETEQ, pt_to_pred_expr(), pt_to_regu_variable(), PT_TYPE_INTEGER, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_NCHAR, PT_TYPE_VARNCHAR, PT_VALUE, PT_XOR, pt_expr_info::qualifier, R_EQ, R_EQ_TORDER, R_EXISTS, R_GE, R_GT, R_LE, R_LT, R_NE, R_NONE, R_NULL, R_NULLSAFE_EQ, R_SUBSET, R_SUBSETEQ, R_SUPERSET, R_SUPERSETEQ, pt_value_info::string_type, parser_node::type_enum, UNBOX_AS_TABLE, UNBOX_AS_VALUE, pt_statement_info::value, XASL_NEED_SINGLE_TUPLE_SCAN, and XASL_SET_FLAG.
Referenced by pt_to_pred_expr_with_arg().
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().
|
static |
Definition at line 5762 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, B_AND, pt_statement_info::expr, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, PT_AND, PT_EXPR, pt_make_pred_expr_pred(), pt_to_pred_expr(), and parser_node::spec_ident.
Referenced by pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_make_connect_by_proc(), and pt_to_scan_proc_list().
PRED_EXPR_WITH_CONTEXT* pt_to_pred_with_context | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | predicate, | ||
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().
|
static |
Definition at line 10300 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_function_info::arg_list, error(), pt_statement_info::expr, F_MIDXKEY, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, key_info::is_constant, key_range::key1, key_range::key2, key_info::key_cnt, key_info::key_ranges, parser_node::node_type, NULL, pt_expr_info::op, op_type_to_range(), parser_append_node(), parser_free_tree(), parser_new_node(), PT_BETWEEN, pt_converse_op(), PT_EQ, PT_FUNCTION, PT_GE, PT_GT, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_LE, PT_LT, pt_point(), pt_to_regu_variable(), PT_TYPE_MIDXKEY, PT_VALUE, key_range::range, regu_array_alloc(), parser_node::type_enum, UNBOX_AS_VALUE, and VALIDATE_REGU_KEY.
Referenced by pt_to_index_info().
|
static |
Definition at line 10784 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_function_info::arg_list, assert, assert_release, pt_value_info::data_value, error(), pt_statement_info::expr, F_MIDXKEY, F_SEQUENCE, free_and_init, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, key_info::is_constant, key_range::key1, key_range::key2, key_info::key_cnt, key_info::key_ranges, regu_variable_list_node::next, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, op_type_to_range(), parser_node::or_next, parser_append_node(), parser_free_tree(), parser_new_node(), PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GT_INF, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_FUNCTION, PT_HOST_VAR, PT_INTERNAL_ERROR, pt_is_function, pt_is_set_type, pt_is_value_node, pt_point(), PT_RANGE, pt_to_regu_variable(), PT_TYPE_MIDXKEY, PT_VALUE, key_range::range, regu_array_alloc(), pt_data_value::set, parser_node::type_enum, UNBOX_AS_VALUE, VALIDATE_REGU_KEY, and pt_statement_info::value.
Referenced by pt_to_index_info().
|
static |
Definition at line 9642 of file xasl_generation.c.
References attr_descr_node::cache_attrinfo, attr_descr_node::id, pr_type::id, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, NO_ERROR, NULL, pt_name_info::original, PT_META_ATTR, regu_alloc(), attr_descr_node::reset(), sm_att_info(), tp_domain::type, attr_descr_node::type, TYPE_ATTR_ID, TYPE_CLASS_ATTR_ID, and TYPE_SHARED_ATTR_ID.
Referenced by pt_attribute_to_regu().
|
static |
Definition at line 9698 of file xasl_generation.c.
References assert, CAST_POINTER_TO_NODE, db_value::domain, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, PT_NAME, PT_RESERVED, pt_reserved_id_to_valuelist_index(), pt_xasl_node_to_domain(), regu_alloc(), pt_name_info::reserved_id, RESERVED_NAME_INVALID, symbol_info::reserved_values, parser_context::symbols, and TYPE_CONSTANT.
Referenced by pt_attribute_to_regu().
Definition at line 7218 of file xasl_generation.c.
References db_char::buf, db_data::ch, db_value::data, DB_DEFAULT_NUMERIC_PRECISION, DB_DEFAULT_NUMERIC_SCALE, DB_MAX_NUMERIC_PRECISION, pt_value_info::db_value, db_char::info, parser_node::info, db_char::medium, MEDIUM_STRING, NULL, db_char::size, db_char::sm, SMALL_STRING, db_char::style, and pt_statement_info::value.
Referenced by pt_to_regu_variable(), and pt_upd_domain_info().
REGU_VARIABLE* pt_to_regu_variable | ( | PARSER_CONTEXT * | parser, |
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().
|
static |
Definition at line 9438 of file xasl_generation.c.
References i, regu_variable_list_node::next, parser_node::next, NULL, pt_index_value(), pt_to_regu_variable(), and regu_alloc().
Referenced by pt_function_to_regu(), pt_get_mvcc_reev_range_data(), pt_init_pred_expr_context(), pt_make_connect_by_proc(), pt_to_aggregate_node(), pt_to_buildlist_proc(), pt_to_class_spec_list(), pt_to_cume_dist_percent_rank_regu_variable(), pt_to_showstmt_spec_list(), and pt_to_subquery_table_spec_list().
|
static |
Definition at line 14241 of file xasl_generation.c.
References pt_spec_info::derived_table, pt_select_info::from, pt_spec_info::id, xasl_node::if_pred, parser_node::info, pt_select_info::list, MATCH_ALL, parser_node::next, NULL, pt_spec_info::path_entities, pt_append_scan(), pt_set_dptr(), pt_to_fetch_proc_list(), pt_to_pred_terms(), ptqo_to_scan_proc(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::spec, and pt_select_info::where.
Referenced by pt_gen_simple_plan().
|
static |
Definition at line 12615 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, pt_spec_info::as_attr_list, parser_node::info, NULL, pt_make_set_access_spec(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), pt_to_regu_variable(), pt_statement_info::spec, and UNBOX_AS_VALUE.
Referenced by pt_to_spec_list().
|
static |
Definition at line 12490 of file xasl_generation.c.
References symbol_info::current_class, pt_spec_info::derived_table, pt_spec_info::derived_table_type, parser_node::info, parser_node::node_type, NULL, PT_IS_SHOWSTMT, pt_make_showstmt_access_spec(), PT_SHOWSTMT, pt_to_pred_expr(), pt_to_regu_variable_list(), pt_showstmt_info::show_args, pt_showstmt_info::show_type, pt_statement_info::showstmt, pt_statement_info::spec, parser_context::symbols, and UNBOX_AS_VALUE.
Referenced by pt_to_spec_list().
|
static |
Definition at line 10151 of file xasl_generation.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_function_info::arg_list, assert, pt_value_info::data_value, EQ_NA, error(), pt_statement_info::expr, F_MIDXKEY, F_SEQUENCE, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, key_info::is_constant, key_range::key1, key_range::key2, key_info::key_cnt, key_info::key_ranges, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, parser_node::or_next, parser_append_node(), parser_free_tree(), parser_new_node(), PT_BETWEEN_EQ_NA, PT_FUNCTION, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_IS_EXPR_NODE_WITH_OPERATOR, PT_IS_FUNCTION, pt_is_set_type, PT_IS_VALUE_NODE, pt_point(), PT_RANGE, pt_to_regu_variable(), PT_TYPE_MIDXKEY, PT_VALUE, key_range::range, regu_array_alloc(), pt_data_value::set, parser_node::type_enum, UNBOX_AS_VALUE, VALIDATE_REGU_KEY, and pt_statement_info::value.
Referenced by pt_to_index_info().
|
static |
Definition at line 5439 of file xasl_generation.c.
References pt_sort_spec_info::asc_or_desc, assert, DB_TYPE_BLOB, DB_TYPE_CLOB, DB_TYPE_VARIABLE, qfile_tuple_value_position::dom, ER_REGU_SYSTEM, pt_sort_spec_info::expr, F_CLASS_OF, pt_statement_info::function, pt_function_info::function_type, pt_function_info::hidden_column, pt_name_info::hidden_column, i, parser_node::info, MSGCAT_SEMANTIC_NO_GROUPBY_ALLOWED, MSGCAT_SEMANTIC_NO_ORDERBY_ALLOWED, MSGCAT_SEMANTIC_NOT_ALLOWED_IN_WINDOW, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, sort_list::next, parser_node::next, parser_node::node_type, NULL, sort_list::pos_descr, pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, PT_ASC, PT_ERRORmf, PT_FUNCTION, pt_has_error, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_NAME, pt_short_print(), PT_SORT_SPEC, pt_to_null_ordering(), PT_TYPE_NONE, pt_xasl_node_to_domain(), regu_alloc(), regu_set_error_with_zero_args(), S_ASC, S_DESC, sort_list::s_nulls, sort_list::s_order, SORT_LIST_AFTER_GROUPBY, SORT_LIST_AFTER_ISCAN, SORT_LIST_ANALYTIC_WINDOW, SORT_LIST_GROUPBY, SORT_LIST_ORDERBY, pt_statement_info::sort_spec, TP_DOMAIN_TYPE, and parser_node::type_enum.
Referenced by pt_generate_simple_analytic_eval_type(), pt_sort_list_from_metadomain(), pt_to_after_groupby(), pt_to_after_iscan(), pt_to_groupby(), and pt_to_orderby().
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 | ||
) |
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().
|
static |
Definition at line 12538 of file xasl_generation.c.
References ACCESS_METHOD_SEQUENTIAL, pt_spec_info::as_attr_list, symbol_info::current_class, symbol_info::current_listfile, free_and_init, pt_spec_info::id, parser_node::info, symbol_info::listfile_unbox, NO_ERROR, NULL, parser_free_tree(), pt_find_table_info(), pt_make_list_access_spec(), pt_split_attrs(), pt_split_hash_attrs(), pt_to_position_regu_variable_list(), pt_to_pred_expr(), pt_to_regu_variable_list(), pt_statement_info::query, pt_statement_info::spec, parser_context::symbols, symbol_info::table_info, UNBOX_AS_VALUE, table_info::value_list, and pt_query_info::xasl.
Referenced by pt_to_spec_list().
|
static |
Definition at line 13281 of file xasl_generation.c.
References uncorr_info::level, NULL, parser_walk_leaves(), pt_uncorr_post(), pt_uncorr_pre(), and uncorr_info::xasl.
Referenced by pt_set_aptr().
|
static |
Definition at line 16795 of file xasl_generation.c.
References pt_query_info::all_distinct, pt_union_info::arg1, pt_union_info::arg2, xasl_node::cardinality, DIFFERENCE_PROC, pt_query_info::flag, parser_node::info, INTERSECTION_PROC, xasl_node::is_single_tuple, union_proc_node::left, pt_query_info::limit, xasl_node::limit_offset, xasl_node::limit_row_count, parser_node::next, NULL, xasl_node::option, xasl_node::ordbynum_flag, xasl_node::ordbynum_pred, xasl_node::ordbynum_val, pt_query_info::order_by, pt_query_info::orderby_for, xasl_node::orderby_list, xasl_node::proc, xasl_node::projected_size, PT_ALL, PT_PRED_ARG_ORDBYNUM_CONTINUE, pt_set_aptr(), pt_set_numbering_node_etc(), pt_to_orderby(), pt_to_pred_expr_with_arg(), pt_to_regu_variable(), pt_query_info::q, Q_ALL, Q_DISTINCT, pt_statement_info::query, regu_xasl_node_alloc(), union_proc_node::right, pt_query_info::single_tuple, UNBOX_AS_VALUE, xasl_node::union_, pt_query_info::union_, UNION_PROC, pt_query_info::xasl, XASL_CLEAR_FLAG, XASL_ORDBYNUM_FLAG_SCAN_CONTINUE, and XASL_SKIP_ORDERBY_LIST.
Referenced by pt_plan_set_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 | ||
) |
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().
|
static |
Definition at line 13199 of file xasl_generation.c.
References assert, pt_query_info::correlation_level, pt_statement_info::cte, if(), parser_node::info, uncorr_info::level, parser_node::node_type, pt_cte_info::non_recursive_part, pt_append_xasl(), PT_CTE, PT_DIFFERENCE, PT_INTERSECTION, PT_IS_QUERY, pt_is_subquery(), PT_IS_VALUE_NODE, PT_SELECT, PT_UNION, pt_statement_info::query, uncorr_info::xasl, pt_cte_info::xasl, and pt_query_info::xasl.
Referenced by pt_to_uncorr_subquery_list(), and pt_uncorr_pre().
|
static |
Definition at line 13157 of file xasl_generation.c.
References uncorr_info::level, parser_node::next, parser_node::node_type, parser_walk_tree(), PT_CONTINUE_WALK, PT_CTE, PT_IS_QUERY_NODE_TYPE, PT_LEAF_WALK, PT_STOP_WALK, and pt_uncorr_post().
Referenced by pt_to_uncorr_subquery_list().
|
static |
Definition at line 2246 of file xasl_generation.c.
References db_datetime::date, db_date_encode(), db_datetime_decode(), db_strftime(), NULL, pt_data_type_to_db_domain(), db_datetime::time, and tp_domain_cache().
Referenced by pt_to_regu_variable().
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 | proc_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().
void qo_plan_lite_print | ( | QO_PLAN * | plan, |
FILE * | f, | ||
int | howfar | ||
) |
Definition at line 4432 of file query_planner.c.
References qo_plan::vtbl.
Referenced by pt_plan_query(), qo_follow_info(), qo_join_info(), qo_plan_dump(), and qo_sort_info().
Definition at line 5808 of file xasl_generation.c.
References assert, db_get_class(), db_get_object(), db_is_vclass(), db_make_oid(), db_make_sequence(), db_real_instance(), db_seq_create(), db_seq_put(), DB_TYPE_OBJECT, DB_TYPE_VOBJ, db_value_alter_type(), DB_VALUE_TYPE, ER_GENERIC_ERROR, NO_ERROR, NULL, OID_SET_NULL, pr_clear_value(), regu_alloc(), vid_get_keys(), ws_identifier(), and WS_ISVID.
Referenced by pt_make_regu_constant(), and setof_mop_to_setof_vobj().
|
static |
Definition at line 5914 of file xasl_generation.c.
References db_seq_size(), db_set_get(), DB_TYPE_OBJECT, db_value_clear(), DB_VALUE_DOMAIN_TYPE, and i.
Referenced by pt_make_regu_constant().
|
static |
Definition at line 5947 of file xasl_generation.c.
References DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_get_object(), db_identifier(), DB_IS_NULL, db_make_multiset(), db_make_object(), db_make_sequence(), db_make_set(), db_seq_create(), db_seq_put(), db_seq_size(), db_set_add(), db_set_create_basic(), db_set_create_multi(), db_set_get(), db_set_type(), DB_TYPE_MULTISET, DB_TYPE_OBJECT, DB_TYPE_SET, db_value_clear(), db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, er_errid(), ER_FAILED, ER_HEAP_UNKNOWN_OBJECT, i, NO_ERROR, NULL, pr_is_set_type(), PT_INTERNAL_ERROR, pt_register_orphan_db_value(), regu_alloc(), regu_make_constant_vid(), WS_IS_DELETED, WS_ISVID, and ws_mop().
Referenced by pt_make_regu_constant().
|
static |
Definition at line 24499 of file xasl_generation.c.
References T_ABS, T_ACOS, T_ADD_MONTHS, T_ADDDATE, T_AES_DECRYPT, T_AES_ENCRYPT, T_ASIN, T_ATAN, T_ATAN2, T_BIT_COUNT, T_BIT_LENGTH, T_CEIL, T_CHAR_LENGTH, T_CHR, T_CONV_TZ, T_COS, T_COT, T_CRC32, T_DATE, T_DATE_ADD, T_DATE_FORMAT, T_DATE_SUB, T_DATEDIFF, T_DAY, T_DAYOFWEEK, T_DAYOFYEAR, T_DEGREES, T_EXP, T_FLOOR, T_FORMAT, T_FROM_BASE64, T_FROM_UNIXTIME, T_FROMDAYS, T_GREATEST, T_HOUR, T_IFNULL, T_INET_ATON, T_INET_NTOA, T_INSTR, T_LAST_DAY, T_LEAST, T_LEFT, T_LN, 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_NULLIF, T_NVL, T_NVL2, T_OCTET_LENGTH, T_POSITION, T_POWER, T_QUARTER, T_RADIANS, T_REPEAT, T_REPLACE, T_REVERSE, T_RIGHT, T_ROUND, T_RPAD, T_RTRIM, T_SECOND, T_SECTOTIME, T_SHA_ONE, T_SHA_TWO, T_SIN, T_SPACE, T_SQRT, T_STR_TO_DATE, T_STRCMP, T_SUBDATE, T_SUBSTRING, T_SUBSTRING_INDEX, 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_NUMBER, T_TO_TIME, T_TO_TIMESTAMP, T_TO_TIMESTAMP_TZ, T_TODAYS, T_TRANSLATE, T_TRIM, T_TRUNC, T_TZ_OFFSET, T_UNIX_TIMESTAMP, T_UPPER, T_WEEK, T_WEEKDAY, T_YEAR, TYPE_INARITH, and VALIDATE_REGU_KEY_HELPER.
|
static |
Definition at line 149 of file xasl_generation.c.
Referenced by pt_optimize_analytic_list().
|
static |
Definition at line 368 of file xasl_generation.c.
Referenced by pt_serial_to_xasl_class_oid_list(), and pt_spec_to_xasl_class_oid_list().
char* query_Plan_dump_filename = NULL |
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 = NULL |
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().
|
static |
Definition at line 366 of file xasl_generation.c.