CUBRID Engine  latest
xasl_generation.h File Reference
#include "dbtype_def.h"
#include "object_domain.h"
#include "optimizer.h"
#include "parser.h"
#include "regu_var.hpp"
#include "xasl.h"
Include dependency graph for xasl_generation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  table_info
 
struct  symbol_info
 
struct  aggregate_info
 
struct  analytic_info
 
struct  COMPATIBLE_INFO
 

Namespaces

 cubxasl
 

Macros

#define MATCH_ALL   1
 
#define PT_PRED_ARG_INSTNUM_CONTINUE   0x01
 
#define PT_PRED_ARG_GRBYNUM_CONTINUE   0x02
 
#define PT_PRED_ARG_ORDBYNUM_CONTINUE   0x04
 

Typedefs

using PRED_EXPR = cubxasl::pred_expr
 
typedef struct table_info TABLE_INFO
 
typedef struct symbol_info SYMBOL_INFO
 
typedef struct aggregate_info AGGREGATE_INFO
 
typedef struct analytic_info ANALYTIC_INFO
 

Enumerations

enum  UNBOX { UNBOX_AS_VALUE, UNBOX_AS_TABLE }
 
enum  COMPATIBLE_LEVEL { NOT_COMPATIBLE = 0, ENTITY_COMPATIBLE, NOT_COMPATIBLE_NO_RESET }
 

Functions

REGU_VARIABLEpt_to_regu_variable (PARSER_CONTEXT *p, PT_NODE *node, UNBOX unbox)
 
PRED_EXPRpt_to_pred_expr (PARSER_CONTEXT *parser, PT_NODE *node)
 
PRED_EXPRpt_to_pred_expr_with_arg (PARSER_CONTEXT *parser, PT_NODE *node_list, int *argp)
 
XASL_NODEparser_generate_xasl (PARSER_CONTEXT *p, PT_NODE *node)
 
REGU_VARIABLEpt_make_regu_arith (const REGU_VARIABLE *arg1, const REGU_VARIABLE *arg2, const REGU_VARIABLE *arg3, const OPERATOR_TYPE op, const TP_DOMAIN *domain)
 
TP_DOMAINpt_xasl_type_enum_to_domain (const PT_TYPE_ENUM type)
 
TP_DOMAINpt_xasl_node_to_domain (PARSER_CONTEXT *parser, const PT_NODE *node)
 
PT_NODEpt_to_upd_del_query (PARSER_CONTEXT *parser, PT_NODE *select_names, PT_NODE *select_list, PT_NODE *from, PT_NODE *with, PT_NODE *class_specs, PT_NODE *where, PT_NODE *using_index, PT_NODE *order_by, PT_NODE *orderby_for, int server_op, SCAN_OPERATION_TYPE scan_op_type)
 
XASL_NODEpt_to_insert_xasl (PARSER_CONTEXT *parser, PT_NODE *node)
 
PRED_EXPR_WITH_CONTEXTpt_to_pred_with_context (PARSER_CONTEXT *parser, PT_NODE *filter_pred, PT_NODE *spec)
 
XASL_NODEpt_to_update_xasl (PARSER_CONTEXT *parser, PT_NODE *statement, PT_NODE **non_null_attrs)
 
XASL_NODEpt_to_delete_xasl (PARSER_CONTEXT *parser, PT_NODE *node)
 
XASL_NODEpt_append_xasl (XASL_NODE *to, XASL_NODE *from_list)
 
XASL_NODEpt_remove_xasl (XASL_NODE *xasl_list, XASL_NODE *remove)
 
ACCESS_SPEC_TYPEpt_to_spec_list (PARSER_CONTEXT *parser, PT_NODE *flat, PT_NODE *where_key_part, PT_NODE *where_part, QO_PLAN *plan, QO_XASL_INDEX_INFO *indx, PT_NODE *src_derived_table, PT_NODE *where_hash_part)
 
XASL_NODEpt_to_fetch_proc (PARSER_CONTEXT *parser, PT_NODE *spec, PT_NODE *pred)
 
VAL_LISTpt_to_val_list (PARSER_CONTEXT *parser, UINTPTR id)
 
SORT_LISTpt_to_orderby (PARSER_CONTEXT *parser, PT_NODE *order_list, PT_NODE *root)
 
XASL_NODEpt_skeleton_buildlist_proc (PARSER_CONTEXT *parser, PT_NODE *namelist)
 
XASL_NODEptqo_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)
 
XASL_NODEptqo_to_list_scan_proc (PARSER_CONTEXT *parser, XASL_NODE *xasl, PROC_TYPE type, XASL_NODE *listfile, PT_NODE *namelist, PT_NODE *pred, int *poslist)
 
SORT_LISTptqo_single_orderby (PARSER_CONTEXT *parser)
 
XASL_NODEptqo_to_merge_list_proc (PARSER_CONTEXT *parser, XASL_NODE *left, XASL_NODE *right, JOIN_TYPE join_type)
 
void pt_set_dptr (PARSER_CONTEXT *parser, PT_NODE *node, XASL_NODE *xasl, UINTPTR id)
 
PT_NODEpt_flush_classes (PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
 
int pt_is_single_tuple (PARSER_CONTEXT *parser, PT_NODE *select_node)
 
void pt_to_pos_descr (PARSER_CONTEXT *parser, QFILE_TUPLE_VALUE_POSITION *pos_p, PT_NODE *node, PT_NODE *root, PT_NODE **referred_node)
 
void pt_to_pos_descr_groupby (PARSER_CONTEXT *parser, QFILE_TUPLE_VALUE_POSITION *pos_p, PT_NODE *node, PT_NODE *root)
 
void pt_set_numbering_node_etc (PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **instnum_valp, DB_VALUE **ordbynum_valp)
 
PT_NODEpt_get_numbering_node_etc (PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
 
void pt_set_level_node_etc (PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **level_valp)
 
void pt_set_isleaf_node_etc (PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **isleaf_valp)
 
void pt_set_iscycle_node_etc (PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **iscycle_valp)
 
void pt_set_connect_by_operator_node_etc (PARSER_CONTEXT *parser, PT_NODE *node_list, XASL_NODE *xasl)
 
void pt_set_qprior_node_etc (PARSER_CONTEXT *parser, PT_NODE *node_list, XASL_NODE *xasl)
 
XASL_NODEpt_gen_simple_merge_plan (PARSER_CONTEXT *parser, PT_NODE *select_node, QO_PLAN *plan, XASL_NODE *xasl)
 
XASL_NODEparser_generate_do_stmt_xasl (PARSER_CONTEXT *p, PT_NODE *node)
 
FUNC_PREDpt_to_func_pred (PARSER_CONTEXT *parser, PT_NODE *spec, PT_NODE *expr)
 
PT_NODEpt_to_merge_update_query (PARSER_CONTEXT *parser, PT_NODE *select_list, PT_MERGE_INFO *info)
 
PT_NODEpt_to_merge_insert_query (PARSER_CONTEXT *parser, PT_NODE *select_list, PT_MERGE_INFO *info)
 
XASL_NODEpt_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)
 
int pt_copy_upddel_hints_to_select (PARSER_CONTEXT *parser, PT_NODE *node, PT_NODE *select_stmt)
 
PT_NODEpt_set_orderby_for_sort_limit_plan (PARSER_CONTEXT *parser, PT_NODE *statement, PT_NODE *name_list)
 
SORT_NULLS pt_to_null_ordering (PT_NODE *sort_spec)
 
int pt_find_omitted_default_expr (PARSER_CONTEXT *parser, DB_OBJECT *class_obj, PT_NODE *specified_attrs, PT_NODE **default_expr_attrs)
 
int pt_append_omitted_on_update_expr_assignments (PARSER_CONTEXT *parser, PT_NODE *assigns, PT_NODE *from)
 
XASL_NODEpt_to_instnum_pred (PARSER_CONTEXT *parser, XASL_NODE *xasl, PT_NODE *pred)
 

Variables

char * query_Plan_dump_filename
 
FILE * query_Plan_dump_fp
 

Macro Definition Documentation

#define PT_PRED_ARG_GRBYNUM_CONTINUE   0x02
#define PT_PRED_ARG_INSTNUM_CONTINUE   0x01

Typedef Documentation

Definition at line 98 of file xasl_generation.h.

typedef struct analytic_info ANALYTIC_INFO

Definition at line 112 of file xasl_generation.h.

Definition at line 48 of file xasl_generation.h.

typedef struct symbol_info SYMBOL_INFO

Definition at line 81 of file xasl_generation.h.

typedef struct table_info TABLE_INFO

Definition at line 57 of file xasl_generation.h.

Enumeration Type Documentation

Enumerator
NOT_COMPATIBLE 
ENTITY_COMPATIBLE 
NOT_COMPATIBLE_NO_RESET 

Definition at line 124 of file xasl_generation.h.

enum UNBOX
Enumerator
UNBOX_AS_VALUE 
UNBOX_AS_TABLE 

Definition at line 79 of file xasl_generation.h.

Function Documentation

XASL_NODE* parser_generate_xasl ( PARSER_CONTEXT p,
PT_NODE node 
)
XASL_NODE* pt_append_xasl ( XASL_NODE to,
XASL_NODE from_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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

int pt_is_single_tuple ( PARSER_CONTEXT parser,
PT_NODE select_node 
)
XASL_NODE* pt_remove_xasl ( XASL_NODE xasl_list,
XASL_NODE remove 
)

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().

Here is the caller graph for this function:

void pt_set_connect_by_operator_node_etc ( PARSER_CONTEXT parser,
PT_NODE node_list,
XASL_NODE xasl 
)
void pt_set_dptr ( PARSER_CONTEXT parser,
PT_NODE node,
XASL_NODE xasl,
UINTPTR  id 
)
void pt_set_iscycle_node_etc ( PARSER_CONTEXT parser,
PT_NODE node_list,
DB_VALUE **  iscycle_valp 
)
void pt_set_isleaf_node_etc ( PARSER_CONTEXT parser,
PT_NODE node_list,
DB_VALUE **  isleaf_valp 
)
void pt_set_level_node_etc ( PARSER_CONTEXT parser,
PT_NODE node_list,
DB_VALUE **  level_valp 
)
void pt_set_numbering_node_etc ( PARSER_CONTEXT parser,
PT_NODE node_list,
DB_VALUE **  instnum_valp,
DB_VALUE **  ordbynum_valp 
)
void pt_set_qprior_node_etc ( PARSER_CONTEXT parser,
PT_NODE node_list,
XASL_NODE xasl 
)
XASL_NODE* pt_skeleton_buildlist_proc ( PARSER_CONTEXT parser,
PT_NODE namelist 
)

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().

Here is the caller graph for this function:

XASL_NODE* pt_to_delete_xasl ( PARSER_CONTEXT parser,
PT_NODE node 
)

Definition at line 19891 of file xasl_generation.c.

References parser_node::alias_print, xasl_node::aptr_list, ARG_FILE_LINE, assert, upddel_class_info::att_id, upddel_class_info::class_hfid, xasl_node::class_locks, sm_attribute::class_mop, upddel_class_info::class_oid, xasl_node::class_oid_list, pt_delete_info::class_specs, delete_proc_node::classes, COPY_OID, cubregex::count(), xasl_node::creator_oid, db_attribute_next(), db_get_attributes(), db_get_user(), pt_name_info::db_object, DB_TYPE_BLOB, DB_TYPE_CLOB, xasl_node::dbval_cnt, xasl_node::delete_, pt_statement_info::delete_, DELETE_PROC, pt_spec_info::derived_table, er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_HEAP_UNKNOWN_OBJECT, er_msg(), er_set(), error(), xasl_node::flag, pt_spec_info::flag, pt_spec_info::flat_entity_list, pt_select_info::from, pt_select_info::group_by, upddel_class_info::has_uniques, sm_attribute::header, HFID_COPY, pt_delete_info::hint, i, pr_type::id, sm_attribute::id, pt_spec_info::id, ID_ATTRIBUTE, ID_SHARED_ATTRIBUTE, parser_node::info, pt_delete_info::limit, xasl_node::limit_offset, xasl_node::limit_row_count, pt_select_info::list, upddel_class_info::lob_attr_ids, pt_name_info::meta_class, mq_translate(), delete_proc_node::mvcc_reev_classes, pt_query_info::mvcc_reev_extra_cls_cnt, xasl_node::n_oid_list, sm_component::name, pt_statement_info::name, sm_component::name_space, upddel_class_info::needs_pruning, sm_component::next, parser_node::next, NO_ERROR, delete_proc_node::no_logging, parser_node::node_type, NULL, upddel_class_info::num_attrs, delete_proc_node::num_classes, upddel_class_info::num_lob_attrs, delete_proc_node::num_reev_classes, upddel_class_info::num_subclasses, OID_SET_NULL, pt_name_info::original, parser_append_node(), parser_free_node(), parser_free_tree(), xasl_node::proc, pt_copy_upddel_hints_to_select(), pt_db_to_type_enum(), PT_ERRORc, pt_find_spec(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, PT_IS_HINT_NODE, PT_IS_SPEC_FLAG_SET, pt_make_aptr_parent_node(), pt_mark_spec_list_for_update_clause(), pt_mvcc_flag_specs_cond_reev(), pt_mvcc_prepare_upd_del_select(), pt_name(), PT_NORMAL, pt_report_to_ersys(), PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_MVCC_LOCK_NEEDED, PT_SELECT_INFO_SET_FLAG, PT_SEMANTIC, PT_SHARED, PT_SPEC, PT_SPEC_FLAG_DELETE, PT_SPEC_FLAG_MVCC_COND_REEV, pt_to_regu_variable(), pt_to_upd_del_query(), pt_query_info::q, pt_statement_info::query, xasl_node::query_alias, pt_spec_info::range_var, regu_array_alloc(), regu_int_array_alloc(), regu_oid_array_alloc(), S_DELETE, pt_delete_info::search_cond, pt_query_info::select, sm_get_ch_heap(), sm_is_partitioned_class(), sm_partitioned_class_type(), pt_delete_info::spec, pt_statement_info::spec, pt_name_info::spec_id, xasl_node::tcard_list, sm_attribute::type, parser_node::type_enum, UNBOX_AS_VALUE, pt_query_info::upd_del_class_cnt, pt_delete_info::using_index, delete_proc_node::wait_msecs, pt_delete_info::waitsecs_hint, pt_delete_info::with, ws_identifier(), XASL_CLEAR_FLAG, XASL_INCLUDES_TDE_CLASS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.

Referenced by build_xasl_for_server_delete(), and do_prepare_delete().

Here is the caller graph for this function:

XASL_NODE* pt_to_insert_xasl ( PARSER_CONTEXT parser,
PT_NODE node 
)

Definition at line 18179 of file xasl_generation.c.

References parser_node::alias_print, xasl_node::aptr_list, assert, ASSERT_ERROR_AND_SET, insert_proc_node::att_id, pt_insert_info::attr_list, AU_DISABLE, AU_ENABLE, au_fetch_class(), AU_FETCH_READ, AU_SELECT, insert_proc_node::class_hfid, xasl_supp_info::class_locks, xasl_node::class_locks, insert_proc_node::class_oid, xasl_supp_info::class_oid_list, xasl_node::class_oid_list, COPY_OID, xasl_node::creator_oid, symbol_info::current_class, symbol_info::current_listfile, DB_FETCH_QUERY_READ, db_get_user(), pt_name_info::db_object, xasl_node::dbval_cnt, insert_proc_node::do_replace, pt_insert_info::do_replace, ER_HEAP_UNKNOWN_OBJECT, er_msg(), error(), EXCLUDE_HIDDEN_COLUMNS, xasl_node::flag, parser_context::flag, pt_spec_info::flat_entity_list, pt_select_info::from, insert_proc_node::has_uniques, pt_insert_info::has_uniques, pt_insert_info::hint, i, xasl_supp_info::includes_tde_class, parser_node::info, xasl_node::insert, pt_statement_info::insert, INSERT_PROC, IX_LOCK, pt_node_list_info::list, pt_select_info::list, pt_node_list_info::list_type, symbol_info::listfile_attr_offset, symbol_info::listfile_unbox, symbol_info::listfile_value_list, locator_create_heap_if_needed(), locator_flush_class(), locator_is_class(), MSGCAT_RUNTIME_RESOURCES_EXHAUSTED, MSGCAT_SET_PARSER_RUNTIME, xasl_supp_info::n_oid_list, xasl_node::n_oid_list, pt_statement_info::name, table_info::next, parser_node::next, NO_ERROR, insert_proc_node::no_logging, pt_statement_info::node_list, pt_insert_info::non_null_attrs, NULL, insert_proc_node::num_default_expr, insert_proc_node::num_val_lists, insert_proc_node::num_vals, insert_proc_node::odku, pt_insert_info::odku_assignments, OID_SET_NULL, pt_name_info::original, parser_generate_xasl_post(), parser_generate_xasl_pre(), parser_walk_tree(), xasl_node::proc, insert_proc_node::pruning_type, pt_append_assignment_references(), PT_ERRORc, PT_ERRORm, pt_find_omitted_default_expr(), pt_get_select_list(), pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_NO_LOGGING, pt_init_xasl_supp_info(), PT_INTERNAL_ERROR, PT_IS_HINT_NODE, PT_IS_QUERY, PT_IS_SELECT, PT_IS_SUBQUERY, pt_length_of_list(), pt_length_of_select_list(), pt_make_aptr_parent_node(), pt_make_table_info(), pt_make_val_list(), pt_null_xasl(), pt_report_to_ersys(), PT_SEMANTIC, pt_symbol_info_alloc(), pt_to_constraint_pred(), pt_to_odku_info(), pt_to_outlist(), pt_query_info::q, pt_statement_info::query, xasl_node::query_alias, regu_array_alloc(), regu_int_array_alloc(), regu_oid_array_alloc(), regu_xasl_node_alloc(), parser_context::return_generated_keys, pt_query_info::select, xasl_node::selected_upd_list, sm_att_id(), sm_ch_heap(), sm_is_reuse_oid_class(), sm_partitioned_class_type(), pt_insert_info::spec, pt_statement_info::spec, parser_context::symbols, symbol_info::table_info, xasl_supp_info::tcard_list, xasl_node::tcard_list, sm_class::tde_algorithm, TDE_ALGORITHM_NONE, UNBOX_AS_VALUE, xasl_node::val_list, insert_proc_node::valptr_lists, insert_proc_node::vals, pt_insert_info::value_clauses, insert_proc_node::wait_msecs, pt_insert_info::waitsecs_hint, ws_identifier(), XASL_CLASS_NO_TCARD, XASL_INCLUDES_TDE_CLASS, XASL_RETURN_GENERATED_KEYS, XASL_SET_FLAG, and XASL_WAIT_MSECS_NOCHANGE.

Referenced by do_insert_at_server(), do_prepare_insert_internal(), and pt_make_regu_insert().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

REGU_VARIABLE* pt_to_regu_variable ( PARSER_CONTEXT p,
PT_NODE node,
UNBOX  unbox 
)

Definition at line 7417 of file xasl_generation.c.

References pt_expr_info::arg1, pt_dot_info::arg2, pt_expr_info::arg2, pt_expr_info::arg3, ARG_FILE_LINE, assert, au_user_name(), CAST_POINTER_TO_NODE, pt_expr_info::cast_type, pt_select_info::check_cycles, pt_data_type_info::collation_flag, tp_domain::collation_id, pt_select_info::connect_by, CONNECT_BY_CYCLES_NONE, CONNECT_BY_CYCLES_NONE_IGNORE, symbol_info::current_class, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_get_database_name(), db_get_database_version(), db_get_user_and_host_name(), db_make_int(), pt_name_info::db_object, db_private_free, db_private_free_and_init, db_string_free(), DB_TYPE_INTEGER, DB_TYPE_VARCHAR, db_value_domain_init(), dbname, do_get_serial_cached_num(), pt_statement_info::dot, er_errid(), ER_ERROR_SEVERITY, er_msg(), ER_OBJ_INVALID_ARGUMENTS, er_set(), parser_node::etc, parser_context::etc, EXCLUDE_HIDDEN_COLUMNS, parser_node::expected_domain, pt_statement_info::expr, pt_name_info::hidden_column, pt_data_value::i, if(), parser_node::info, pt_statement_info::insert_value, pt_insert_value_info::is_evaluated, pt_name_info::meta_class, MSGCAT_RUNTIME_WANT_ONE_COL, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SEMANTIC_ISCYCLE_REQUIRES_NOCYCLE, MSGCAT_SEMANTIC_NOT_HIERACHICAL_QUERY, MSGCAT_SEMANTIC_SERIAL_NOT_DEFINED, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, NO_ERROR, pt_pointer_info::node, parser_node::node_type, NULL, pt_expr_info::op, pt_data_value::op, pt_name_info::original, pt_insert_value_info::original_node, parser_context::parent_proc_xasl, parser_copy_tree(), parser_free_node(), parser_free_tree(), parser_generate_xasl(), parser_new_node(), parser_print_tree(), pt_statement_info::pointer, pr_clear_value(), tp_domain::precision, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, pt_append_nulstring(), PT_ASCII, PT_ASIN, PT_ATAN, PT_ATAN2, pt_attribute_to_regu(), PT_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_TO_BLOB, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_BLOB_LENGTH, PT_BLOB_TO_BIT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHAR_TO_BLOB, PT_CHAR_TO_CLOB, PT_CHARSET, PT_CHR, PT_CLASSOID_ATTR, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, PT_CONNECT_BY_ISCYCLE, PT_CONNECT_BY_ISLEAF, PT_CONNECT_BY_ROOT, PT_CONV, PT_CONV_TZ, PT_COS, PT_COT, PT_CRC32, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, PT_CURRENT_VALUE, PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DATEDIFF, PT_DATEF, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, PT_DBTIMEZONE, pt_dbval_to_value(), PT_DECODE, PT_DECR, PT_DECRYPT, PT_DEFAULTF, PT_DEFINE_VARIABLE, PT_DEGREES, PT_DIFFERENCE, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DOT_, PT_DRAND, PT_DRANDOM, PT_ENCRYPT, PT_ERRORc, PT_ERRORm, PT_ERRORmf, pt_evaluate_tree(), PT_EVALUATE_VARIABLE, PT_EXEC_STATS, PT_EXP, PT_EXPR, PT_EXPR_INFO_CAST_COLL_MODIFIER, PT_EXPR_INFO_CAST_NOFAIL, PT_EXPR_INFO_CAST_WRAP, PT_EXPR_INFO_IS_FLAGED, PT_EXTRACT, PT_FIELD, pt_find_value_of_label(), PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION, PT_FUNCTION_HOLDER, pt_function_to_regu(), PT_GET_COLLATION_MODIFIER, pt_get_select_list(), PT_GREATEST, pt_has_error, PT_HEX, PT_HOST_VAR, PT_HOURF, PT_IF, PT_IFNULL, PT_INCR, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSERT, PT_INSERT_VALUE, PT_INST_NUM, PT_INSTR, PT_INTERNAL_ERROR, PT_INTERSECTION, pt_is_op_hv_late_bind(), PT_IS_POINTER_REF_NODE, PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LEAST, PT_LEFT, pt_length_of_select_list(), PT_LEVEL, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LN, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LOG, PT_LOG10, PT_LOG2, PT_LOWER, PT_LPAD, PT_LTRIM, pt_make_prim_data_type(), pt_make_prim_data_type_fortonum(), pt_make_regu_arith(), pt_make_regu_constant(), pt_make_regu_hostvar(), pt_make_regu_insert(), pt_make_regu_iscycle(), pt_make_regu_isleaf(), pt_make_regu_level(), pt_make_regu_numbering(), pt_make_regu_pred(), pt_make_regu_reguvalues_list(), pt_make_regu_subquery(), PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_META_ATTR, PT_META_CLASS, PT_METHOD_CALL, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NAME, PT_NEW_TIME, PT_NEXT_VALUE, pt_node_data_type_to_db_domain(), PT_NODE_LIST, PT_NODE_PRINT_VALUE_TO_TEXT, pt_node_to_db_type(), PT_NORMAL, PT_NULLIF, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_ATTR, PT_OID_OF_DUPLICATE_KEY, PT_ORDERBY_NUM, PT_PARAMETER, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_RAND, PT_RANDOM, PT_REPEAT, PT_REPLACE, PT_REQUIRES_HIERARCHICAL_QUERY, pt_resolve_serial(), PT_REVERSE, PT_RIGHT, PT_ROUND, PT_ROW_COUNT, PT_ROWNUM, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SELECT, PT_SESSIONTIMEZONE, PT_SHA_ONE, PT_SHA_TWO, PT_SHARED, pt_show_binopcode(), PT_SIGN, PT_SIN, PT_SLEEP, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_CONNECT_BY_PATH, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_GUID, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_TAN, PT_TIME_FORMAT, PT_TIMEDIFF, PT_TIMEF, PT_TIMES, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_BASE64, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, pt_to_misc_operand(), PT_TO_NUMBER, pt_to_pred_expr(), pt_to_regu_resolve_domain(), pt_to_regu_variable(), PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRACE_STATS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPE_BIGINT, PT_TYPE_BLOB, PT_TYPE_CLOB, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ENUMERATION, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPEOF, PT_TZ_OFFSET, PT_UNARY_MINUS, PT_UNION, PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VALUE, pt_value_to_db(), PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, pt_xasl_data_type_to_domain(), pt_xasl_node_to_domain(), PT_YEARF, pt_query_info::q, pt_expr_info::qualifier, pt_statement_info::query, symbol_info::query_node, regu_alloc(), REGU_VARIABLE_APPLY_COLLATION, REGU_VARIABLE_FIELD_COMPARE, REGU_VARIABLE_FIELD_NESTED, REGU_VARIABLE_HIDDEN_COLUMN, REGU_VARIABLE_SET_FLAG(), tp_domain::scale, pt_query_info::select, pt_data_value::str, pt_value_info::string_type, strlen, parser_context::symbols, T_ABS, T_ACOS, T_ADD, T_ADD_MONTHS, T_ADDDATE, T_ADDTIME, T_AES_DECRYPT, T_AES_ENCRYPT, T_ASCII, T_ASIN, T_ATAN, T_ATAN2, T_BIN, T_BIT_AND, T_BIT_COUNT, T_BIT_LENGTH, T_BIT_NOT, T_BIT_OR, T_BIT_TO_BLOB, T_BIT_XOR, T_BITSHIFT_LEFT, T_BITSHIFT_RIGHT, T_BLOB_TO_BIT, T_CASE, T_CAST, T_CAST_NOFAIL, T_CAST_WRAP, T_CEIL, T_CHAR_LENGTH, T_CHAR_TO_CLOB, T_CHARSET, T_CHR, T_CLOB_TO_CHAR, T_COALESCE, T_COLLATION, T_CONCAT, T_CONCAT_WS, T_CONNECT_BY_ROOT, T_CONV, T_CONV_TZ, T_COS, T_COT, T_CRC32, T_CURRENT_DATE, T_CURRENT_DATETIME, T_CURRENT_TIME, T_CURRENT_TIMESTAMP, T_CURRENT_VALUE, T_DATE, T_DATE_ADD, T_DATE_FORMAT, T_DATE_SUB, T_DATEDIFF, T_DAY, T_DAYOFWEEK, T_DAYOFYEAR, T_DBTIMEZONE, T_DECODE, T_DECR, T_DEFAULT, T_DEFINE_VARIABLE, T_DEGREES, T_DISK_SIZE, T_DIV, T_DRAND, T_DRANDOM, T_EVALUATE_VARIABLE, T_EXEC_STATS, T_EXP, T_EXTRACT, T_FIELD, T_FINDINSET, T_FLOOR, T_FORMAT, T_FROM_BASE64, T_FROM_TZ, T_FROM_UNIXTIME, T_FROMDAYS, T_GREATEST, T_HEX, T_HOUR, T_IF, T_IFNULL, T_INCR, T_INDEX_CARDINALITY, T_INDEX_PREFIX, T_INET_ATON, T_INET_NTOA, T_INSTR, T_INTDIV, T_INTMOD, T_ISNULL, T_LAST_DAY, T_LAST_INSERT_ID, T_LEAST, T_LEFT, T_LIKE_LOWER_BOUND, T_LIKE_UPPER_BOUND, T_LIST_DBS, T_LN, T_LOB_LENGTH, T_LOCAL_TRANSACTION_ID, T_LOCATE, T_LOG, T_LOG10, T_LOG2, T_LOWER, T_LPAD, T_LTRIM, T_MAKEDATE, T_MAKETIME, T_MD5, T_MID, T_MINUTE, T_MOD, T_MONTH, T_MONTHS_BETWEEN, T_MUL, T_NEW_TIME, T_NEXT_VALUE, T_NULLIF, T_NVL, T_NVL2, T_OCTET_LENGTH, T_PI, T_POSITION, T_POWER, T_PRIOR, T_QPRIOR, T_QUARTER, T_RADIANS, T_RAND, T_RANDOM, T_REPEAT, T_REPLACE, T_REVERSE, T_RIGHT, T_ROUND, T_ROW_COUNT, T_RPAD, T_RTRIM, T_SECOND, T_SECTOTIME, T_SESSIONTIMEZONE, T_SHA_ONE, T_SHA_TWO, T_SIGN, T_SIN, T_SLEEP, T_SPACE, T_SQRT, T_STR_TO_DATE, T_STRCAT, T_STRCMP, T_SUB, T_SUBDATE, T_SUBSTRING, T_SUBSTRING_INDEX, T_SYS_CONNECT_BY_PATH, T_SYS_DATE, T_SYS_DATETIME, T_SYS_GUID, T_SYS_TIME, T_SYS_TIMESTAMP, T_TAN, T_TIME, T_TIME_FORMAT, T_TIMEDIFF, T_TIMESTAMP, T_TIMETOSEC, T_TO_BASE64, T_TO_CHAR, T_TO_DATE, T_TO_DATETIME, T_TO_DATETIME_TZ, T_TO_ENUMERATION_VALUE, T_TO_NUMBER, T_TO_TIME, T_TO_TIMESTAMP, T_TO_TIMESTAMP_TZ, T_TODAYS, T_TRACE_STATS, T_TRANSLATE, T_TRIM, T_TRUNC, T_TYPEOF, T_TZ_OFFSET, T_UNIX_TIMESTAMP, T_UNMINUS, T_UPPER, T_UTC_DATE, T_UTC_TIME, T_UTC_TIMESTAMP, T_WEEK, T_WEEKDAY, T_WIDTH_BUCKET, T_YEAR, tp_domain_cache(), TP_DOMAIN_COLL_LEAVE, tp_domain_resolve_value(), TYPE_CONSTANT, parser_node::type_enum, UNBOX_AS_TABLE, ustr_upper(), pt_insert_value_info::value, pt_statement_info::value, pt_query_info::xasl, XASL_NO_FIXED_SCAN, and XASL_SET_FLAG.

Referenced by pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_join_term_to_regu_variable(), pt_make_pred_term_is(), pt_make_regu_reguvalues_list(), pt_plan_cte(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_buildlist_proc(), pt_to_delete_xasl(), pt_to_func_pred(), pt_to_json_table_spec_list(), pt_to_key_limit(), pt_to_list_key(), pt_to_odku_info(), pt_to_outlist(), pt_to_pred_expr_local_with_arg(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_regu_variable_list(), pt_to_set_expr_table_spec_list(), pt_to_single_key(), pt_to_union_proc(), pt_to_update_xasl(), and qo_get_limit_from_eval_term().

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

VAL_LIST* pt_to_val_list ( PARSER_CONTEXT parser,
UINTPTR  id 
)
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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

Variable Documentation

char* query_Plan_dump_filename

Definition at line 364 of file xasl_generation.c.

Referenced by db_query_plan_dump_file(), and parser_generate_xasl_proc().