24 #ifndef _XASL_GENERATION_H_ 25 #define _XASL_GENERATION_H_ 29 #if defined (SERVER_MODE) 30 #error Does not belong to server module 45 struct analytic_list_node;
53 #define PT_PRED_ARG_INSTNUM_CONTINUE 0x01 54 #define PT_PRED_ARG_GRBYNUM_CONTINUE 0x02 55 #define PT_PRED_ARG_ORDBYNUM_CONTINUE 0x04 202 PT_NODE ** default_expr_attrs);
REGU_VARIABLE_LIST regu_list
int pt_copy_upddel_hints_to_select(PARSER_CONTEXT *parser, PT_NODE *node, PT_NODE *select_stmt)
COMPATIBLE_LEVEL compatible
void pt_set_iscycle_node_etc(PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **iscycle_valp)
XASL_NODE * pt_skeleton_buildlist_proc(PARSER_CONTEXT *parser, PT_NODE *namelist)
XASL_NODE * ptqo_to_merge_list_proc(PARSER_CONTEXT *parser, XASL_NODE *left, XASL_NODE *right, JOIN_TYPE join_type)
REGU_VARIABLE * pt_to_regu_variable(PARSER_CONTEXT *p, PT_NODE *node, UNBOX unbox)
void pt_to_pos_descr_groupby(PARSER_CONTEXT *parser, QFILE_TUPLE_VALUE_POSITION *pos_p, PT_NODE *node, PT_NODE *root)
XASL_NODE * pt_gen_simple_merge_plan(PARSER_CONTEXT *parser, PT_NODE *select_node, QO_PLAN *plan, XASL_NODE *xasl)
enum pt_type_enum PT_TYPE_ENUM
XASL_NODE * pt_to_update_xasl(PARSER_CONTEXT *parser, PT_NODE *statement, PT_NODE **non_null_attrs)
cubxasl::analytic_list_node * head_list
int pt_is_single_tuple(PARSER_CONTEXT *parser, PT_NODE *select_node)
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)
PT_NODE * pt_to_merge_update_query(PARSER_CONTEXT *parser, PT_NODE *select_list, PT_MERGE_INFO *info)
HEAP_CACHE_ATTRINFO * cache_attrinfo
PRED_EXPR * pt_to_pred_expr_with_arg(PARSER_CONTEXT *parser, PT_NODE *node_list, int *argp)
AGGREGATE_TYPE * head_list
DB_VALUE ** reserved_values
VAL_LIST * listfile_value_list
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)
void pt_set_level_node_etc(PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **level_valp)
SORT_LIST * pt_to_orderby(PARSER_CONTEXT *parser, PT_NODE *order_list, PT_NODE *root)
XASL_NODE * pt_remove_xasl(XASL_NODE *xasl_list, XASL_NODE *remove)
XASL_NODE * ptqo_to_list_scan_proc(PARSER_CONTEXT *parser, XASL_NODE *xasl, PROC_TYPE type, XASL_NODE *listfile, PT_NODE *namelist, PT_NODE *pred, int *poslist)
char * query_Plan_dump_filename
TP_DOMAIN * pt_xasl_type_enum_to_domain(const PT_TYPE_ENUM type)
int pt_find_omitted_default_expr(PARSER_CONTEXT *parser, DB_OBJECT *class_obj, PT_NODE *specified_attrs, PT_NODE **default_expr_attrs)
XASL_NODE * pt_to_instnum_pred(PARSER_CONTEXT *parser, XASL_NODE *xasl, PT_NODE *pred)
void pt_set_numbering_node_etc(PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **instnum_valp, DB_VALUE **ordbynum_valp)
void pt_set_connect_by_operator_node_etc(PARSER_CONTEXT *parser, PT_NODE *node_list, XASL_NODE *xasl)
FILE * query_Plan_dump_fp
PT_NODE * pt_set_orderby_for_sort_limit_plan(PARSER_CONTEXT *parser, PT_NODE *statement, PT_NODE *name_list)
XASL_NODE * pt_to_delete_xasl(PARSER_CONTEXT *parser, PT_NODE *node)
PRED_EXPR_WITH_CONTEXT * pt_to_pred_with_context(PARSER_CONTEXT *parser, PT_NODE *filter_pred, PT_NODE *spec)
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)
void pt_to_pos_descr(PARSER_CONTEXT *parser, QFILE_TUPLE_VALUE_POSITION *pos_p, PT_NODE *node, PT_NODE *root, PT_NODE **referred_node)
XASL_NODE * ptqo_to_scan_proc(PARSER_CONTEXT *parser, QO_PLAN *plan, XASL_NODE *xasl, PT_NODE *spec, PT_NODE *where_key_part, PT_NODE *where_part, QO_XASL_INDEX_INFO *info, PT_NODE *where_hash_part)
void pt_set_qprior_node_etc(PARSER_CONTEXT *parser, PT_NODE *node_list, XASL_NODE *xasl)
VAL_LIST * pt_to_val_list(PARSER_CONTEXT *parser, UINTPTR id)
TP_DOMAIN * pt_xasl_node_to_domain(PARSER_CONTEXT *parser, const PT_NODE *node)
PT_NODE * pt_flush_classes(PARSER_CONTEXT *parser, PT_NODE *tree, void *arg, int *continue_walk)
XASL_NODE * pt_append_xasl(XASL_NODE *to, XASL_NODE *from_list)
class regu_variable_node REGU_VARIABLE
PT_NODE * pt_to_merge_insert_query(PARSER_CONTEXT *parser, PT_NODE *select_list, PT_MERGE_INFO *info)
PRED_EXPR * pt_to_pred_expr(PARSER_CONTEXT *parser, PT_NODE *node)
SORT_NULLS pt_to_null_ordering(PT_NODE *sort_spec)
void pt_set_dptr(PARSER_CONTEXT *parser, PT_NODE *node, XASL_NODE *xasl, UINTPTR id)
int pt_append_omitted_on_update_expr_assignments(PARSER_CONTEXT *parser, PT_NODE *assigns, PT_NODE *from)
PT_NODE * pt_get_numbering_node_etc(PARSER_CONTEXT *parser, PT_NODE *node, void *arg, int *continue_walk)
PT_NODE * current_listfile
XASL_NODE * parser_generate_xasl(PARSER_CONTEXT *p, PT_NODE *node)
XASL_NODE * pt_to_insert_xasl(PARSER_CONTEXT *parser, PT_NODE *node)
FUNC_PRED * pt_to_func_pred(PARSER_CONTEXT *parser, PT_NODE *spec, PT_NODE *expr)
ACCESS_SPEC_TYPE * pt_to_spec_list(PARSER_CONTEXT *parser, PT_NODE *flat, PT_NODE *where_key_part, PT_NODE *where_part, QO_PLAN *plan, QO_XASL_INDEX_INFO *indx, PT_NODE *src_derived_table, PT_NODE *where_hash_part)
REGU_VARIABLE_LIST scan_regu_list
SORT_LIST * ptqo_single_orderby(PARSER_CONTEXT *parser)
XASL_NODE * parser_generate_do_stmt_xasl(PARSER_CONTEXT *p, PT_NODE *node)
XASL_NODE * pt_to_fetch_proc(PARSER_CONTEXT *parser, PT_NODE *spec, PT_NODE *pred)
void pt_set_isleaf_node_etc(PARSER_CONTEXT *parser, PT_NODE *node_list, DB_VALUE **isleaf_valp)