CUBRID Engine
latest
|
#include "xasl_regu_alloc.hpp"
#include "dbtype.h"
#include "object_domain.h"
#include "object_primitive.h"
#include "query_list.h"
#include "regu_var.hpp"
#include "xasl.h"
#include "xasl_aggregate.hpp"
#include "xasl_analytic.hpp"
#include "xasl_predicate.hpp"
#include <cstring>
Go to the source code of this file.
Definition at line 405 of file xasl_regu_alloc.cpp.
References assert, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_value_domain_init(), and NO_ERROR.
Referenced by pt_make_function(), pt_make_regu_arith(), pt_make_regu_pred(), pt_make_vid(), pt_set_analytic_node_etc(), pt_to_aggregate_node(), pt_to_analytic_node(), and regu_init().
void regu_init | ( | xasl_node & | node | ) |
Definition at line 54 of file xasl_regu_alloc.cpp.
References xasl_node::iscan_oid_order, xasl_node::list_id, xasl_node::option, prm_get_bool_value(), PRM_ID_BT_INDEX_SCAN_OID_ORDER, Q_ALL, regu_alloc(), S_SELECT, and xasl_node::scan_op_type.
Referenced by regu_init(), and regu_spec_target_init().
void regu_init | ( | access_spec_node & | spec | ) |
Definition at line 141 of file xasl_regu_alloc.cpp.
References access_spec_node::access, ACCESS_METHOD_SEQUENTIAL, ACCESS_SPEC_FLAG_NONE, access_spec_node::flags, access_spec_node::indexptr, access_spec_node::next, NULL, access_spec_node::s_dbval, access_spec_node::single_fetch, access_spec_node::where_key, access_spec_node::where_pred, and access_spec_node::where_range.
void regu_init | ( | indx_info & | ii | ) |
Definition at line 208 of file xasl_regu_alloc.cpp.
References indx_info::class_oid, indx_info::coverage, indx_info::groupby_desc, indx_info::groupby_skip, key_info::is_constant, key_info::is_user_given_keylimit, indx_info::iss_range, key_range::key1, key_range::key2, key_info::key_cnt, indx_info::key_info, key_info::key_limit_l, key_info::key_limit_reset, key_info::key_limit_u, key_info::key_ranges, NA_NA, NULL, OID_SET_NULL, indx_info::orderby_desc, indx_info::orderby_skip, R_KEY, key_range::range, indx_info::range_type, indx_info::use_desc_index, and indx_info::use_iss.
void regu_init | ( | key_range & | kr | ) |
Definition at line 232 of file xasl_regu_alloc.cpp.
References key_range::key1, key_range::key2, NA_NA, NULL, and key_range::range.
void regu_init | ( | sort_list & | sl | ) |
Definition at line 240 of file xasl_regu_alloc.cpp.
References qfile_tuple_value_position::dom, sort_list::next, NULL, sort_list::pos_descr, qfile_tuple_value_position::pos_no, S_ASC, sort_list::s_nulls, S_NULLS_FIRST, sort_list::s_order, and tp_Integer_domain.
void regu_init | ( | qfile_list_id & | list_id | ) |
Definition at line 250 of file xasl_regu_alloc.cpp.
References QFILE_CLEAR_LIST_ID.
void regu_init | ( | cubxasl::pred_expr & | pr | ) |
Definition at line 256 of file xasl_regu_alloc.cpp.
References cubxasl::pred_expr::m_not_term, NULL, cubxasl::pred_expr::pe, T_NOT_TERM, and cubxasl::pred_expr::type.
void regu_init | ( | arith_list_node & | arith | ) |
Definition at line 263 of file xasl_regu_alloc.cpp.
References arith_list_node::domain, LEADING, arith_list_node::leftptr, arith_list_node::misc_operand, NULL, arith_list_node::opcode, arith_list_node::rand_seed, regu_alloc(), arith_list_node::rightptr, T_ADD, arith_list_node::thirdptr, and arith_list_node::value.
void regu_init | ( | function_node & | fnode | ) |
Definition at line 278 of file xasl_regu_alloc.cpp.
References function_node::ftype, NULL, function_node::operand, regu_alloc(), function_node::tmp_obj, and function_node::value.
void regu_init | ( | cubxasl::aggregate_list_node & | agg | ) |
Definition at line 289 of file xasl_regu_alloc.cpp.
References cubxasl::aggregate_list_node::accumulator, cubxasl::aggregate_accumulator::curr_cnt, cubxasl::aggregate_list_node::function, cubxasl::aggregate_list_node::info, cubxasl::aggregate_list_node::list_id, cubxasl::aggregate_list_node::next, NULL, cubxasl::aggregate_list_node::operands, cubxasl::aggregate_list_node::option, regu_alloc(), cubxasl::aggregate_list_node::sort_list, cubxasl::aggregate_accumulator::value, and cubxasl::aggregate_accumulator::value2.
void regu_init | ( | cubxasl::analytic_list_node & | ana | ) |
Definition at line 308 of file xasl_regu_alloc.cpp.
References cubxasl::analytic_list_node::curr_cnt, DB_TYPE_NULL, cubxasl::analytic_list_node::default_idx, cubxasl::analytic_list_node::flag, cubxasl::analytic_list_node::from_last, cubxasl::analytic_list_node::function, cubxasl::analytic_list_node::ignore_nulls, cubxasl::analytic_list_node::is_const_operand, cubxasl::analytic_list_node::list_id, cubxasl::analytic_list_node::next, NULL, cubxasl::analytic_list_node::offset_idx, cubxasl::analytic_list_node::operand, cubxasl::analytic_list_node::opr_dbtype, cubxasl::analytic_list_node::out_value, regu_alloc(), regu_init(), cubxasl::analytic_list_node::sort_list_size, cubxasl::analytic_list_node::sort_prefix_size, cubxasl::analytic_list_node::value, and cubxasl::analytic_list_node::value2.
void regu_init | ( | regu_variable_node & | regu | ) |
Definition at line 332 of file xasl_regu_alloc.cpp.
References regu_variable_node::domain, regu_variable_node::flags, NULL, regu_variable_node::type, TYPE_POS_VALUE, regu_variable_node::regu_data_value::val_pos, regu_variable_node::value, regu_variable_node::vfetch_to, and regu_variable_node::xasl.
void regu_init | ( | regu_variable_list_node & | regu_varlist | ) |
Definition at line 343 of file xasl_regu_alloc.cpp.
References regu_variable_list_node::next, NULL, regu_init(), and regu_variable_list_node::value.
void regu_init | ( | tp_domain & | dom | ) |
Definition at line 350 of file xasl_regu_alloc.cpp.
References DB_TYPE_INTEGER, and tp_domain_init().
void regu_init | ( | OID & | oid | ) |
Definition at line 356 of file xasl_regu_alloc.cpp.
References OID_SET_NULL.
void regu_init | ( | HFID & | hfid | ) |
Definition at line 362 of file xasl_regu_alloc.cpp.
References HFID_SET_NULL.
void regu_init | ( | upddel_class_info & | upddel | ) |
Definition at line 368 of file xasl_regu_alloc.cpp.
References upddel_class_info::att_id, upddel_class_info::class_hfid, upddel_class_info::class_oid, DB_NOT_PARTITIONED_CLASS, upddel_class_info::has_uniques, upddel_class_info::lob_attr_ids, upddel_class_info::mvcc_extra_assign_reev, upddel_class_info::needs_pruning, NULL, upddel_class_info::num_attrs, upddel_class_info::num_extra_assign_reev, upddel_class_info::num_lob_attrs, and upddel_class_info::num_subclasses.
void regu_init | ( | update_assignment & | assign | ) |
Definition at line 384 of file xasl_regu_alloc.cpp.
References update_assignment::att_idx, update_assignment::cls_idx, update_assignment::constant, NULL, and update_assignment::regu_var.
void regu_init | ( | selupd_list & | selupd | ) |
Definition at line 393 of file xasl_regu_alloc.cpp.
References selupd_list::class_hfid, selupd_list::class_oid, vfid::fileid, hfid::hpgid, selupd_list::next, NULL, NULL_FILEID, NULL_PAGEID, NULL_VOLID, regu_init(), selupd_list::select_list, selupd_list::select_list_size, hfid::vfid, and vfid::volid.
void regu_init | ( | db_value & | dbval | ) |
Definition at line 414 of file xasl_regu_alloc.cpp.
References DB_TYPE_NULL, and regu_dbval_type_init().
int* regu_int_array_alloc | ( | int | size | ) |
Definition at line 420 of file xasl_regu_alloc.cpp.
References NULL, and regu_array_alloc().
Referenced by parser_generate_xasl(), pt_init_pred_expr_context(), pt_make_class_access_spec(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_merge_xasl(), pt_to_method_arglist(), pt_to_odku_info(), and pt_to_update_xasl().
OID* regu_oid_array_alloc | ( | int | size | ) |
Definition at line 428 of file xasl_regu_alloc.cpp.
References NULL, and regu_array_alloc().
Referenced by parser_generate_xasl(), pt_to_delete_xasl(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_merge_xasl(), and pt_to_update_xasl().
access_spec_node* regu_spec_alloc | ( | TARGET_TYPE | type | ) |
Definition at line 127 of file xasl_regu_alloc.cpp.
References NULL, regu_alloc(), and regu_spec_target_init().
Referenced by pt_make_access_spec().
|
static |
Definition at line 155 of file xasl_regu_alloc.cpp.
References ACCESS_SPEC_CLS_OID, ACCESS_SPEC_HFID, ACCESS_SPEC_JSON_TABLE_M_NODE_COUNT, ACCESS_SPEC_JSON_TABLE_REGU_VAR, ACCESS_SPEC_JSON_TABLE_ROOT_NODE, ACCESS_SPEC_METHOD_REGU_LIST, ACCESS_SPEC_METHOD_SIG_LIST, ACCESS_SPEC_SET_PTR, ACCESS_SPEC_SET_REGU_LIST, ACCESS_SPEC_XASL_NODE, showstmt_spec_node::arg_list, cls_spec_node::attrids_range, cls_spec_node::cache_range, hybrid_node::cls_node, 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_rest, list_spec_node::hash_list_scan_yn, 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, NULL_FILEID, NULL_PAGEID, NULL_VOLID, cls_spec_node::num_attrs_range, regu_init(), access_spec_node::s, showstmt_spec_node::show_type, hybrid_node::showstmt_node, SHOWSTMT_NULL, TARGET_CLASS, TARGET_CLASS_ATTR, TARGET_JSON_TABLE, TARGET_LIST, TARGET_METHOD, TARGET_SET, TARGET_SHOWSTMT, and access_spec_node::type.
Referenced by regu_spec_alloc().
Definition at line 41 of file xasl_regu_alloc.cpp.
References NULL, regu_alloc(), and regu_xasl_proc_init().
Referenced by parser_generate_do_stmt_xasl(), pt_make_aptr_parent_node(), pt_make_connect_by_proc(), pt_plan_cte(), pt_skeleton_buildlist_proc(), pt_to_buildlist_proc(), pt_to_buildschema_proc(), pt_to_buildvalue_proc(), pt_to_fetch_as_scan_proc(), pt_to_fetch_proc(), pt_to_insert_xasl(), pt_to_merge_xasl(), pt_to_union_proc(), ptqo_to_list_scan_proc(), ptqo_to_merge_list_proc(), and ptqo_to_scan_proc().
Definition at line 66 of file xasl_regu_alloc.cpp.
References BUILDLIST_PROC, BUILDVALUE_PROC, xasl_node::connect_by, CONNECTBY_PROC, xasl_node::cte, CTE_PROC, DELETE_PROC, DIFFERENCE_PROC, DO_PROC, connectby_proc_node::input_list_id, INSERT_PROC, merge_proc_node::insert_xasl, INTERSECTION_PROC, xasl_node::merge, MERGE_PROC, MERGELIST_PROC, cte_proc_node::non_recursive_part, NULL, OBJFETCH_PROC, xasl_node::option, xasl_node::proc, Q_DISTINCT, cte_proc_node::recursive_part, regu_alloc(), SCAN_PROC, connectby_proc_node::start_with_list_id, xasl_node::type, UNION_PROC, UPDATE_PROC, and merge_proc_node::update_xasl.
Referenced by regu_xasl_node_alloc().