CUBRID Engine
latest
|
#include <stdio.h>
#include <stdarg.h>
#include "system.h"
#include "dbtype_def.h"
#include "parse_tree.h"
Go to the source code of this file.
Macros | |
#define | mq_free_virtual_query_cache_and_init(virtual_query_cache) |
#define | pt_has_error(parser) ( (parser) && ((parser)->error_msgs || (parser)->flag.has_internal_error)) |
Typedefs | |
typedef enum view_handling | VIEW_HANDLING |
Enumerations | |
enum | CASE_SENSITIVENESS { CASE_INSENSITIVE, CASE_SENSITIVE } |
enum | view_handling { OID_NAME, VIEW_OID, CLASSOID_NAME, HIDDEN_CLASSOID_NAME } |
Variables | |
size_t | json_table_column_count |
#define mq_free_virtual_query_cache_and_init | ( | virtual_query_cache | ) |
Definition at line 45 of file parser.h.
Referenced by classobj_free_class().
#define pt_has_error | ( | parser | ) | ( (parser) && ((parser)->error_msgs || (parser)->flag.has_internal_error)) |
Definition at line 507 of file parser.h.
Referenced by call_method(), check_default_on_update_clause(), compile_trigger_activity(), db_compile_statement_local(), db_execute_and_keep_statement_local(), db_get_input_markers(), db_get_line_col_of_1st_error(), db_get_output_markers(), db_get_parameters(), db_parse_one_statement(), db_push_values(), db_validate_query_spec(), do_alter(), do_alter_one_clause_with_template(), do_attach(), do_create_entity(), do_evaluate(), do_evaluate_insert_values(), do_execute_do(), do_execute_merge(), do_get_optimization_param(), do_get_stats(), do_insert(), do_insert_template(), do_merge(), do_prepare_merge(), do_prepare_select(), do_prepare_to_commit(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), do_replace_names_for_insert_values_pre(), do_rollback(), do_savepoint(), do_select_internal(), do_set_optimization_param(), do_set_session_variables(), do_set_sys_params(), do_set_trigger(), do_set_xaction(), execute_create_select_query(), get_att_default_from_def(), func_type::Node::get_signature(), insert_rewrite_names_in_value_clauses(), insert_subquery_results(), is_server_insert_allowed(), jsp_call_stored_procedure(), meth_translate(), meth_translate_helper(), meth_translate_local(), meth_translate_select(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_fetch_expression_for_real_class_update(), mq_fetch_one_real_class_get_cache(), mq_get_attribute(), mq_get_expression(), mq_invert_insert_select(), mq_invert_insert_subquery(), mq_invert_subqueries(), mq_is_real_class_of_vclass(), mq_is_union_translation(), mq_push_paths(), mq_replace_virtual_oid_with_real_oid(), mq_resolve_insert_statement(), mq_rewrite_order_dependent_nodes(), mq_rewrite_vclass_spec_as_derived(), mq_substitute_subquery_in_statement(), mq_substitute_subquery_list_in_statement(), mq_translate_delete(), mq_translate_helper(), mq_translate_insert(), mq_translate_local(), mq_translate_select(), mq_translate_tree(), mq_translate_update(), mq_update_attribute(), mq_virtual_queries(), parser_generate_xasl(), parser_generate_xasl_post(), parser_generate_xasl_pre(), parser_generate_xasl_proc(), pt_agg_orderby_to_sort_list(), pt_append_assignment_references(), pt_attribute_to_regu(), pt_bind_name_or_path_in_scope(), pt_bind_names(), pt_bind_names_in_with_clause(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_scope(), pt_bind_values_to_hostvars(), pt_build_do_stmt_aptr_list_pre(), pt_check_alter_partition(), pt_check_cast_op(), pt_check_create_entity(), pt_check_create_index(), pt_check_create_view(), pt_check_cyclic_reference_in_view_spec(), pt_check_data_default(), pt_check_function_index_expr(), pt_check_method(), pt_check_odku_assignments(), pt_check_order_by(), pt_check_partitions(), pt_check_range_partition_strict_increasing(), pt_check_sub_insert(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_check_with_info(), pt_class_pre_fetch(), pt_coerce_range_expr_arguments(), pt_coerce_str_to_time_date_utime_datetime(), pt_compile_trigger_stmt(), pt_copy_upddel_hints_to_select(), pt_difference_sets(), pt_eval_expr_type(), pt_eval_path_expr(), pt_eval_type(), pt_eval_type_pre(), pt_evaluate_function(), pt_evaluate_tree_internal(), pt_expand_isnull_preds_helper(), pt_find_class_attribute(), pt_find_lck_class_from_partition(), pt_fix_first_term_func_index_for_iss(), pt_fold_const_expr(), pt_fold_union(), pt_gen_optimized_plan(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_get_all_attributes_and_types(), pt_get_proxy_spec_name(), pt_get_query_limit_from_limit(), pt_get_resolution(), pt_get_select_query_columns(), pt_internal_error(), pt_invert(), pt_make_aptr_parent_node(), pt_make_connect_by_proc(), pt_make_regu_numbering(), pt_make_subclass_list(), pt_node_to_partition_info(), pt_pop_symbol_info(), pt_print_host_var(), pt_product_sets(), pt_record_error(), pt_regu_to_dbvalue(), pt_reset_error(), pt_resolve_names(), pt_resolve_star(), pt_resolve_vclass_args(), pt_semantic_check_local(), pt_semantic_quick_check_node(), pt_semantic_type(), pt_seq_value_to_db(), pt_set_value_to_db(), pt_split_delete_stmt(), pt_string_to_db_domain(), pt_to_aggregate_node(), pt_to_buildlist_proc(), pt_to_buildvalue_proc(), pt_to_class_spec_list(), pt_to_delete_xasl(), pt_to_func_pred(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_pred_expr_local_with_arg(), pt_to_pred_with_context(), pt_to_regu_variable(), pt_to_sort_list(), pt_to_update_xasl(), pt_type_cast_vclass_query_spec(), pt_union_sets(), pt_validate_query_spec(), pt_where_type(), qo_check_condition_yields_null(), qo_rewrite_like_for_index_scan(), sm_virtual_queries(), update_class_attributes(), and validate_attribute_domain().
typedef enum view_handling VIEW_HANDLING |
enum CASE_SENSITIVENESS |
enum view_handling |
DB_ATTRIBUTE* db_get_attribute_force | ( | DB_OBJECT * | obj, |
const char * | name | ||
) |
Definition at line 1371 of file query_result.c.
References ARG_FILE_LINE, au_fetch_class_force(), AU_FETCH_READ, classobj_find_attribute(), ER_OBJ_INVALID_ATTRIBUTE, er_set(), ER_WARNING_SEVERITY, NO_ERROR, and NULL.
Referenced by pt_check_alter(), pt_check_default_vclass_query_spec(), pt_check_mutable_attributes(), pt_expand_external_path(), and pt_find_attr_in_class_list().
DB_ATTRIBUTE* db_get_attributes_force | ( | DB_OBJECT * | obj | ) |
Definition at line 1395 of file query_result.c.
References ARG_FILE_LINE, au_fetch_class_force(), AU_FETCH_READ, ER_OBJ_NO_COMPONENTS, er_set(), ER_WARNING_SEVERITY, NO_ERROR, NULL, and sm_class::ordered_attributes.
Referenced by pt_check_drop(), pt_check_union_type_compatibility_of_values_query(), pt_get_all_attributes_and_types(), and pt_resolve_vclass_args().
int dbcs_get_next | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 102 of file double_byte_support.c.
References dbcs_get_next_token_wchar(), dbcs_Latter_byte, and dbcs_Latter_flag.
Referenced by parser_parse_file(), parser_parse_string_with_escapes(), and pt_init_one_statement_parser().
void dbcs_start_input | ( | void | ) |
Definition at line 89 of file double_byte_support.c.
References CSQL_, dbcs_Input_status, dbcs_Latter_flag, DBCS_UNGET_BUF, and dbcs_Unget_buf.
Referenced by pt_init_one_statement_parser().
void insert_rewrite_names_in_value_clauses | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | insert_statement | ||
) |
Definition at line 17100 of file execute_statement.c.
References eval_insert_value::attr_list, pt_insert_info::attr_list, eval_insert_value::crt_attr_index, do_replace_names_for_insert_values_pre(), pt_spec_info::id, parser_node::info, pt_statement_info::insert, pt_node_list_info::list, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, parser_walk_tree(), pt_has_error, PT_INSERT, PT_IS_HOSTVAR, PT_IS_VALUE, PT_IS_VALUE_NODE, pt_semantic_type(), pt_insert_info::spec, pt_statement_info::spec, eval_insert_value::spec_id, pt_insert_info::value_clauses, and eval_insert_value::value_list.
Referenced by mq_translate_insert().
PT_NODE* meth_translate | ( | PARSER_CONTEXT * | parser, |
PT_NODE *volatile | node | ||
) |
Definition at line 225 of file method_transform.c.
References meth_find_merge(), meth_translate_helper(), parser_node::next, NULL, parser_walk_tree(), PT_CLEAR_JMP_ENV, pt_do_cnf(), pt_has_error, and PT_SET_JMP_ENV.
Referenced by parser_generate_xasl().
void mq_free_virtual_query_cache | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 5742 of file view_transform.c.
References view_cache_info::attrs, view_cache_info::inverted_vquery_for_update, view_cache_info::inverted_vquery_for_update_in_gdb, parser_free_parser(), parser_free_tree(), parser_context::view_cache, view_cache_info::vquery_for_partial_update, view_cache_info::vquery_for_query, view_cache_info::vquery_for_query_in_gdb, view_cache_info::vquery_for_update, and view_cache_info::vquery_for_update_in_gdb.
Referenced by sm_free_resident_classes_virtual_query_cache(), and sm_virtual_queries().
const char* mq_generate_name | ( | PARSER_CONTEXT * | parser, |
const char * | root, | ||
int * | version | ||
) |
Definition at line 6658 of file view_transform.c.
References NULL, and pt_append_string().
Referenced by check_merge_trigger(), check_trigger(), delete_list_by_oids(), do_delete(), do_execute_delete(), do_execute_merge(), do_execute_update(), do_merge(), do_update(), insert_local(), insert_subquery_results(), meth_gen_as_attr_list(), meth_make_unique_range_var(), mq_generate_unique(), mq_make_derived_spec(), mq_regenerate_if_ambiguous(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), pt_get_attr_list_of_derived_table(), pt_semantic_check_local(), qo_make_new_derived_tblspec(), and update_objs_for_list_file().
int mq_is_real_class_of_vclass | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | s_class, | ||
const PT_NODE * | d_class | ||
) |
Definition at line 10912 of file view_transform.c.
References DB_AUTH_SELECT, parser_context::error_msgs, mq_fetch_select_for_real_class_update(), NULL, parser_free_tree(), pt_has_error, and PT_NORMAL_SELECT.
Referenced by pt_is_real_class_of_vclass(), and pt_type_assignable().
PT_NODE* mq_regenerate_if_ambiguous | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | spec, | ||
PT_NODE * | statement, | ||
PT_NODE * | from | ||
) |
Definition at line 8041 of file view_transform.c.
References i, parser_node::info, mq_generate_name(), mq_rename_resolved(), pt_statement_info::name, pt_name_info::original, pt_name_occurs_in_from_list(), pt_spec_info::range_var, and pt_statement_info::spec.
Referenced by mq_class_lambda(), mq_lambda_node(), mq_make_derived_spec(), pt_insert_entity(), and qo_analyze_path_join().
PARSER_CONTEXT* mq_virtual_queries | ( | DB_OBJECT * | class_obj | ) |
Definition at line 5770 of file view_transform.c.
References view_cache_info::attrs, AU_SET_USER, view_cache_info::authorization, DB_AUTH_ALL, db_get_class_name(), db_get_owner(), db_get_user(), pt_name_info::db_object, EXCLUDE_HIDDEN_COLUMNS, parser_node::info, view_cache_info::inverted_vquery_for_update, view_cache_info::inverted_vquery_for_update_in_gdb, pt_select_info::list, MAX_CYCLE, mq_check_cycle(), mq_compute_authorization(), mq_flatten_union(), mq_invert_subqueries(), mq_set_non_updatable_oid(), mq_translate_subqueries(), mq_updatable(), MSGCAT_RUNTIME_CYCLIC_QUERY_SPEC, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, view_cache_info::nested_views, NULL, view_cache_info::number_of_attrs, parser_context::oid_included, parser, parser_alloc(), parser_copy_tree(), parser_copy_tree_list(), parser_create_parser(), parser_free_tree(), parser_parse_string(), pt_add_row_oid_name(), pt_compile(), PT_ERRORmf, pt_has_error, PT_INCLUDE_OID_TRUSTME, PT_INTERNAL_ERROR, pt_length_of_select_list(), PT_PARTIALLY_UPDATABLE, PT_UPDATABLE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, top_cycle, parser_context::view_cache, view_cache_info::vquery_for_partial_update, view_cache_info::vquery_for_query, view_cache_info::vquery_for_query_in_gdb, view_cache_info::vquery_for_update, view_cache_info::vquery_for_update_in_gdb, and ws_is_same_object().
Referenced by sm_virtual_queries().
void* parser_alloc | ( | const PARSER_CONTEXT * | parser, |
const int | length | ||
) |
Definition at line 951 of file parse_tree.c.
References parser_allocate_string_buffer().
Referenced by parser_block_allocator::alloc(), db_parse_one_statement(), mq_conditionally_add_objects(), mq_get_expression(), mq_virtual_queries(), preserve_info(), pt_json_str_codeset_normalization(), pt_normalize_path(), pt_plan_query(), pt_push(), and sm_save_nested_view_versions().
Definition at line 3066 of file parse_tree_cl.c.
References parser_node::next.
Referenced by char_array_to_name_list(), check_for_cons(), create_select_to_insert_into(), do_update_new_cols_with_default_expression(), do_update_new_notnull_cols_without_default(), fill_in_insert_default_function_arguments(), gen_outer(), meth_collapse_nodes(), meth_copy_hierarchical_expr_to_list(), meth_create_method_list(), meth_gen_as_attr_list(), meth_get_method_params(), meth_grab_cnf_conj(), meth_method_path_entities(), meth_non_method_path_entities(), meth_translate_spec(), mq_class_lambda(), mq_copypush_sargable_terms_helper(), mq_derived_path(), mq_flatten_union(), mq_insert_symbol(), mq_lambda_node(), mq_make_derived_spec(), mq_push_dot_in_query(), mq_push_path(), mq_reset_paths(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_substitute_path(), mq_substitute_subquery_in_statement(), mq_substitute_subquery_list_in_statement(), mq_translate_local(), mq_translate_paths(), mq_translate_tree(), mq_update_order_by(), parser_generate_xasl_proc(), parser_get_tree_list_diff(), pt_add_name_col_to_sel_list(), pt_add_string_col_to_sel_list(), pt_add_table_name_to_from_list(), pt_append_assignment_references(), pt_append_omitted_on_update_expr_assignments(), pt_append_query_select_list(), pt_bind_names(), pt_check_access_status(), pt_check_assignments(), pt_check_create_view(), pt_check_function_index_expr(), pt_check_hint(), pt_check_order_by(), pt_check_show_index(), pt_check_table_in_show_heap(), pt_collect_parameters(), pt_common_attribute(), pt_copypush_terms(), pt_domain_to_data_type(), pt_expand_analytic_node(), pt_expr_to_sort_spec(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_gather_constraints(), pt_get_all_showstmt_attributes_and_types(), pt_get_assignment_lists(), pt_get_attr_list_of_derived_table(), pt_get_attributes(), pt_get_mvcc_reev_range_data(), pt_get_pred_attrs(), pt_get_resolution(), pt_json_table_gather_attribs(), pt_make_aptr_parent_node(), pt_make_collection_type_subquery_node(), pt_make_field_extra_expr_node(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_flat_name_list(), pt_make_outer_select_for_show_stmt(), pt_make_prefix_index_data_filter(), pt_make_query_show_collation(), pt_make_query_show_columns(), pt_make_query_show_create_view(), pt_make_query_show_grants(), pt_make_query_show_index(), pt_make_query_show_table(), pt_make_query_show_trace(), pt_make_query_showstmt(), pt_make_query_user_groups(), pt_make_select_count_star(), pt_make_subclass_list(), pt_name_list_diff(), pt_name_list_union(), pt_negate_expr(), pt_number_of_attributes(), pt_point_l(), pt_print_select(), pt_propagate_types(), pt_record_error(), pt_record_warning(), pt_register_orphan(), pt_register_orphan_db_value(), pt_remove_unusable_sort_specs(), pt_resolve_showstmt_args_named(), pt_resolve_star_reserved_names(), pt_resolve_vclass_args(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_set_elements_to_value(), pt_set_orderby_for_sort_limit_plan(), pt_sort_list_from_metadomain(), pt_sort_spec_list_to_name_node_list(), pt_split_attrs(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_split_join_preds(), pt_to_aggregate_node(), pt_to_analytic_final_node(), pt_to_buildlist_proc(), pt_to_delete_xasl(), pt_to_false_subquery(), pt_to_index_attrs(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_single_key(), pt_to_upd_del_query(), pt_transform_cnf_post(), pt_type_generic_func(), qo_analyze_path_join(), qo_check_iscan_for_multi_range_opt(), qo_collect_name_spec(), qo_converse_sarg_terms(), qo_optimize_queries(), qo_plan_compute_iscan_sort_list(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_rewrite_subqueries(), and update_check_for_constraints().
Definition at line 3092 of file parse_tree_cl.c.
References parser_node::or_next.
Referenced by pt_negate_expr().
void parser_clear_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 1465 of file parse_tree_cl.c.
References parser_free_node_resources(), and parser_free_subtrees().
Referenced by pt_coerce_value_internal().
PT_NODE* parser_copy_tree | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | tree | ||
) |
Definition at line 1122 of file parse_tree_cl.c.
References copy_node_in_tree_post(), copy_node_in_tree_pre(), pt_tree_copy_info::cte_structures_list, parser_node::next, NULL, parser_walk_tree(), and pt_clean_tree_copy_info().
Referenced by do_alter_clause_rename_entity(), do_alter_one_clause_with_template(), do_create_partition(), do_evaluate_insert_values(), do_replace_names_for_insert_values_pre(), do_update_new_cols_with_default_expression(), do_update_new_notnull_cols_without_default(), execute_create_select_query(), fill_in_insert_default_function_arguments(), get_att_default_from_def(), meth_copy_hierarchical_expr_to_list(), meth_create_method_list(), meth_gen_as_attr_list(), meth_get_method_params(), meth_method_path_entities(), meth_non_method_path_entities(), meth_replace_call(), meth_replace_hierarchical_exprs(), meth_replace_method_params(), meth_translate_spec(), mq_copypush_sargable_terms_helper(), mq_derived_path(), mq_fetch_subqueries(), mq_generate_unique(), mq_insert_symbol(), mq_lambda_node(), mq_make_derived_spec(), mq_oid(), mq_push_arg2(), mq_push_dot_in_query(), mq_replace_name_with_path(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_rewrite_vclass_spec_as_derived(), mq_set_types(), mq_substitute_path(), mq_substitute_path_pre(), mq_substitute_subquery_in_statement(), mq_translate_insert(), mq_translate_tree(), mq_update_order_by(), mq_virtual_queries(), pt_apply_union_select_list_collation(), pt_attr_check_default_cs_coll(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_auto_increment_table_option(), pt_check_function_index_expr(), pt_check_order_by(), pt_check_partitions(), pt_check_union_compatibility(), pt_collect_host_info(), pt_collect_parameters(), pt_compile_trigger_stmt(), pt_create_param_for_value(), pt_dup_key_update_stmt(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_exec_trigger_stmt(), pt_expr_to_sort_spec(), pt_fix_interpolation_aggregate_function_order_by(), pt_fold_const_expr(), pt_gen_isnull_preds(), pt_get_all_json_table_attributes_and_types(), pt_get_mvcc_reev_range_data(), pt_get_resolution(), pt_get_select_query_columns(), pt_insert_conjunct(), pt_insert_entity(), pt_insert_host_var(), pt_invert(), pt_json_table_gather_attribs(), pt_limit_to_numbering_expr(), pt_make_tuple_value_reference(), pt_must_have_exposed_name(), pt_negate_expr(), pt_node_to_enumeration_expr(), pt_replace_referenced_attributes(), pt_resolve_group_having_alias_pt_name(), pt_resolve_object(), pt_resolve_star(), pt_rewrite_derived_for_upd_del(), pt_rewrite_set_eq_set(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_set_table_to_db(), pt_sort_list_from_metadomain(), pt_sort_spec_list_to_name_node_list(), pt_spec_to_oid_attr(), pt_split_delete_stmt(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_to_merge_insert_query(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_regu_variable(), pt_transform_cnf_post(), qo_allocate_like_bound_for_index_scan(), qo_analyze_path_join(), qo_apply_range_intersection_helper(), qo_construct_new_set(), qo_converse_sarg_terms(), qo_convert_attref_to_dotexpr(), qo_find_like_rewrite_bound(), qo_get_orderby_num_upper_bound_node(), qo_make_new_derived_tblspec(), qo_merge_range_helper(), qo_reduce_equality_terms(), qo_rewrite_like_for_index_scan(), qo_rewrite_subqueries(), and qo_set_value_to_range_list().
PT_NODE* parser_copy_tree_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree | ||
) |
Definition at line 1153 of file parse_tree_cl.c.
References copy_node_in_tree_post(), copy_node_in_tree_pre(), pt_tree_copy_info::cte_structures_list, NULL, parser_walk_tree(), pt_clean_tree_copy_info(), and pt_lambda_arg::tree.
Referenced by db_execute_and_keep_statement_local(), do_merge(), do_prepare_merge(), make_sort_limit_proc(), meth_move_hierarchical_to_derived(), meth_translate_spec(), mq_class_lambda(), mq_derived_path(), mq_invert_subqueries(), mq_lambda_node(), mq_push_arg2(), mq_push_dot_in_query(), mq_push_path(), mq_rewrite_agg_names(), mq_rewrite_vclass_spec_as_derived(), mq_set_types(), mq_set_virt_object(), mq_substitute_subquery_in_statement(), mq_translate_paths(), mq_translate_subqueries(), mq_translate_tree(), mq_update_order_by(), mq_virtual_queries(), pt_add_type_to_set(), pt_apply_union_select_list_collation(), pt_assignment_compatible(), pt_bind_names(), pt_bind_spec_attrs(), pt_check_vclass_query_spec(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_coerce_value_internal(), pt_copy_data_type_entity(), pt_copy_upddel_hints_to_select(), pt_copypush_terms(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_eval_type(), pt_expand_analytic_node(), pt_expand_external_path(), pt_find_name_in_spec(), pt_fold_const_expr(), pt_gen_isnull_preds(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_get_attr_list_of_derived_table(), pt_get_resolution(), pt_get_select_list(), pt_insert_conjunct(), pt_lambda_node(), pt_make_cast_with_compatible_info(), pt_make_connect_by_proc(), pt_make_method_call(), pt_make_prefix_index_data_filter(), pt_object_to_data_type(), pt_propagate_types(), pt_resolve_star(), pt_resolve_vclass_args(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_set_attr_list_types(), pt_set_reserved_name_key_type(), pt_spec_to_oid_attr(), pt_substitute_assigned_name_node(), pt_to_analytic_node(), pt_to_compatible_cast(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_upd_del_query(), pt_transform_cnf_post(), pt_type_cast_vclass_query_spec(), pt_type_cast_vclass_query_spec_column(), pt_upd_domain_info(), pt_values_query_to_compatible_cast(), pt_wrap_collection_with_cast_op(), pt_wrap_with_cast_op(), qo_analyze_path_join(), qo_check_condition_yields_null(), qo_construct_new_set(), qo_reduce_equality_terms(), qo_rewrite_like_for_index_scan(), and func_type::Node::set_return_type().
PT_NODE* parser_create_node | ( | const PARSER_CONTEXT * | parser | ) |
Definition at line 271 of file parse_tree.c.
References HASH_NUMBER, parser_context::id, parser_node_free_list::next, parser_node::next, parser_node_free_list::node, NULL, parser_create_node_block(), parser_node_free_list::parser_id, parser_node::parser_id, pthread_mutex_lock, pthread_mutex_unlock, and rv.
Referenced by parser_new_node().
PARSER_CONTEXT* parser_create_parser | ( | void | ) |
Definition at line 1169 of file parse_tree.c.
References ARG_FILE_LINE, db_make_null(), ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, NULL, parser, parser_node_block::parser_id, parser_init_func_vectors(), pt_register_parser(), pthread_mutex_lock, pthread_mutex_unlock, and rv.
Referenced by chksum_start(), compile_trigger_activity(), db_open_local(), db_validate_query_spec(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), emit_query_specs(), emit_query_specs_has_using_index(), mq_fetch_one_real_class_get_cache(), mq_get_attribute(), mq_get_expression(), mq_is_updatable_attribute(), mq_is_updatable_local(), mq_update_attribute(), mq_virtual_queries(), pt_check_alter_partition(), pt_check_cyclic_reference_in_view_spec(), pt_get_proxy_spec_name(), pt_string_to_db_domain(), stmt_exec_batch_query_internal(), and stmt_reset_session_and_parse().
void parser_final | ( | void | ) |
Definition at line 884 of file parse_evaluate.c.
References pt_final_packing_buf(), and pt_free_label_table().
Referenced by boot_client_all_finalize().
void parser_free_lcks_classes | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 1310 of file parse_tree.c.
References free_and_init, i, parser_context::lcks_classes, and parser_context::num_lcks_classes.
Referenced by parser_free_parser(), and pt_class_pre_fetch().
void parser_free_node | ( | const PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 869 of file parse_tree.c.
References assert_release, HASH_NUMBER, parser_context::id, parser_node_free_list::next, parser_node::next, parser_node_free_list::node, parser_node::node_type, NULL, parser_free_node_resources(), parser_node_free_list::parser_id, parser_node::parser_id, PT_LAST_NODE_NUMBER, PT_SPEC, pthread_mutex_lock, pthread_mutex_unlock, and rv.
Referenced by check_change_attribute(), check_default_on_update_clause(), compile_partition_expression(), do_alter_one_clause_with_template(), fill_in_insert_default_function_arguments(), free_node_in_tree_post(), get_att_default_from_def(), mq_bump_order_dep_corr_lvl_post(), mq_rewrite_query_as_derived(), pt_add_type_to_set(), pt_append_omitted_on_update_expr_assignments(), pt_bind_helper(), pt_bind_names(), pt_bind_set_type(), pt_check_drop(), pt_check_order_by(), pt_cleanup_hint(), pt_coerce_node_collation(), pt_coerce_value_internal(), pt_dbval_to_value(), pt_eval_expr_type(), pt_filter_pseudo_specs(), pt_function_name_is_spec_attr(), pt_lambda_node(), pt_name_list_diff(), pt_name_list_union(), pt_resolve_group_having_alias_pt_name(), pt_resolve_hint_args(), pt_semantic_check_local(), pt_substitute_analytic_references(), pt_to_delete_xasl(), pt_to_pred_expr_local_with_arg(), pt_to_regu_variable(), pt_to_upd_del_query(), pt_update_host_var_data_type(), qo_get_limit_from_eval_term(), qo_make_new_derived_tblspec(), qo_rewrite_index_hints(), and qo_top_plan_new().
void parser_free_node_resources | ( | PT_NODE * | node | ) |
Definition at line 835 of file parse_tree.c.
References pt_value_info::db_value, db_value_clear(), pt_value_info::db_value_is_in_workspace, parser_node::info, pt_statement_info::insert_value, pt_insert_value_info::is_evaluated, pt_statement_info::json_table_column_info, json_table_column_behavior::m_default_value, parser_node::node_type, NULL, pt_json_table_column_info::on_empty, pt_json_table_column_info::on_error, PT_INSERT_VALUE, PT_JSON_TABLE_COLUMN, PT_VALUE, pt_insert_value_info::value, and pt_statement_info::value.
Referenced by parser_clear_node(), and parser_free_node().
void parser_free_parser | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 1240 of file parse_tree.c.
References assert, parser_context::auto_param_count, db_value_clear(), parser_context::error_buffer, pt_plan_trace_info::format, free_and_init, parser_context::host_var_expected_domains, parser_context::host_variables, i, pt_plan_trace_info::json_plan, NULL, parser_context::num_plan_trace, parser_free_lcks_classes(), parser_context::plan_trace, pt_free_node_blocks(), pt_free_string_blocks(), pt_unregister_parser(), parser_context::query_trace, QUERY_TRACE_JSON, QUERY_TRACE_TEXT, pt_plan_trace_info::text_plan, and pt_plan_trace_info::trace.
Referenced by chksum_start(), compile_trigger_activity(), db_close_session_local(), db_validate_query_spec(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), emit_query_specs(), emit_query_specs_has_using_index(), eval_action(), eval_condition(), free_activity(), mq_fetch_one_real_class_get_cache(), mq_free_virtual_query_cache(), mq_get_attribute(), mq_get_expression(), mq_is_updatable_attribute(), mq_is_updatable_local(), mq_update_attribute(), pt_check_alter_partition(), pt_check_cyclic_reference_in_view_spec(), pt_get_proxy_spec_name(), and pt_string_to_db_domain().
void parser_free_subtrees | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree | ||
) |
Definition at line 1458 of file parse_tree_cl.c.
References free_node_in_tree_post(), free_node_in_tree_pre(), NULL, and parser_walk_leaves().
Referenced by parser_clear_node(), and pt_check_union_type_compatibility_of_values_query().
void parser_free_tree | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree | ||
) |
Definition at line 1446 of file parse_tree_cl.c.
References free_node_in_tree_post(), free_node_in_tree_pre(), NULL, and parser_walk_tree().
Referenced by add_access_spec(), add_sort_spec(), check_for_cons(), compile_trigger_activity(), create_select_to_insert_into(), db_close_session_local(), db_drop_all_statements(), db_drop_statement(), db_execute_and_keep_statement_local(), db_execute_statement_local(), db_parse_one_statement(), do_alter_clause_rename_entity(), do_alter_one_clause_with_template(), do_create_odku_stmt(), do_create_partition(), do_evaluate_insert_values(), do_execute_merge(), do_insert(), do_insert_template(), do_merge(), do_prepare_delete(), do_prepare_insert(), do_prepare_merge(), do_prepare_update(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), do_replace_names_for_insert_values_pre(), do_update_new_cols_with_default_expression(), do_update_new_notnull_cols_without_default(), execute_create_select_query(), fill_in_insert_default_function_arguments(), free_activity(), gen_inner(), gen_outer(), get_att_default_from_def(), get_select_list_to_update(), init_class_scan_proc(), init_list_scan_proc(), insert_subquery_results(), is_server_update_allowed(), make_fetch_proc(), make_mergelist_proc(), make_pred_from_bitset(), make_sort_limit_proc(), meth_create_method_list(), meth_move_hierarchical_to_derived(), meth_replace_hierarchical_exprs(), meth_translate_spec(), mq_class_lambda(), mq_clean_dot(), mq_copypush_sargable_terms_helper(), mq_fetch_subqueries(), mq_free_virtual_query_cache(), mq_invert_insert_select(), mq_invert_subqueries(), mq_is_real_class_of_vclass(), mq_lambda_node(), mq_oid(), mq_path_spec_lambda(), mq_push_arg2(), mq_push_path(), mq_push_paths_select(), mq_replace_name_with_path(), mq_replace_virtual_oid_with_real_oid(), mq_reset_ids_and_references_helper(), mq_reset_paths(), mq_rewrite_agg_names(), mq_rewrite_vclass_spec_as_derived(), mq_set_references_local(), mq_set_types(), mq_set_virt_object(), mq_substitute_path(), mq_substitute_path_pre(), mq_substitute_subquery_in_statement(), mq_translate_insert(), mq_translate_paths(), mq_translate_tree(), mq_update_attribute(), mq_virtual_queries(), parser_generate_xasl(), pt_add_oid_to_select_list(), pt_add_type_to_set(), pt_and_or_form(), pt_append_omitted_on_update_expr_assignments(), pt_apply_union_select_list_collation(), pt_assignment_compatible(), pt_attr_check_default_cs_coll(), pt_bind_names(), pt_bind_names_post(), pt_bind_parameter(), pt_bind_parameter_path(), pt_bind_reserved_name(), pt_bind_spec_attrs(), pt_bind_value_to_hostvar_local(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_and_replace_hostvar(), pt_check_assignments(), pt_check_auto_increment_table_option(), pt_check_default_vclass_query_spec(), pt_check_group_concat_order_by(), pt_check_hint(), pt_check_order_by(), pt_check_union_compatibility(), pt_check_union_type_compatibility_of_values_query(), pt_chop_to_one_select_item(), pt_coerce_range_expr_arguments(), pt_coerce_str_to_time_date_utime_datetime(), pt_dup_key_update_stmt(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_exec_trigger_stmt(), pt_expand_analytic_node(), pt_find_attr_in_class_list(), pt_fix_enumeration_comparison(), pt_fix_first_term_expr_for_iss(), pt_fix_first_term_func_index_for_iss(), pt_fold_const_expr(), pt_fold_const_function(), pt_fold_union(), pt_free_escape_char(), pt_free_orphans(), pt_gen_simple_merge_plan(), pt_gen_simple_plan(), pt_get_all_attributes_and_types(), pt_get_all_showstmt_attributes_and_types(), pt_get_mvcc_reev_range_data(), pt_get_pred_attrs(), pt_get_resolution(), pt_get_select_list(), pt_get_select_query_columns(), pt_init_pred_expr_context(), pt_insert_entity(), pt_limit_to_numbering_expr(), pt_make_aptr_parent_node(), pt_make_cast_with_compatible_info(), pt_make_connect_by_proc(), pt_make_outer_select_for_show_columns(), pt_make_prefix_index_data_filter(), pt_make_prim_data_type(), pt_make_prim_data_type_fortonum(), pt_make_query_show_columns(), pt_make_query_show_index(), pt_make_query_showstmt(), pt_mvcc_flag_specs_assign_reev(), pt_mvcc_flag_specs_cond_reev(), pt_mvcc_set_spec_assign_reev_extra_indexes(), pt_name_list_diff(), pt_negate_expr(), pt_plan_query(), pt_point_l(), pt_pointer_stack_pop(), pt_print_host_var(), pt_propagate_types(), pt_remove_from_list(), pt_remove_unusable_sort_specs(), pt_replace_names_in_update_values(), pt_replace_names_index_expr(), pt_reset_error(), pt_resolve_correlation(), pt_resolve_default_value(), pt_resolve_hint(), pt_resolve_names(), pt_resolve_partition_spec(), pt_resolve_star_reserved_names(), pt_resolve_vclass_args(), pt_rewrite_set_eq_set(), pt_rewrite_to_auto_param(), pt_select_list_to_one_col(), pt_set_attr_list_types(), pt_set_orderby_for_sort_limit_plan(), pt_set_table_to_db(), pt_set_trigger_obj_post(), pt_set_update_object(), pt_sm_attribute_default_value_to_node(), pt_sort_list_from_metadomain(), pt_split_attrs(), pt_split_delete_stmt(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_substitute_analytic_references(), pt_substitute_assigned_name_node(), pt_to_analytic_final_node(), pt_to_buildlist_proc(), pt_to_class_spec_list(), pt_to_compatible_cast(), pt_to_constraint_pred(), pt_to_cte_table_spec_list(), pt_to_delete_xasl(), pt_to_false_subquery(), pt_to_fetch_as_scan_proc(), pt_to_index_attrs(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_insert_xasl(), pt_to_merge_update_query(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_single_key(), pt_to_subquery_table_spec_list(), pt_to_upd_del_query(), pt_to_update_xasl(), pt_transform_cnf_post(), pt_try_remove_order_by(), pt_type_cast_vclass_query_spec(), pt_type_cast_vclass_query_spec_column(), pt_values_query_to_compatible_cast(), pt_where_type(), qo_add_hq_iterations_access_spec(), qo_allocate_like_bound_for_index_scan(), qo_analyze_path_join(), qo_apply_range_intersection(), qo_apply_range_intersection_helper(), qo_check_condition_yields_null(), qo_check_iscan_for_multi_range_opt(), qo_converse_sarg_terms(), qo_convert_to_range(), qo_convert_to_range_helper(), qo_find_like_rewrite_bound(), qo_fold_is_and_not_null(), qo_get_orderby_num_upper_bound_node(), qo_merge_range_helper(), qo_optimize_queries_post(), qo_plan_add_to_free_list(), qo_plan_is_orderby_skip_candidate(), qo_reduce_comp_pair_terms(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_replace_spec_name_with_null(), qo_rewrite_hidden_col_as_derived(), qo_rewrite_index_hints(), qo_rewrite_like_for_index_scan(), qo_rewrite_one_like_term(), qo_rewrite_subqueries(), qo_set_value_to_range_list(), qo_term_free(), replace_names_alter_chg_attr(), select_delete_list(), update_check_for_constraints(), and update_real_class().
PT_NODE* parser_get_tree_list_diff | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | list1, | ||
PT_NODE * | list2 | ||
) |
Definition at line 1175 of file parse_tree_cl.c.
References CAST_POINTER_TO_NODE, parser_node::next, NULL, parser_append_node(), and pt_point().
Referenced by pt_get_mvcc_reev_range_data(), and pt_make_prefix_index_data_filter().
void parser_init_func_vectors | ( | void | ) |
Definition at line 16739 of file parse_tree_cl.c.
References pt_apply_f, pt_init_apply_f(), pt_init_f, pt_init_init_f(), pt_init_print_f(), and pt_print_f.
Referenced by parser_create_parser().
PT_NODE* parser_init_node | ( | PT_NODE * | node, |
PT_NODE_TYPE | node_type | ||
) |
Definition at line 2174 of file parse_tree_cl.c.
References assert, parser_node::buffer_pos, parser_node::node_type, NULL, parser_id, parser_node::parser_id, pt_init_f, PT_LAST_NODE_NUMBER, PT_TYPE_NONE, and parser_node::type_enum.
Referenced by mq_fetch_expression_for_real_class_update(), mq_fetch_one_real_class_get_cache(), mq_get_attribute(), mq_is_updatable_att(), mq_is_updatable_local(), mq_oid(), mq_update_attribute(), parser_new_node(), and pt_bind_set_type().
Referenced by pt_make_field_type_expr_node(), and pt_make_query_show_grants().
PT_NODE** parser_main | ( | PARSER_CONTEXT * | p | ) |
Referenced by parser_parse_file(), and parser_parse_string_with_escapes().
PT_NODE* parser_make_expression | ( | PARSER_CONTEXT * | parser, |
PT_OP_TYPE | OP, | ||
PT_NODE * | arg1, | ||
PT_NODE * | arg2, | ||
PT_NODE * | arg3 | ||
) |
Referenced by check_default_on_update_clause(), pt_append_omitted_on_update_expr_assignments(), pt_check_default_vclass_query_spec(), pt_convert_to_logical_expr(), pt_find_attr_in_class_list(), pt_make_collation_expr_node(), pt_make_collection_type_subquery_node(), pt_make_field_extra_expr_node(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_if_with_expressions(), pt_make_like_col_expr(), pt_make_pred_name_int_val(), pt_make_pred_name_string_val(), pt_make_pred_with_identifiers(), pt_make_query_show_create_view(), pt_make_query_show_grants(), pt_make_query_show_trace(), and pt_resolve_default_value().
PT_NODE* parser_new_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE_TYPE | node | ||
) |
Definition at line 2153 of file parse_tree_cl.c.
References g_query_string, g_query_string_len, parser_create_node(), parser_init_node(), pt_parser_line_col(), parser_node::sql_user_text, and parser_node::sql_user_text_len.
Referenced by build_graph_for_entity(), copy_node_in_tree_pre(), create_select_to_insert_into(), do_create_odku_stmt(), do_create_partition(), do_replace_names_for_insert_values_pre(), fill_in_insert_default_function_arguments(), meth_add_conj(), meth_gen_as_attr_list(), meth_grab_conj(), meth_make_unique_range_var(), meth_translate_spec(), mq_bump_order_dep_corr_lvl_pre(), mq_class_lambda(), mq_derived_path(), mq_fetch_subqueries(), mq_invert_assign(), mq_make_derived_spec(), mq_new_spec(), mq_push_dot_in_query(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), mq_rewrite_vclass_spec_as_derived(), mq_translate_insert(), parser_generate_xasl(), parser_generate_xasl_proc(), pt_add_type_to_set(), pt_and(), pt_append_omitted_on_update_expr_assignments(), pt_attr_check_default_cs_coll(), pt_bind_helper(), pt_check_analytic_function(), pt_check_assignments(), pt_check_default_vclass_query_spec(), pt_check_group_concat_order_by(), pt_check_hint(), pt_check_order_by(), pt_check_union_type_compatibility_of_values_query(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_compare_bounds_to_value(), pt_compile_trigger_stmt(), pt_convert_to_logical_expr(), pt_create_delete_stmt(), pt_create_param_for_value(), pt_create_pt_expr_and_node(), pt_create_pt_expr_equal_node(), pt_create_pt_name(), pt_dbval_to_value(), pt_derive_attribute(), pt_domain_to_data_type(), pt_dup_key_update_stmt(), pt_entity(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_expand_analytic_node(), pt_expand_external_path(), pt_expr_to_sort_spec(), pt_expression(), pt_filter_pseudo_specs(), pt_find_attr_in_class_list(), pt_find_omitted_default_expr(), pt_fix_buildlist_aggregate_cume_dist_percent_rank(), pt_fix_enumeration_comparison(), pt_fix_interpolation_aggregate_function_order_by(), pt_fold_const_expr(), pt_fold_union(), pt_gen_isnull_preds(), pt_get_attributes(), pt_get_object_data_type(), pt_get_resolution(), pt_insert_conjunct(), pt_insert_entity(), pt_insert_value(), pt_invert(), pt_limit_to_numbering_expr(), pt_make_cast_with_compatible_info(), pt_make_collation_expr_node(), pt_make_collection_type_subquery_node(), pt_make_dotted_identifier_internal(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_integer_value(), pt_make_method_call(), pt_make_outer_select_for_show_columns(), pt_make_outer_select_for_show_stmt(), pt_make_pred_term_is(), pt_make_prim_data_type(), pt_make_prim_data_type_fortonum(), pt_make_query_show_collation(), pt_make_query_show_columns(), pt_make_query_show_create_table(), pt_make_query_show_create_view(), pt_make_query_show_grants(), pt_make_query_show_index(), pt_make_query_show_table(), pt_make_query_show_trace(), pt_make_query_showstmt(), pt_make_query_user_groups(), pt_make_select_count_star(), pt_make_sort_spec_with_identifier(), pt_make_sort_spec_with_number(), pt_make_string_value(), pt_must_have_exposed_name(), pt_name(), pt_negate_expr(), pt_node_list(), pt_node_to_enumeration_expr(), pt_object_to_data_type(), pt_point(), pt_query_to_set_table(), pt_record_error(), pt_record_warning(), pt_register_orphan(), pt_register_orphan_db_value(), pt_resolve_default_value(), pt_resolve_object(), pt_resolve_vclass_args(), pt_rewrite_set_eq_set(), pt_select_list_to_one_col(), pt_set_default_data_type(), pt_set_orderby_for_sort_limit_plan(), pt_set_update_object(), pt_sm_attribute_default_value_to_node(), pt_spec_to_oid_attr(), pt_table_option(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_constraint_pred(), pt_to_false_subquery(), pt_to_list_key(), pt_to_merge_insert_query(), pt_to_merge_update_query(), pt_to_odku_info(), pt_to_pred_expr_local_with_arg(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_regu_variable(), pt_to_single_key(), pt_to_upd_del_query(), pt_tuple_value(), pt_type_cast_vclass_query_spec_column(), pt_type_generic_func(), pt_union(), pt_union_compatible(), pt_upd_domain_info(), pt_where_type(), pt_where_type_keep_true(), pt_wrap_collection_with_cast_op(), pt_wrap_with_cast_op(), qo_analyze_path_join(), qo_apply_range_intersection(), qo_construct_new_set(), qo_convert_to_range_helper(), qo_find_like_rewrite_bound(), qo_get_orderby_num_upper_bound_node(), qo_make_new_derived_tblspec(), qo_plan_compute_iscan_sort_list(), qo_reduce_comp_pair_terms(), qo_reduce_order_by(), qo_reduce_order_by_for(), qo_rewrite_subqueries(), and qo_set_value_to_range_list().
PT_NODE** parser_parse_file | ( | PARSER_CONTEXT * | parser, |
FILE * | file | ||
) |
Definition at line 1832 of file parse_tree_cl.c.
References parser_context::casecmp, parser_context::column, dbcs_get_next(), parser_context::dont_collect_exec_stats, fgetin(), parser_context::file, parser_context::flag, intl_identifier_casecmp(), parser_context::is_in_and_list, lang_charset(), LANG_VARIABLE_CHARSET, parser_context::line, parser_context::next_byte, parser_context::next_char, parser_context::num_plan_trace, parser_main(), prm_get_bool_value(), PRM_ID_QUERY_TRACE, PT_CLEAR_JMP_ENV, PT_SET_JMP_ENV, parser_context::query_trace, parser_context::stack_top, parser_context::strings_have_no_escapes, and pt_lambda_arg::tree.
Referenced by db_open_file(), and db_open_file_name().
PT_NODE** parser_parse_string | ( | PARSER_CONTEXT * | parser, |
const char * | buffer | ||
) |
Definition at line 1708 of file parse_tree_cl.c.
References parser_parse_string_with_escapes().
Referenced by emit_query_specs(), emit_query_specs_has_using_index(), mq_get_expression(), mq_virtual_queries(), parser_parse_string_use_sys_charset(), pt_check_alter_partition(), pt_get_proxy_spec_name(), pt_make_query_show_exec_stats(), pt_make_query_show_exec_stats_all(), and pt_string_to_db_domain().
PT_NODE** parser_parse_string_use_sys_charset | ( | PARSER_CONTEXT * | parser, |
const char * | buffer | ||
) |
Definition at line 1690 of file parse_tree_cl.c.
References lang_set_parser_use_client_charset(), NULL, and parser_parse_string().
Referenced by db_validate_query_spec(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), mq_translate_subqueries(), pt_check_cyclic_reference_in_view_spec(), pt_compile_trigger_stmt(), pt_fix_first_term_func_index_for_iss(), pt_make_query_show_exec_stats(), and pt_make_query_show_exec_stats_all().
PT_NODE** parser_parse_string_with_escapes | ( | PARSER_CONTEXT * | parser, |
const char * | buffer, | ||
const bool | no_escapes_strings | ||
) |
Definition at line 1721 of file parse_tree_cl.c.
References parser_context::buffer, buffgetin(), parser_context::casecmp, parser_context::column, dbcs_get_next(), parser_context::dont_collect_exec_stats, parser_context::flag, parser_context::input_buffer_length, parser_context::input_buffer_position, intl_identifier_casecmp(), lang_charset(), LANG_VARIABLE_CHARSET, parser_context::line, parser_context::next_byte, parser_context::next_char, parser_context::num_plan_trace, parser_context::original_buffer, parser_main(), prm_get_bool_value(), PRM_ID_QUERY_TRACE, PT_CLEAR_JMP_ENV, PT_SET_JMP_ENV, parser_context::query_trace, parser_context::stack_top, parser_context::strings_have_no_escapes, and pt_lambda_arg::tree.
Referenced by db_open_buffer_local(), mq_get_expression(), and parser_parse_string().
char* parser_print_function_index_expr | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | expr | ||
) |
Definition at line 2724 of file parse_tree_cl.c.
References assert, parser_context::custom_print, parser_print_tree_with_quotes(), PT_CHARSET_COLLATE_FULL, PT_FORCE_ORIGINAL_TABLE_NAME, and PT_IS_EXPR_NODE.
Referenced by build_query_graph_function_index(), lookup_seg(), and pt_mark_function_index_expression().
char* parser_print_tree | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2627 of file parse_tree_cl.c.
References parser_context::custom_print, free_and_init, NULL, parser_print_user(), pt_append_nulstring(), pt_print_bytes(), PT_PRINT_DIFFERENT_SYSTEM_PARAMETERS, PT_PRINT_USER, PT_QUERY_STRING_USER_TEXT, and sysprm_print_parameters_for_qry_string().
Referenced by do_check_internal_statements(), do_run_update_query_for_new_default_expression_fields(), mq_check_using_index(), parser_generate_do_stmt_xasl(), parser_generate_xasl(), pt_check_constraint(), pt_check_create_entity(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_check_single_valued_node(), pt_check_union_type_compatibility_of_values_query(), pt_compare_sort_spec_expr(), pt_evaluate_db_value_expr(), pt_get_attr_name(), pt_get_one_tuple_from_list_id(), pt_plan_query(), pt_plan_schema(), pt_short_print(), pt_to_pos_descr(), pt_to_pos_descr_groupby(), pt_to_regu_variable(), pt_to_upd_del_query(), pt_transform_cnf_post(), qo_term_dump(), qo_term_string(), qo_top_plan_print_json(), and qo_top_plan_print_text().
char* parser_print_tree_list | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | p | ||
) |
Definition at line 2745 of file parse_tree_cl.c.
References NULL, and pt_print_bytes_l().
Referenced by mq_translate_tree(), pt_short_print_l(), qo_scan_fprint(), and qo_scan_info().
char* parser_print_tree_with_quotes | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2693 of file parse_tree_cl.c.
References parser_context::custom_print, NULL, pt_print_bytes(), and PT_PRINT_QUOTES.
Referenced by add_query_to_virtual_class(), do_alter_one_clause_with_template(), get_activity_info(), parser_print_function_index_expr(), pt_node_to_function_index(), pt_node_to_partition_info(), and pt_print_query_spec_no_list().
Definition at line 2200 of file parse_tree_cl.c.
References assert, parser_node::buffer_pos, parser_node::cache_time, parser_node::column_number, parser_node::line_number, parser_node::node_type, parser_id, parser_node::parser_id, pt_init_f, PT_LAST_NODE_NUMBER, PT_TYPE_NONE, parser_node::sql_user_text, parser_node::sql_user_text_len, and parser_node::type_enum.
Referenced by pt_check_union_type_compatibility_of_values_query(), pt_resolve_star(), pt_select_list_to_one_col(), and pt_to_outlist().
PT_NODE* parser_walk_leaves | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
PT_NODE_WALK_FUNCTION | pre_function, | ||
void * | pre_argument, | ||
PT_NODE_WALK_FUNCTION | post_function, | ||
void * | post_argument | ||
) |
Definition at line 926 of file parse_tree_cl.c.
References pt_walk_arg::continue_walk, parser_node::node_type, NULL, parser_node::or_next, parser, pt_walk_arg::post_argument, pt_walk_arg::post_function, pt_walk_arg::pre_argument, pt_walk_arg::pre_function, pt_apply_f, PT_CONTINUE_WALK, PT_LAST_NODE_NUMBER, and pt_walk_private().
Referenced by get_local_subqueries(), meth_bump_corr_pre(), meth_create_method_list(), meth_find_last_entity(), meth_find_outside_refs(), meth_replace_call(), meth_translate_spec(), parser_free_subtrees(), pt_bind_names(), pt_check_order_by(), pt_make_method_call(), pt_pushable_query_in_pos(), pt_sargable_term(), pt_tag_term_with_id(), and pt_to_uncorr_subquery_list().
PT_NODE* parser_walk_tree | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
PT_NODE_WALK_FUNCTION | pre_function, | ||
void * | pre_argument, | ||
PT_NODE_WALK_FUNCTION | post_function, | ||
void * | post_argument | ||
) |
Definition at line 973 of file parse_tree_cl.c.
References pt_walk_arg::continue_walk, NULL, pt_walk_arg::post_argument, pt_walk_arg::post_function, pt_walk_arg::pre_argument, pt_walk_arg::pre_function, PT_CONTINUE_WALK, and pt_walk_private().
Referenced by compile_trigger_activity(), db_can_execute_statement_with_autocommit(), db_number_of_output_markers(), do_check_internal_statements(), do_evaluate_insert_values(), do_execute_select(), do_execute_session_statement(), do_insert_template(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), emit_query_specs(), get_term_subqueries(), insert_local(), insert_rewrite_names_in_value_clauses(), insert_subquery_results(), is_server_insert_allowed(), make_sort_limit_proc(), meth_bump_correlation_level(), meth_copy_hierarchical_expr_to_list(), meth_create_method_list(), meth_find_hierarchical_in_method_list(), meth_grab_cnf_conj(), meth_grab_conj(), meth_push_conjuncts(), meth_refs_to_scope(), meth_replace_hierarchical_exprs(), meth_replace_method_calls(), meth_translate(), meth_translate_helper(), meth_translate_select(), meth_translate_spec(), mq_bump_correlation_level(), mq_bump_order_dep_corr_lvl(), mq_class_lambda(), mq_clear_ids(), mq_copypush_sargable_terms_helper(), mq_derived_path(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_fix_derived(), mq_get_references_node(), mq_has_class_methods_corr_subqueries(), mq_is_pushable_subquery(), mq_is_referenced(), mq_lambda(), mq_mark_location(), mq_new_spec(), mq_oid(), mq_optimize(), mq_path_name_lambda(), mq_path_spec_lambda(), mq_push_path(), mq_rename_resolved(), mq_reset_ids(), mq_reset_ids_and_references_helper(), mq_reset_ids_in_methods(), mq_reset_ids_in_statement(), mq_reset_select_specs(), mq_reset_spec_ids(), mq_reset_specs_from_column(), mq_resolve_insert_statement(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_set_references_local(), mq_substitute_path(), mq_substitute_select_in_statement(), mq_translate_helper(), mq_translate_insert(), mq_translate_subqueries(), parser_copy_tree(), parser_copy_tree_list(), parser_free_tree(), parser_generate_xasl(), pt_bind_names(), pt_bind_names_in_cte(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_names_post(), pt_bind_scope(), pt_bind_values_to_hostvars(), pt_build_do_stmt_aptr_list(), pt_check_alter_partition(), pt_check_create_view(), pt_check_cyclic_reference_in_view_spec(), pt_check_data_default(), pt_check_drop(), pt_check_filter_index_expr(), pt_check_for_update_clause(), pt_check_function_index_expr(), pt_check_grant_revoke(), pt_check_partitions(), pt_check_single_valued_node(), pt_check_sub_insert(), pt_check_truncate(), pt_check_vacuum(), pt_check_vclass_query_spec(), pt_check_with_info(), pt_check_xaction_list(), pt_class_pre_fetch(), pt_cnf(), pt_exec_trigger_stmt(), pt_expand_isnull_preds(), pt_expand_isnull_preds_helper(), pt_filter_pseudo_specs(), pt_find_aggregate_analytic_in_where(), pt_find_aggregate_functions_pre(), pt_find_id(), pt_flat_spec_pre(), pt_get_all_json_table_attributes_and_types(), pt_get_parameters(), pt_get_resolution(), pt_has_aggregate(), pt_has_analytic(), pt_has_inst_or_orderby_num(), pt_has_modified_class(), pt_has_parameters(), pt_has_reev_in_subquery(), pt_host_info(), pt_is_filtering_expression(), pt_is_filtering_predicate(), pt_is_spec_referenced(), pt_lambda_with_arg(), pt_mark_group_having_pt_name(), pt_quick_resolve_names(), pt_replace_names_in_update_values(), pt_resolve_cte_specs(), pt_resolve_names(), pt_semantic_check_local(), pt_semantic_type(), 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_access_if_instnum(), pt_split_delete_stmt(), pt_split_hash_attrs(), pt_split_hash_attrs_for_HQ(), pt_split_having_grbynum(), pt_split_if_instnum(), pt_statement_have_methods(), pt_table_compatible(), pt_to_aggregate(), pt_to_buildlist_proc(), pt_to_corr_subquery_list(), pt_to_insert_xasl(), pt_to_merge_update_query(), pt_to_pred_expr_with_arg(), pt_transform_cnf_post(), pt_uncorr_pre(), pt_validate_query_spec(), qo_analyze_path_join(), qo_analyze_term(), qo_check_condition_yields_null(), qo_check_nullable_expr_with_spec(), qo_expr_segs(), qo_optimize_helper(), qo_optimize_queries(), qo_reduce_equality_terms(), qo_reduce_order_by(), qo_rewrite_innerjoin(), qo_rewrite_like_terms(), qo_rewrite_oid_equality(), qo_rewrite_outerjoin(), qo_rewrite_subqueries(), qo_validate(), qo_validate_index_attr_notnull(), and set_seg_expr().
PT_NODE* pt_add_class_to_entity_list | ( | PARSER_CONTEXT * | r, |
struct db_object * | db, | ||
PT_NODE * | entity, | ||
const PT_NODE * | parent, | ||
UINTPTR | id, | ||
PT_MISC_TYPE | meta_class | ||
) |
Definition at line 3954 of file name_resolution.c.
References parser_node::column_number, parser_node::line_number, NULL, pt_make_subclass_list(), and pt_name_list_union().
Referenced by pt_add_type_to_set(), and pt_domain_to_data_type().
PT_NODE* pt_add_column_oid | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
PT_NODE* pt_add_row_classoid_name | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
int | server_op | ||
) |
Definition at line 361 of file compile.c.
References CLASSOID_NAME, HIDDEN_CLASSOID_NAME, and pt_add_oid_to_select_list().
Referenced by pt_mvcc_prepare_upd_del_select(), pt_to_merge_update_query(), and pt_to_upd_del_query().
PT_NODE* pt_add_row_oid | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
Definition at line 333 of file compile.c.
References pt_add_oid_to_select_list(), and VIEW_OID.
Referenced by db_compile_statement_local().
PT_NODE* pt_add_row_oid_name | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
Definition at line 347 of file compile.c.
References OID_NAME, and pt_add_oid_to_select_list().
Referenced by mq_translate_subqueries(), mq_virtual_queries(), pt_mvcc_prepare_upd_del_select(), pt_rewrite_derived_for_upd_del(), pt_to_merge_update_query(), and pt_to_upd_del_query().
PT_NODE* pt_add_table_name_to_from_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | select, | ||
const char * | table_name, | ||
const char * | table_alias, | ||
const DB_AUTH | auth_bypass | ||
) |
Definition at line 4614 of file parser_support.c.
References pt_spec_info::auth_bypass_mask, pt_select_info::from, parser_node::info, pt_spec_info::meta_class, NULL, pt_spec_info::only_all, parser_append_node(), PT_CLASS, pt_entity(), pt_name(), PT_ONLY, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_statement_info::spec.
Referenced by mq_add_dummy_from_pre(), pt_make_collection_type_subquery_node(), pt_make_dummy_query_check_table(), pt_make_field_extra_expr_node(), pt_make_field_key_type_expr_node(), pt_make_outer_select_for_show_columns(), pt_make_outer_select_for_show_stmt(), pt_make_query_show_collation(), pt_make_query_show_columns(), pt_make_query_show_create_table(), pt_make_query_show_create_view(), pt_make_query_show_grants(), pt_make_query_show_index(), pt_make_query_show_table(), pt_make_query_showstmt(), and pt_make_query_user_groups().
void pt_add_type_to_set | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | val, | ||
PT_NODE ** | set | ||
) |
Definition at line 198 of file parse_dbi.c.
References assert, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, db_get_class_name(), pt_name_info::db_object, pt_data_type_info::dec_precision, pt_data_type_info::entity, parser_node::expected_domain, pr_type::id, parser_node::info, intl_identifier_casecmp(), pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, parser_copy_tree_list(), parser_free_node(), parser_free_tree(), parser_new_node(), pt_data_type_info::precision, pt_add_class_to_entity_list(), PT_CLASS, PT_DATA_TYPE, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_HAS_COLLATION, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_IS_CHAR_STRING_TYPE, PT_IS_COLLECTION_TYPE, pt_is_same_enum_data_type(), PT_NAME, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_ENUMERATION, PT_TYPE_MAYBE, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, pt_name_info::spec_id, tp_domain::type, parser_node::type_enum, and pt_data_type_info::virt_type_enum.
Referenced by pt_bind_set_type(), pt_check_function_collation(), pt_dbval_to_value(), pt_eval_function_type_old(), pt_fix_enumeration_comparison(), pt_seq_value_to_db(), pt_set_value_to_db(), and func_type::Node::set_return_type().
PT_NODE* pt_and | ( | PARSER_CONTEXT * | parser_ptr, |
const PT_NODE * | expression1, | ||
const PT_NODE * | expression2 | ||
) |
Definition at line 223 of file parser_support.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_statement_info::expr, parser_node::info, pt_expr_info::op, parser_new_node(), PT_AND, and PT_EXPR.
Referenced by pt_transform_cnf_post().
PARSER_VARCHAR* pt_append_bytes | ( | const PARSER_CONTEXT * | parser, |
PARSER_VARCHAR * | old_bytes, | ||
const char * | new_tail, | ||
const int | length | ||
) |
Definition at line 1014 of file parse_tree.c.
References parser_varchar::bytes, parser_varchar::length, NULL, parser, parser_allocate_string_buffer(), and pt_append_bytes_for().
Referenced by chksum_get_quote_escaped_lower_bound(), pt_append_nulstring(), pt_append_quoted_string(), pt_append_varchar(), pt_bind_helper(), pt_check_enum_data_type(), pt_dbval_to_value(), pt_domain_to_data_type(), pt_make_string_value(), pt_print_alter_index(), pt_print_bytes_spec_list(), pt_print_create_entity(), pt_print_create_index(), pt_print_drop_index(), pt_print_index_columns(), pt_print_session_variables(), pt_print_table_option(), pt_print_tuple_value(), qo_find_like_rewrite_bound(), and qo_rewrite_one_like_term().
PARSER_VARCHAR* pt_append_name | ( | const PARSER_CONTEXT * | parser, |
PARSER_VARCHAR * | string, | ||
const char * | name | ||
) |
Definition at line 5208 of file parse_tree_cl.c.
References parser_context::custom_print, lang_check_identifier(), pt_append_nulstring(), pt_is_keyword(), PT_PRINT_QUOTES, PT_SUPPRESS_QUOTES, and strlen.
Referenced by pt_print_bytes_alias(), pt_print_insert(), and pt_print_name().
PARSER_VARCHAR* pt_append_nulstring | ( | const PARSER_CONTEXT * | parser, |
PARSER_VARCHAR * | old_bytes, | ||
const char * | new_tail | ||
) |
Definition at line 1072 of file parse_tree.c.
References NULL, pt_append_bytes(), and strlen.
Referenced by chksum_get_quote_escaped_lower_bound(), chksum_print_attribute_list(), chksum_print_checksum_query(), chksum_print_lower_bound_string(), chksum_print_pk_list(), chksum_print_select_last_chunk(), chksum_print_select_master_checksum(), chksum_print_update_master_checksum(), chksum_set_initial_chunk_id_and_lower_bound(), parser_print_tree(), pt_append_name(), pt_append_quoted_string(), pt_append_string_prefix(), pt_dbval_to_value(), pt_print_alter(), pt_print_alter_index(), pt_print_alter_one_clause(), pt_print_alter_serial(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_alter_user(), pt_print_and_list(), pt_print_attach(), pt_print_attr_def(), pt_print_attr_ordering(), pt_print_auth_cmd(), pt_print_auto_increment(), pt_print_bytes_l(), pt_print_col_def_constraint(), pt_print_commit_work(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_index(), pt_print_create_serial(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_create_user(), pt_print_cte(), pt_print_data_default(), pt_print_datatype(), pt_print_db_value(), pt_print_delete(), pt_print_difference(), pt_print_do(), pt_print_dot(), pt_print_drop(), pt_print_drop_index(), pt_print_drop_serial(), pt_print_drop_session_variables(), pt_print_drop_stored_procedure(), pt_print_drop_trigger(), pt_print_drop_user(), pt_print_drop_variable(), pt_print_error_msg(), pt_print_evaluate(), pt_print_event_spec(), pt_print_event_target(), pt_print_execute_trigger(), pt_print_expr(), pt_print_function(), pt_print_get_opt_lvl(), pt_print_get_stats(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_grant(), pt_print_host_var(), pt_print_insert(), pt_print_intersection(), pt_print_isolation_lvl(), pt_print_json_table(), pt_print_json_table_column_error_or_empty_behavior(), pt_print_json_table_column_info(), pt_print_json_table_columns(), pt_print_json_table_node(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_name(), pt_print_named_arg(), pt_print_partition(), pt_print_parts(), pt_print_prepare_to_commit(), pt_print_query_trace(), pt_print_remove_trigger(), pt_print_rename(), pt_print_rename_trigger(), pt_print_resolution(), pt_print_revoke(), pt_print_rollback_work(), pt_print_savepoint(), pt_print_scope(), pt_print_select(), pt_print_session_variables(), pt_print_set_names(), pt_print_set_opt_lvl(), pt_print_set_session_variables(), pt_print_set_sys_params(), pt_print_set_timezone(), pt_print_set_trigger(), pt_print_set_xaction(), pt_print_showstmt(), pt_print_sort_spec(), pt_print_sp_parameter(), pt_print_spec(), pt_print_table_option(), pt_print_timeout(), pt_print_trigger_action(), pt_print_truncate(), pt_print_union_stmt(), pt_print_update(), pt_print_update_stats(), pt_print_vacuum(), pt_print_value(), pt_print_with_clause(), and pt_to_regu_variable().
PT_NODE* pt_append_query_select_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query, | ||
PT_NODE * | attrs | ||
) |
Definition at line 8090 of file type_checking.c.
References pt_union_info::arg1, pt_union_info::arg2, parser_node::info, pt_select_info::list, parser_node::node_type, parser_append_node(), PT_DIFFERENCE, PT_INTERSECTION, PT_SELECT, PT_UNION, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_query_info::union_.
Referenced by pt_resolve_vclass_args().
char* pt_append_string | ( | const PARSER_CONTEXT * | parser, |
const char * | old_string, | ||
const char * | new_tail | ||
) |
Definition at line 980 of file parse_tree.c.
References CONST_CAST, NULL, parser_allocate_string_buffer(), pt_append_string_for(), and strlen.
Referenced by copy_node_in_tree_pre(), mq_class_lambda(), mq_fetch_subqueries(), mq_generate_name(), mq_get_expression(), pt_add_name_col_to_sel_list(), pt_add_string_col_to_sel_list(), pt_check_alter(), pt_check_drop(), pt_check_union_type_compatibility_of_values_query(), pt_chop_trailing_dots(), pt_compile_trigger_stmt(), pt_create_param_for_value(), pt_create_pt_name(), pt_expand_external_path(), pt_fillin_type_size(), pt_fold_const_expr(), pt_get_attributes(), pt_get_node_title(), pt_get_select_from_name(), pt_get_select_list(), pt_get_spec_name(), pt_get_unique_exposed_name(), pt_make_collation_expr_node(), pt_make_collection_type_subquery_node(), pt_make_field_type_expr_node(), pt_make_if_with_expressions(), pt_make_query_show_columns(), pt_make_query_show_grants(), pt_make_query_show_index(), pt_make_query_show_trace(), pt_makename(), pt_mark_pt_name(), pt_name(), pt_partition_name(), pt_record_error(), pt_record_warning(), pt_resolve_star(), pt_resolve_vclass_args(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_set_update_object(), and qo_insert_segment().
PARSER_VARCHAR* pt_append_varchar | ( | const PARSER_CONTEXT * | parser, |
PARSER_VARCHAR * | old_bytes, | ||
const PARSER_VARCHAR * | new_tail | ||
) |
Definition at line 1052 of file parse_tree.c.
References parser_varchar::bytes, parser_varchar::length, NULL, and pt_append_bytes().
Referenced by chksum_print_checksum_query(), chksum_print_select_last_chunk(), pt_print_alter(), pt_print_alter_index(), pt_print_alter_one_clause(), pt_print_alter_serial(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_alter_user(), pt_print_and_list(), pt_print_attr_def(), pt_print_attr_ordering(), pt_print_auth_cmd(), pt_print_auto_increment(), pt_print_bytes_spec_list(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_index(), pt_print_create_serial(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_create_user(), pt_print_cte(), pt_print_data_default(), pt_print_datatype(), pt_print_delete(), pt_print_difference(), pt_print_do(), pt_print_dot(), pt_print_drop(), pt_print_drop_index(), pt_print_drop_serial(), pt_print_drop_session_variables(), pt_print_drop_stored_procedure(), pt_print_drop_trigger(), pt_print_drop_user(), pt_print_drop_variable(), pt_print_evaluate(), pt_print_event_spec(), pt_print_event_target(), pt_print_execute_trigger(), pt_print_expr(), pt_print_file_path(), pt_print_function(), pt_print_get_opt_lvl(), pt_print_get_stats(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_grant(), pt_print_host_var(), pt_print_index_columns(), pt_print_insert(), pt_print_intersection(), pt_print_isolation_lvl(), pt_print_json_table(), pt_print_json_table_column_error_or_empty_behavior(), pt_print_json_table_column_info(), pt_print_json_table_node(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_name(), pt_print_named_arg(), pt_print_partition(), pt_print_parts(), pt_print_remove_trigger(), pt_print_rename(), pt_print_rename_trigger(), pt_print_resolution(), pt_print_revoke(), pt_print_rollback_work(), pt_print_savepoint(), pt_print_scope(), pt_print_select(), pt_print_session_variables(), pt_print_set_names(), pt_print_set_opt_lvl(), pt_print_set_session_variables(), pt_print_set_sys_params(), pt_print_set_timezone(), pt_print_set_trigger(), pt_print_set_xaction(), pt_print_showstmt(), pt_print_sort_spec(), pt_print_sp_parameter(), pt_print_spec(), pt_print_table_option(), pt_print_timeout(), pt_print_trigger_action(), pt_print_trigger_spec_list(), pt_print_truncate(), pt_print_union_stmt(), pt_print_update(), pt_print_update_stats(), pt_print_value(), and pt_print_with_clause().
Definition at line 589 of file parse_evaluate.c.
References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_REFERENCE_TO_NON_REFERABLE_NOT_ALLOWED, er_set(), pt_associate_label_with_value(), and pt_is_reference_to_reusable_oid().
Referenced by call_method(), db_bind_parameter_name(), do_evaluate(), do_execute_select(), do_execute_session_statement(), do_get_optimization_param(), do_get_stats(), do_get_trigger(), do_get_xaction(), do_insert_template(), do_select_internal(), and jsp_call_stored_procedure().
Definition at line 2231 of file parser_support.c.
References pt_insert_info::attr_list, parser_node::info, pt_statement_info::insert, parser_node::node_type, NULL, and PT_INSERT.
Referenced by uci_static().
Definition at line 2539 of file parse_dbi.c.
References pt_auth_cmd_info::auth_cmd, pt_statement_info::auth_cmd, DB_AUTH_ALL, DB_AUTH_ALTER, DB_AUTH_DELETE, DB_AUTH_EXECUTE, DB_AUTH_INDEX, DB_AUTH_INSERT, DB_AUTH_NONE, DB_AUTH_SELECT, DB_AUTH_UPDATE, parser_node::info, PT_ALL_PRIV, PT_ALTER_PRIV, PT_DELETE_PRIV, PT_EXECUTE_PRIV, PT_INDEX_PRIV, PT_INSERT_PRIV, PT_SELECT_PRIV, and PT_UPDATE_PRIV.
Referenced by do_grant(), and do_revoke().
int pt_between_to_comp_op | ( | PT_OP_TYPE | between, |
PT_OP_TYPE * | left, | ||
PT_OP_TYPE * | right | ||
) |
Definition at line 21277 of file type_checking.c.
References COMPARE_BETWEEN_OPERATOR_COUNT, i, compare_between_operator::left, and compare_between_operator::right.
Referenced by qo_apply_range_intersection(), qo_apply_range_intersection_helper(), and qo_merge_range_helper().
PT_NODE* pt_bind_param_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 419 of file name_resolution.c.
References parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, pt_bind_parameter(), PT_NAME, and PT_PARAMETER.
Referenced by do_check_internal_statements().
PT_NODE* pt_bind_type_from_dbval | ( | PARSER_CONTEXT * | , |
PT_NODE * | , | ||
DB_VALUE * | |||
) |
Definition at line 3067 of file parse_dbi.c.
References pt_bind_helper().
Referenced by pt_bind_type_of_host_var(), and pt_value_to_db().
PT_NODE* pt_bind_values_to_hostvars | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 3238 of file name_resolution.c.
References NULL, parser_walk_tree(), pt_bind_value_to_hostvar_local(), and pt_has_error.
Referenced by db_execute_and_keep_statement_local().
int pt_check_class_eq | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | p, | ||
PT_NODE * | q | ||
) |
Definition at line 13129 of file semantic_check.c.
References CASE_INSENSITIVE, parser_node::info, MSGCAT_SEMANTIC_SORT_SPEC_NAN_PATH, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, PT_ERRORmf, PT_NAME, pt_short_print(), pt_str_compare(), pt_name_info::resolved, and pt_name_info::spec_id.
Referenced by qo_search_comp_pair_term().
int pt_check_enum_data_type | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | dt | ||
) |
Definition at line 9330 of file parser_support.c.
References parser_varchar::bytes, tp_domain::collation_id, cubregex::count(), pt_statement_info::data_type, pt_value_info::data_value, DB_ENUM_ELEMENTS_MAX, DB_ENUM_ELEMENTS_MAX_AGG_SIZE, DB_TYPE_CHAR, DB_TYPE_NCHAR, pt_value_info::db_value, pt_value_info::db_value_is_initialized, pt_data_type_info::enumeration, ER_FAILED, err, pr_type::id, parser_node::info, intl_char_count(), intl_pad_char(), parser_varchar::length, MSGCAT_SEMANTIC_ENUM_AGG_STRINGS_SIZE_TOO_LARGE, MSGCAT_SEMANTIC_ENUM_TYPE_DUPLICATE_VALUES, MSGCAT_SEMANTIC_ENUM_TYPE_TOO_MANY_VALUES, MSGCAT_SET_PARSER_SEMANTIC, db_value::need_clear, parser_node::next, NO_ERROR, parser_node::node_type, NULL, or_packed_domain_size(), pr_clear_value(), prm_get_bool_value(), PRM_ID_IGNORE_TRAILING_SPACE, pt_append_bytes(), PT_DATA_TYPE, pt_data_type_to_db_domain(), PT_ERRORm, PT_ERRORmf2, PT_INTERNAL_ERROR, pt_node_to_db_type(), PT_TYPE_ENUMERATION, pt_value_to_db(), QSTR_COMPARE, qstr_trim_trailing(), pt_data_value::str, tp_domain_free(), tp_domain::type, parser_node::type_enum, pt_data_type_info::units, and pt_statement_info::value.
Referenced by pt_check_attribute_domain(), and validate_attribute_domain().
int pt_check_grammar_charset_collation | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | charset_node, | ||
PT_NODE * | coll_node, | ||
int * | charset, | ||
int * | coll_id | ||
) |
Definition at line 8415 of file parser_support.c.
References assert, parser_varchar::bytes, lang_collation::codeset, lang_collation::coll, coll_data::coll_id, pt_value_info::data_value, ER_GENERIC_ERROR, if(), parser_node::info, INTL_CODESET_BINARY, INTL_CODESET_ISO88591, INTL_CODESET_KSC5601_EUC, INTL_CODESET_NONE, INTL_CODESET_UTF8, lang_charset_cubrid_name_to_id(), LANG_COLL_BINARY, LANG_COLL_EUCKR_BINARY, LANG_COLL_ISO_BINARY, LANG_COLL_UTF8_BINARY, lang_get_collation_by_name(), LANG_SYS_CODESET, LANG_SYS_COLLATION, MSGCAT_SEMANTIC_INCOMPATIBLE_CS_COLL, MSGCAT_SEMANTIC_INVALID_CHARSET, MSGCAT_SEMANTIC_UNKNOWN_COLL, MSGCAT_SET_PARSER_SEMANTIC, NO_ERROR, parser_node::node_type, NULL, PT_ERRORm, PT_ERRORmf, PT_VALUE, pt_data_value::str, and pt_statement_info::value.
Referenced by do_create_entity(), do_set_names(), and pt_check_create_entity().
PT_NODE* pt_check_groupbynum_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1603 of file parser_support.c.
References pt_statement_info::function, pt_function_info::function_type, parser_node::info, parser_node::node_type, PT_CONTINUE_WALK, PT_FUNCTION, PT_GROUPBY_NUM, and PT_SELECT.
Referenced by pt_semantic_check_local(), and pt_split_having_grbynum().
PT_NODE* pt_check_groupbynum_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1584 of file parser_support.c.
References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.
Referenced by pt_semantic_check_local(), and pt_split_having_grbynum().
int pt_check_if_query | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
PT_NODE* pt_check_instnum_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1558 of file parser_support.c.
References pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_CONTINUE_WALK, PT_EXPR, PT_INST_NUM, PT_ROWNUM, and PT_SELECT.
Referenced by pt_split_access_if_instnum(), pt_split_if_instnum(), and qo_analyze_term().
PT_NODE* pt_check_instnum_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1539 of file parser_support.c.
References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.
Referenced by pt_split_access_if_instnum(), pt_split_if_instnum(), and qo_analyze_term().
void pt_check_level_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | expr, | ||
bool * | has_greater, | ||
bool * | has_lesser | ||
) |
Definition at line 1767 of file parser_support.c.
References pt_expr_info::arg1, pt_union_info::arg1, pt_expr_info::arg2, pt_union_info::arg2, pt_statement_info::expr, parser_node::info, pt_select_info::list, parser_node::node_type, NULL, pt_expr_info::op, PT_AND, PT_BETWEEN, PT_DIFFERENCE, PT_EQ, PT_EQ_SOME, PT_GE, PT_GT, PT_INTERSECTION, PT_IS_EXPR_NODE, PT_IS_IN, PT_LE, PT_LEVEL, PT_LT, PT_NOT, PT_OR, PT_RANGE, PT_SELECT, PT_UNION, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_query_info::union_.
Referenced by pt_semantic_check_local().
bool pt_check_ordby_num_for_multi_range_opt | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query, | ||
bool * | mro_candidate, | ||
bool * | cannot_eval | ||
) |
Definition at line 8940 of file parser_support.c.
References assert_release, db_get_bigint(), DB_IS_NULL, db_make_null(), parser_context::flag, NO_ERROR, NULL, prm_get_integer_value(), PRM_ID_MULTI_RANGE_OPT_LIMIT, pt_get_query_limit_value(), PT_IS_QUERY, and parser_context::set_host_var.
Referenced by qo_check_iscan_for_multi_range_opt().
int pt_check_order_by | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query | ||
) |
Definition at line 12646 of file semantic_check.c.
References pt_query_info::all_distinct, pt_union_info::arg1, pt_union_info::arg2, pt_sort_spec_info::asc_or_desc, assert, CASE_INSENSITIVE, pt_value_info::data_value, parser_node::do_not_replace_orderby, qfile_tuple_value_position::dom, semantic_chk_info::donot_fold, ER_FAILED, error(), EXCLUDE_HIDDEN_COLUMNS, pt_sort_spec_info::expr, pt_statement_info::expr, parser_node::flag, pt_select_info::from, i, pt_data_value::i, INCLUDE_HIDDEN_COLUMNS, parser_node::info, parser_node::is_hidden_column, pt_query_info::limit, pt_select_info::list, mq_clear_ids(), mq_rewrite_aggregate_as_derived(), MSGCAT_SEMANTIC_INVALID_ORDERBY_WITH_DISTINCT, MSGCAT_SEMANTIC_NO_ORDERBY_ALLOWED, MSGCAT_SEMANTIC_ORDERBY_IS_NOT_INT, MSGCAT_SEMANTIC_ORDERBYNUM_SELECT_LIST_ERR, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SEMANTIC_SORT_DIR_CONFLICT, MSGCAT_SEMANTIC_SORT_SPEC_NAN_PATH, MSGCAT_SEMANTIC_SORT_SPEC_NOT_EXIST, MSGCAT_SEMANTIC_SORT_SPEC_RANGE_ERR, MSGCAT_SEMANTIC_SORT_SPEC_WANT_NUM, MSGCAT_SEMANTIC_UNION_INCOMPATIBLE, MSGCAT_SET_PARSER_SEMANTIC, db_value_plist::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_expr_info::op, pt_query_info::order_by, parser_append_node(), parser_copy_tree(), parser_free_node(), parser_free_tree(), parser_new_node(), parser_print_tree(), parser_walk_leaves(), pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, pt_check_compatible_node_for_orderby(), pt_check_orderbynum_post(), pt_check_orderbynum_pre(), pt_check_path_eq(), PT_DIFFERENCE, PT_DISTINCT, PT_DOT_, PT_ERRORm, PT_ERRORmf, PT_ERRORmf2, PT_EXPR, pt_find_order_value_in_list(), pt_has_error, PT_HOST_VAR, PT_INTERSECTION, PT_IS_QUERY, PT_IS_QUERY_NODE_TYPE, pt_is_single_tuple(), pt_length_of_select_list(), PT_NAME, PT_ORDERBY_NUM, pt_remove_from_list(), pt_resolve_names(), PT_SELECT, pt_short_print(), pt_str_compare(), pt_to_null_ordering(), PT_TYPE_INTEGER, PT_TYPE_MAYBE, PT_TYPE_NONE, PT_UNION, PT_VALUE, pt_value_to_db(), pt_xasl_node_to_domain(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::sort_spec, semantic_chk_info::top_node, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.
Referenced by pt_fold_union(), pt_semantic_check_local(), and pt_to_upd_del_query().
PT_NODE* pt_check_orderbynum_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1648 of file parser_support.c.
References pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_CONTINUE_WALK, PT_EXPR, PT_ORDERBY_NUM, and PT_SELECT.
Referenced by pt_check_order_by(), and qo_reduce_order_by().
PT_NODE* pt_check_orderbynum_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1629 of file parser_support.c.
References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.
Referenced by pt_check_order_by(), and qo_reduce_order_by().
int pt_check_path_eq | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | p, | ||
const PT_NODE * | q | ||
) |
Definition at line 13046 of file semantic_check.c.
References pt_dot_info::arg1, pt_dot_info::arg2, CASE_INSENSITIVE, pt_statement_info::dot, parser_node::info, MSGCAT_SEMANTIC_SORT_SPEC_NAN_PATH, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, PT_DOT_, PT_ERRORmf, PT_NAME, pt_short_print(), pt_str_compare(), pt_name_info::resolved, and pt_name_info::spec_id.
Referenced by pt_check_compatible_node_for_orderby(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_compare_sort_spec_expr(), pt_expand_analytic_node(), pt_find_order_value_in_list(), pt_get_node_title(), pt_make_tuple_value_reference(), qo_apply_range_intersection(), qo_convert_to_range_helper(), qo_fold_is_and_not_null(), and qo_search_comp_pair_term().
Definition at line 3652 of file name_resolution.c.
References pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, pt_name_info::db_object, pt_data_type_info::dec_precision, pt_data_type_info::entity, parser_node::info, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_data_type_info::precision, pt_check_same_datatype(), PT_DATA_TYPE, pt_length_of_list(), PT_TYPE_MULTISET, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_SET, parser_node::type_enum, and pt_data_type_info::units.
Referenced by pt_check_same_datatype(), pt_common_attribute(), and pt_fold_const_expr().
int pt_check_set_count_set | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | arg1, | ||
PT_NODE * | arg2 | ||
) |
Definition at line 4534 of file parse_tree_cl.c.
References pt_value_info::data_value, parser_node::info, MSGCAT_SEMANTIC_ATT_CNT_COL_CNT_NE, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, parser_node::node_type, pt_check_set_count_set(), PT_ERROR, PT_ERRORmf2, pt_get_expression_count(), pt_is_set_type, PT_VALUE, rc, pt_data_value::set, and pt_statement_info::value.
Referenced by pt_check_set_count_set().
PT_NODE* pt_check_subquery_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1693 of file parser_support.c.
References parser_node::info, pt_query_info::is_subquery, parser_node::node_type, PT_CONTINUE_WALK, PT_IS_SUBQUERY, PT_SELECT, and pt_statement_info::query.
PT_NODE* pt_check_subquery_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1674 of file parser_support.c.
References parser_node::node_type, PT_SELECT, and PT_STOP_WALK.
int pt_check_unique_names | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | p | ||
) |
Definition at line 3839 of file name_resolution.c.
References CASE_INSENSITIVE, pt_spec_info::entity_name, parser_node::info, MSGCAT_SEMANTIC_DUPLICATE_CLASS_OR_ALIAS, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, PT_ERRORmf, PT_IS_NAME_NODE, PT_SPEC, pt_str_compare(), pt_spec_info::range_var, and pt_statement_info::spec.
DB_OBJECT* pt_check_user_owns_class | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | cls_ref | ||
) |
Definition at line 1351 of file semantic_check.c.
References db_get_owner(), pt_name_info::db_object, parser_node::info, MSGCAT_SEMANTIC_USER_DOESNT_OWN_CLS, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NULL, pt_name_info::original, pt_check_user_exists(), PT_ERRORmf2, pt_name_info::resolved, and ws_is_same_object().
Referenced by do_get_stats(), do_update_stats(), pt_check_alter(), pt_check_attribute_domain(), pt_check_create_entity(), pt_check_create_index(), pt_check_drop(), pt_check_truncate(), and pt_find_users_class().
char* pt_chop_trailing_dots | ( | PARSER_CONTEXT * | parser, |
const char * | msg | ||
) |
Definition at line 3334 of file parser_support.c.
References assert, char_isspace(), NULL, pt_append_string(), and strlen.
Referenced by do_insert_template().
Definition at line 2155 of file parser_support.c.
References pt_update_info::assignment, pt_statement_info::delete_, pt_spec_info::flat_entity_list, pt_select_info::from, parser_node::info, pt_statement_info::insert, parser_node::node_type, NULL, PT_DELETE, PT_INSERT, PT_SELECT, PT_SPEC, PT_UPDATE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_delete_info::spec, pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, and pt_statement_info::update.
Referenced by uci_static().
PT_NODE* pt_class_pre_fetch | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 431 of file compile.c.
References pt_class_locks::allocated_count, pt_statement_info::alter, pt_alter_info::alter_clause, pt_statement_info::attr_def, pt_alter_info::attr_mthd, pt_class_locks::classes, cleanup(), pt_alter_info::code, pt_attr_def_info::constrain_not_null, pt_statement_info::create_entity, db_error_string(), pt_create_entity_info::entity_type, er_errid(), ER_LK_UNILATERALLY_ABORTED, ER_TM_SERVER_DOWN_UNILATERALLY_ABORTED, pt_class_locks::flags, free_and_init, parser_node::info, LC_CLASSNAME_ERROR, LC_CLASSNAME_EXIST, parser_context::lcks_classes, locator_lockhint_classes(), pt_class_locks::locks, MSGCAT_RUNTIME_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, parser_node::next, NO_ERROR, parser_node::node_type, NULL, NULL_LOCK, pt_class_locks::num_classes, parser_context::num_lcks_classes, pt_class_locks::only_all, parser_free_lcks_classes(), parser_walk_tree(), PT_ADD_ATTR_MTHD, PT_ALTER, PT_CLASS, pt_count_entities(), PT_CREATE_ENTITY, PT_DELETE, PT_DIFFERENCE, PT_ERRORc, PT_ERRORmf, pt_find_lck_classes(), pt_has_error, PT_INSERT, PT_INTERSECTION, PT_MERGE, pt_resolve_cte_specs(), PT_SELECT, pt_set_class_chn(), PT_UNION, PT_UPDATE, S_LOCK, TM_TRAN_ISOLATION, TM_TRAN_REP_READ_LOCK, tran_lock_rep_read(), TRAN_REPEATABLE_READ, and X_LOCK.
Referenced by db_compile_statement_local(), and sm_virtual_queries().
PT_NODE* pt_cnf | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 941 of file cnf.c.
References count_and_or(), mode, parser_node::next, parser_node::node_type, NULL, parser_walk_tree(), pt_and_or_form(), PT_EXPR_INFO_CNF_DONE, PT_EXPR_INFO_IS_FLAGED, PT_EXPR_INFO_SET_FLAG, pt_tag_start_of_cnf_post(), pt_transform_cnf_post(), pt_transform_cnf_pre(), PT_VALUE, TRANSFORM_CNF_AND_OR, and TRANSFORM_CNF_OR_COMPACT.
Referenced by mq_check_rewrite_select(), pt_bind_names(), pt_do_cnf(), and qo_optimize_queries().
PT_NODE* pt_coerce_node_collation | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
const int | coll_id, | ||
const INTL_CODESET | codeset, | ||
bool | force_mode, | ||
bool | use_collate_modifier, | ||
PT_TYPE_ENUM | wrap_type_for_maybe, | ||
PT_TYPE_ENUM | wrap_type_collection | ||
) |
Definition at line 22319 of file type_checking.c.
References pt_union_info::arg2, pt_function_info::arg_list, assert, pt_expr_info::cast_type, tp_domain::codeset, tp_domain::collation_flag, pt_data_type_info::collation_flag, tp_domain::collation_id, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, db_get_set(), db_get_string_size(), db_string_put_cs_and_collation(), pt_value_info::db_value, pt_value_info::db_value_is_initialized, DB_VALUE_TYPE, pt_data_type_info::dec_precision, parser_node::expected_domain, pt_statement_info::expr, F_MULTISET, F_SEQUENCE, F_SET, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, INTL_CODESET_RAW_BYTES, tp_domain::is_cached, pt_value_info::is_collate_allowed, LANG_COERCIBLE_CODESET, LANG_IS_COERCIBLE_COLL, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_varchar::length, pt_select_info::list, tp_domain::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_expr_info::op, parser_copy_tree_list(), parser_free_node(), parser_new_node(), pt_data_type_info::precision, pt_value_info::print_charset, PT_CAST, pt_cast_needs_wrap_for_collation(), pt_coerce_node_collection_of_collection(), PT_DATA_TYPE, PT_DIFFERENCE, PT_DOT_, PT_EXPR, PT_EXPR_INFO_CAST_COLL_MODIFIER, PT_EXPR_INFO_CAST_SHOULD_FOLD, PT_EXPR_INFO_IS_FLAGED, PT_EXPR_INFO_SET_FLAG, pt_fold_const_expr(), PT_FUNCTION, PT_HAS_COLLATION, PT_HOST_VAR, PT_INTERSECTION, PT_IS_CHAR_STRING_TYPE, PT_IS_COLLECTION_TYPE, pt_length_of_list(), PT_METHOD_CALL, PT_NAME, PT_NODE_PRINT_VALUE_TO_TEXT, pt_preset_hostvar(), PT_SELECT, PT_SET_NODE_COLL_MODIFIER, pt_type_enum_to_db(), PT_TYPE_MAYBE, PT_UNION, PT_VALUE, pt_wrap_collection_with_cast_op(), pt_wrap_select_list_with_cast_op(), pt_wrap_with_cast_op(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, db_set::set, SET_EXPECTED_DOMAIN, set_size(), tp_domain::setdomain, setobj_get_element_ptr(), setobj_size(), pt_data_value::str, pt_value_info::text, tp_domain_add(), tp_domain_cache(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, TP_DOMAIN_COLLATION, TP_DOMAIN_COLLATION_FLAG, tp_domain_copy(), tp_domain_resolve_default(), tp_domain_resolve_default_w_coll(), TP_DOMAIN_TYPE, TP_FLOATING_PRECISION_VALUE, TP_IS_CHAR_TYPE, TP_IS_SET_TYPE, TP_TYPE_HAS_COLLATION, parser_node::type_enum, pt_query_info::union_, pt_data_type_info::units, and pt_statement_info::value.
Referenced by func_type::Node::apply_argument(), pt_check_expr_collation(), pt_check_function_collation(), pt_check_recursive_expr_collation(), pt_coerce_node_collection_of_collection(), pt_eval_function_type_old(), and func_type::Node::set_return_type().
int pt_coerce_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | src, | ||
PT_NODE * | dest, | ||
PT_TYPE_ENUM | desired_type, | ||
PT_NODE * | elem_type_list | ||
) |
Definition at line 20318 of file type_checking.c.
References pt_coerce_value_internal().
Referenced by do_alter_one_clause_with_template(), mq_set_types(), pt_attr_check_default_cs_coll(), pt_check_and_coerce_to_date(), pt_check_and_coerce_to_time(), pt_check_partition_values(), pt_coerce_3args(), pt_coerce_expr_arguments(), pt_coerce_partition_value_with_data_type(), pt_coerce_range_expr_arguments(), pt_coerce_str_to_time_date_utime_datetime(), pt_eval_expr_type(), and pt_get_common_datetime_type().
int pt_coerce_value_for_default_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | src, | ||
PT_NODE * | dest, | ||
PT_TYPE_ENUM | desired_type, | ||
PT_NODE * | elem_type_list, | ||
DB_DEFAULT_EXPR_TYPE | default_expr_type | ||
) |
Definition at line 20350 of file type_checking.c.
References assert, DB_DEFAULT_NONE, parser_node::node_type, NULL, pt_coerce_value_internal(), pt_is_explicit_coerce_allowed_for_default_value(), PT_VALUE, and parser_node::type_enum.
Referenced by check_default_on_update_clause(), do_alter_one_clause_with_template(), and get_att_default_from_def().
int pt_common_collation | ( | PT_COLL_INFER * | arg1_coll_infer, |
PT_COLL_INFER * | arg2_coll_infer, | ||
PT_COLL_INFER * | arg3_coll_infer, | ||
const int | args_w_coll, | ||
bool | op_has_3_args, | ||
int * | common_coll, | ||
INTL_CODESET * | common_cs | ||
) |
Definition at line 22968 of file type_checking.c.
References assert, pt_coll_infer::can_force_cs, pt_coll_infer::codeset, pt_coll_infer::coerc_level, pt_coll_infer::coll_id, ER_FAILED, error(), INTL_CAN_COERCE_CS, MORE_COERCIBLE, NO_ERROR, and NULL.
Referenced by func_type::Node::check_arg_compat(), pt_apply_union_select_list_collation(), pt_check_expr_collation(), pt_check_function_collation(), and pt_eval_function_type_old().
PT_TYPE_ENUM pt_common_type | ( | PT_TYPE_ENUM | arg1_type, |
PT_TYPE_ENUM | arg2_type | ||
) |
Definition at line 10418 of file type_checking.c.
References COMPAT_MYSQL, prm_get_integer_value(), PRM_ID_COMPAT_MODE, PT_IS_NUMERIC_TYPE, PT_IS_STRING_TYPE, PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.
Referenced by pt_coerce_3args(), pt_coerce_value_internal(), pt_combine_compatible_info(), pt_common_type_op(), pt_eval_expr_type(), pt_eval_type_pre(), pt_evaluate_db_value_expr(), pt_expr_get_return_type(), pt_get_common_arg_type_of_width_bucket(), pt_get_common_collection_type(), pt_get_common_datetime_type(), pt_get_common_type_for_union(), pt_get_select_list(), and pt_union_compatible().
int pt_comp_to_between_op | ( | PT_OP_TYPE | left, |
PT_OP_TYPE | right, | ||
PT_COMP_TO_BETWEEN_OP_CODE_TYPE | code, | ||
PT_OP_TYPE * | between | ||
) |
Definition at line 21242 of file type_checking.c.
References compare_between_operator::between, COMPARE_BETWEEN_OPERATOR_COUNT, i, PT_BETWEEN_EQ_NA, PT_EQ, PT_GE, PT_LE, and PT_RANGE_INTERSECTION.
Referenced by qo_apply_range_intersection_helper(), qo_merge_range_helper(), and qo_reduce_comp_pair_terms().
PT_NODE* pt_compile | ( | PARSER_CONTEXT * | parser, |
PT_NODE *volatile | statement | ||
) |
Definition at line 380 of file compile.c.
References parser_node::next, NULL, PT_CLEAR_JMP_ENV, pt_semantic_check(), and PT_SET_JMP_ENV.
Referenced by db_compile_statement_local(), do_alter(), execute_create_select_query(), mq_get_expression(), mq_translate_subqueries(), mq_virtual_queries(), pt_check_alter_partition(), pt_compile_trigger_stmt(), and pt_get_select_query_columns().
PT_NODE* pt_compile_trigger_stmt | ( | PARSER_CONTEXT * | parser, |
const char * | trigger_stmt, | ||
DB_OBJECT * | class_op, | ||
const char * | name1, | ||
const char * | name2 | ||
) |
Definition at line 1018 of file compile.c.
References assert, parser_node::column_number, db_get_class_name(), pt_spec_info::entity_name, PT_ZZ_ERROR_MSG_INFO::error_message, pt_statement_info::error_msg, pt_trigger_action_info::expression, parser_node::flag, pt_spec_info::id, parser_node::info, intl_mbs_ncasecmp(), trigger_exec_info::is_update_object, parser_node::line_number, pt_name_info::meta_class, mq_translate(), pt_statement_info::name, trigger_exec_info::name2, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_spec_info::only_all, pt_name_info::original, parser_copy_tree(), parser_new_node(), parser_parse_string_use_sys_charset(), pt_append_string(), PT_CLASS, pt_compile(), PT_DELETE, pt_get_errors(), pt_has_error, PT_INTERNAL_ERROR, PT_NAME, PT_ONLY, PT_SPEC, pt_split_delete_stmt(), pt_spec_info::range_var, remove_appended_trigger_info(), pt_name_info::resolved, pt_statement_info::scope, parser_node::si_datetime, pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, pt_scope_info::stmt, strlen, pt_statement_info::trigger_action, and pt_statement_info::update.
Referenced by compile_trigger_activity().
PT_NODE* pt_continue_walk | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1001 of file parse_tree_cl.c.
References PT_CONTINUE_WALK, and pt_lambda_arg::tree.
Referenced by do_evaluate_insert_values(), get_term_subqueries(), mq_clear_ids(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_get_references_node(), mq_new_spec(), mq_path_name_lambda(), mq_rename_resolved(), mq_reset_ids_and_references_helper(), mq_rewrite_agg_names(), mq_set_references_local(), mq_substitute_path(), pt_bind_names(), pt_build_do_stmt_aptr_list(), pt_check_drop(), pt_check_grant_revoke(), pt_check_truncate(), pt_check_vacuum(), pt_check_with_info(), pt_filter_pseudo_specs(), pt_find_aggregate_functions_pre(), pt_flat_spec_pre(), pt_get_resolution(), pt_is_spec_referenced(), pt_resolve_names(), pt_set_numbering_node_etc(), pt_split_delete_stmt(), pt_table_compatible(), pt_to_aggregate(), pt_to_corr_subquery_list(), qo_expr_segs(), qo_optimize_helper(), qo_validate(), and set_seg_expr().
PT_OP_TYPE pt_converse_op | ( | PT_OP_TYPE | op | ) |
Definition at line 21042 of file type_checking.c.
References PT_EQ, PT_GE, PT_GT, PT_LE, PT_LT, and PT_NE.
Referenced by pt_to_range_key(), qo_analyze_term(), and qo_converse_sarg_terms().
PT_NODE* pt_convert_to_logical_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
bool | use_parens_inside, | ||
bool | use_parens_outside | ||
) |
Definition at line 7755 of file parser_support.c.
References pt_value_info::data_value, pt_data_value::i, parser_node::info, NULL, parser_make_expression(), parser_new_node(), PT_NE, PT_TYPE_INTEGER, PT_TYPE_LOGICAL, PT_VALUE, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_to_upd_del_query().
Definition at line 4042 of file parser_support.c.
References parser_node::cannot_prepare, parser_node::flag, parser_node::recompile, parser_node::si_datetime, and parser_node::si_tran_id.
Referenced by execute_create_select_query().
int pt_count_assignments | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | assignments | ||
) |
Definition at line 1413 of file parse_tree.c.
References pt_get_next_assignment(), and pt_init_assignments_helper().
Referenced by check_trigger().
PT_NODE* pt_count_input_markers | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 13373 of file semantic_check.c.
References pt_statement_info::host_var, pt_host_var_info::index, parser_node::info, and pt_is_input_hostvar.
Referenced by pt_transform_cnf_post().
PT_NODE* pt_count_output_markers | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 13401 of file semantic_check.c.
References pt_statement_info::host_var, pt_host_var_info::index, parser_node::info, and pt_is_output_hostvar.
Referenced by db_number_of_output_markers().
Definition at line 1264 of file parse_dbi.c.
References parser_varchar::bytes, CAST_POINTER_TO_NODE, db_domain_info::char_info, db_value::data, pt_statement_info::data_type, parser_node::data_type, db_make_null(), db_private_strdup(), DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_JSON, DB_TYPE_NCHAR, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, db_value_domain_init_default(), pt_data_type_info::dec_precision, db_value::domain, parser_node::info, db_data::json, pt_data_type_info::json_schema, db_domain_info::char_info::length, db_value::need_clear, NULL, db_domain_info::numeric_info, db_domain_info::numeric_info::precision, pt_data_type_info::precision, pt_type_enum_to_db(), db_domain_info::numeric_info::scale, db_json::schema_raw, parser_node::type_enum, and pt_data_type_info::virt_object.
Referenced by pt_make_val_list().
DB_DOMAIN* pt_data_type_to_db_domain | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | dt, | ||
const char * | class_name | ||
) |
Definition at line 1805 of file parse_dbi.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, parser_varchar::bytes, tp_domain::class_mop, tp_domain::class_oid, tp_domain::codeset, tp_domain::collation_flag, pt_data_type_info::collation_flag, tp_domain::collation_id, db_enumeration::collation_id, pt_data_type_info::collation_id, db_enumeration::count, pt_statement_info::data_type, DB_DEFAULT_PRECISION, db_find_class(), db_json_load_validator(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ELO, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, pt_data_type_info::dec_precision, DOM_SET_ENUM_ELEMENTS, DOM_SET_ENUM_ELEMS_COUNT, db_enumeration::elements, pt_data_type_info::entity, tp_domain::enumeration, er_set(), ER_SM_DOMAIN_NOT_A_CLASS, ER_WARNING_SEVERITY, parser_node::info, intl_identifier_casecmp(), pt_data_type_info::json_schema, tp_domain::json_validator, LANG_SYS_CODESET, LANG_SYS_COLLATION, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, vid_oid::oid, db_object::oid_info, pt_name_info::original, tp_domain::precision, pt_data_type_info::precision, pt_get_enumeration_from_data_type(), PT_NAME, pt_node_to_db_domain(), pt_type_enum_to_db(), pt_type_enum_to_db_domain(), tp_domain::scale, tp_domain::self_ref, tp_domain_clear_enumeration(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, tp_domain_construct(), tp_domain_new(), TP_DOMAIN_SELF_REF, parser_node::type_enum, pt_data_type_info::units, and pt_data_type_info::virt_object.
Referenced by do_add_methods(), pt_assignment_compatible(), pt_check_enum_data_type(), pt_coerce_expression_argument(), pt_evaluate_db_value_expr(), pt_fix_enumeration_comparison(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_node_to_function_index(), pt_string_to_db_domain(), pt_wrap_collection_with_cast_op(), and pt_xasl_data_type_to_domain().
Definition at line 1655 of file parse_dbi.c.
References assert, pt_statement_info::data_type, pt_data_type_info::entity, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, PT_DATA_TYPE, PT_NAME, pt_type_enum_to_db_domain_name(), PT_TYPE_OBJECT, and parser_node::type_enum.
Referenced by do_alter_one_clause_with_template(), and pt_node_to_db_domain_name().
PT_TYPE_ENUM pt_db_to_type_enum | ( | const DB_TYPE | t | ) |
Definition at line 2595 of file parse_dbi.c.
References assert, DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FIRST, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_LAST, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_UNKNOWN, DB_TYPE_VARBIT, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, 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_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_MAYBE, PT_TYPE_MIDXKEY, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.
Referenced by do_add_attribute_from_select_column(), do_alter_one_clause_with_template(), do_cast_host_variables_to_expected_domain(), generate_natural_join_attrs_from_db_attrs(), pt_add_type_to_set(), pt_bind_helper(), pt_bind_names_post(), pt_bind_reserved_name(), pt_check_partitions(), pt_dbval_to_value(), pt_domain_to_data_type(), pt_eval_expr_type(), pt_eval_method_call_type(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_expr_get_return_type(), pt_get_attr_data_type(), pt_get_attributes(), pt_infer_common_type(), pt_make_method_call(), pt_make_regu_hostvar(), pt_print_db_value(), pt_resolve_method_type(), pt_resolve_star_reserved_names(), pt_set_host_variables(), pt_sm_attribute_default_value_to_node(), pt_string_to_db_domain(), pt_to_delete_xasl(), pt_update_host_var_data_type(), pt_wrap_expr_w_exp_dom_cast(), pt_wrap_type_for_collation(), qo_rewrite_like_terms(), and func_type::Node::set_return_type().
DB_VALUE* pt_db_value_initialize | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | value, | ||
DB_VALUE * | db_value, | ||
int * | more_type_info_needed | ||
) |
Definition at line 3195 of file parse_dbi.c.
References pt_monetary_value::amount, assert, pt_data_value::bigint, parser_varchar::bytes, pt_data_type_info::collation_id, pt_data_value::d, db_value::data, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_json_get_json_from_str(), db_make_bigint(), db_make_bit(), db_make_char(), db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_double(), db_make_elo(), db_make_float(), db_make_int(), db_make_monetary(), db_make_multiset(), db_make_nchar(), db_make_null(), db_make_object(), db_make_sequence(), db_make_set(), db_make_short(), db_make_timestamp(), db_make_timestampltz(), db_make_timestamptz(), db_make_varchar(), db_make_varnchar(), db_private_alloc, db_private_free_and_init, db_seq_create(), db_set_create_basic(), db_set_create_multi(), db_string_to_date(), db_string_to_datetime(), db_string_to_datetimeltz(), db_string_to_datetimetz(), db_string_to_time(), db_string_to_timestampltz(), db_string_to_timestamptz(), db_string_to_utime, DB_TYPE_BLOB, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_JSON, DB_TYPE_TIME, db_value_alter_type(), db_value_domain_init(), pt_value_info::db_value_is_in_workspace, db_value_put_encoded_date(), db_value_put_encoded_time(), db_json::document, db_value::domain, pt_data_value::elo, pt_data_value::f, db_domain_info::general_info, pt_data_value::i, if(), parser_node::info, db_domain_info::general_info::is_null, db_data::json, LANG_COERCIBLE_CODESET, LANG_COERCIBLE_COLL, parser_varchar::length, pt_data_value::money, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_RUNTIME_BAD_DATE, MSGCAT_RUNTIME_BAD_NUMERIC, MSGCAT_RUNTIME_BAD_TIME, MSGCAT_RUNTIME_BAD_UTIME, MSGCAT_RUNTIME_INVALID_JSON, MSGCAT_RUNTIME_UNDEFINED_CONVERSION, MSGCAT_RUNTIME_UNIMPLEMENTED_CONV, MSGCAT_SEMANTIC_INVALID_BITSTRING, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, db_value::need_clear, NO_ERROR, parser_node::node_type, NULL, numeric_coerce_string_to_num(), pt_data_value::op, pr_clear_value(), PT_ERROR, PT_ERRORm, PT_ERRORmf, PT_HAS_COLLATION, pt_seq_value_to_db(), pt_set_value_to_db(), pt_short_print(), PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_COMPOUND, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, pt_type_enum_to_db(), PT_TYPE_EXPR_SET, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAX, PT_TYPE_MAYBE, PT_TYPE_MIDXKEY, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_STAR, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, PT_VALUE, qstr_bit_to_bin(), qstr_hex_to_bin(), REINTERPRET_CAST, pt_data_value::set, pt_data_value::str, pt_value_info::string_type, TP_FLOATING_PRECISION_VALUE, db_domain_info::general_info::type, pt_monetary_value::type, parser_node::type_enum, pt_data_type_info::units, and pt_statement_info::value.
Referenced by pt_value_to_db().
PT_NODE* pt_dbval_to_value | ( | PARSER_CONTEXT * | parser, |
const DB_VALUE * | val | ||
) |
Definition at line 574 of file parse_dbi.c.
References db_monetary::amount, pt_monetary_value::amount, assert, pt_data_value::bigint, parser_varchar::bytes, pt_data_type_info::collation_id, pt_data_value::d, pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, db_datetimetz::datetime, db_bit_string(), db_date_to_string(), db_datetime_to_string(), db_datetimeltz_to_string(), db_datetimetz_to_string(), db_elo_copy_structure(), db_get_bigint(), db_get_bit(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_elo(), db_get_enum_short(), db_get_enum_string(), db_get_enum_string_size(), db_get_float(), db_get_int(), db_get_json_raw_body(), db_get_json_schema, db_get_monetary(), db_get_object(), db_get_short(), db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_size(), db_get_time(), db_get_timestamp(), db_get_timestamptz(), db_json_validate_json(), db_make_object(), db_private_alloc, db_private_free, db_private_free_and_init, db_time_to_string(), db_timestampltz_to_string(), db_timestamptz_to_string(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, db_utime_to_string, pt_value_info::db_value, db_value_clone(), db_value_get_monetary_currency(), pt_value_info::db_value_is_in_workspace, pt_value_info::db_value_is_initialized, db_value_precision(), db_value_scale(), DB_VALUE_TYPE, pt_data_type_info::dec_precision, pt_data_value::elo, pt_data_value::enumeration, pt_data_value::f, pt_data_value::i, parser_node::info, pt_data_type_info::json_schema, parser_varchar::length, pt_data_value::money, MSGCAT_RUNTIME_UNDEFINED_CONVERSION, MSGCAT_SEMANTIC_DATA_OVERFLOW_ON, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NO_ERROR, NULL, numeric_db_value_print(), pt_data_value::op, parser_free_node(), parser_new_node(), pt_data_type_info::precision, pt_add_type_to_set(), pt_append_bytes(), pt_append_nulstring(), PT_DATA_TYPE, pt_db_to_type_enum(), PT_ERRORm, PT_ERRORmf, pt_get_object_data_type(), PT_INTERNAL_ERROR, pt_set_elements_to_value(), pt_show_type_enum(), PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CLOB, PT_TYPE_NULL, PT_TYPE_OBJECT, PT_VALUE, pt_data_value::set, SET_PARSER_ERROR_AND_FREE_NODE, pt_enum_element_value::short_val, pt_data_value::str, pt_enum_element_value::str_val, pt_value_info::string_type, strlen, pt_value_info::text, db_timestamptz::timestamp, db_monetary::type, pt_monetary_value::type, parser_node::type_enum, db_timestamptz::tz_id, db_datetimetz::tz_id, pt_data_type_info::units, pt_statement_info::value, vid_oid_to_object(), and vid_vobj_to_object().
Referenced by check_default_on_update_clause(), do_alter_one_clause_with_template(), do_evaluate_insert_values(), do_replace_names_for_insert_values_pre(), get_att_default_from_def(), meth_translate_spec(), mq_replace_virtual_oid_with_real_oid(), mq_set_non_updatable_oid(), mq_update_attribute(), pt_bind_parameter(), pt_bind_value_to_hostvar_local(), pt_check_access_status(), pt_check_alter_partition(), pt_check_and_replace_hostvar(), pt_check_default_vclass_query_spec(), pt_coerce_value_internal(), pt_eval_value_path(), pt_find_attr_in_class_list(), pt_find_name_in_spec(), pt_fix_first_term_expr_for_iss(), pt_fix_first_term_func_index_for_iss(), pt_fold_const_expr(), pt_fold_const_function(), pt_limit_to_numbering_expr(), pt_make_query_show_columns(), pt_make_query_show_index(), pt_resolve_default_value(), pt_set_elements_to_value(), pt_sm_attribute_default_value_to_node(), pt_to_list_key(), pt_to_regu_variable(), pt_to_upd_del_query(), qo_convert_to_range(), qo_fold_is_and_not_null(), and qo_reduce_equality_terms().
PT_NODE* pt_do_cnf | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1191 of file cnf.c.
References pt_select_info::from, pt_select_info::having, pt_spec_info::id, parser_node::info, parser_node::next, parser_node::node_type, pt_cnf(), PT_EXPR_INFO_CLEAR_FLAG, PT_EXPR_INFO_CNF_DONE, PT_SELECT, pt_tag_terms_with_specs(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, find_id_info::spec, pt_statement_info::spec, and pt_select_info::where.
Referenced by meth_collapse_nodes(), and meth_translate().
PT_NODE* pt_domain_to_data_type | ( | PARSER_CONTEXT * | parser, |
DB_DOMAIN * | domain | ||
) |
Definition at line 3978 of file name_resolution.c.
References assert, tp_domain::collation_flag, pt_data_type_info::collation_flag, pt_data_type_info::collation_id, pt_statement_info::data_type, db_domain_class(), db_domain_codeset(), db_domain_collation_id(), db_domain_next(), db_domain_precision(), db_domain_scale(), db_domain_set(), DB_GET_ENUM_ELEM_CODESET, DB_GET_ENUM_ELEM_STRING, DB_GET_ENUMERATION, db_json_get_schema_raw_from_validator(), DB_SET_ENUM_ELEM_CODESET, pt_data_type_info::dec_precision, DOM_GET_ENUM_ELEM, DOM_GET_ENUM_ELEMS_COUNT, pt_data_type_info::entity, pt_data_type_info::enumeration, parser_node::info, pt_data_type_info::json_schema, tp_domain::json_validator, parser_node::next, NULL, parser_append_node(), parser_new_node(), pt_data_type_info::precision, pt_add_class_to_entity_list(), pt_append_bytes(), PT_CLASS, PT_DATA_TYPE, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_IS_CHAR_STRING_TYPE, pt_make_string_value(), pt_name_list_union(), PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_ENUMERATION, PT_TYPE_JSON, PT_TYPE_MIDXKEY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, strlen, TP_DOMAIN_CODESET, TP_DOMAIN_COLLATION, TP_DOMAIN_TYPE, parser_node::type_enum, pt_data_type_info::units, and pt_data_type_info::virt_type_enum.
Referenced by do_alter_one_clause_with_template(), pt_add_type_to_set(), pt_bind_names_post(), pt_bind_reserved_name(), pt_check_alter_partition(), pt_check_partitions(), pt_domain_to_data_type(), pt_eval_expr_type(), pt_find_attr_in_class_list(), pt_fix_first_term_expr_for_iss(), pt_get_attr_data_type(), pt_get_attributes(), pt_make_method_call(), pt_resolve_default_value(), pt_resolve_method_type(), pt_resolve_star_reserved_names(), pt_string_to_db_domain(), pt_update_host_var_data_type(), and pt_value_to_db().
PT_NODE* pt_dup_key_update_stmt | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | spec, | ||
PT_NODE * | assignment | ||
) |
Definition at line 4115 of file parser_support.c.
References pt_update_info::assignment, parser_node::do_not_fold, pt_spec_info::entity_name, parser_node::flag, parser_node::force_auto_parameterize, parser_node::info, parser_node::node_type, NULL, parser_copy_tree(), parser_free_tree(), parser_new_node(), PT_EQ, pt_expression_1(), pt_expression_2(), PT_NAME, PT_NAME_INFO_GENERATED_OID, PT_NAME_INFO_SET_FLAG, PT_OID_OF_DUPLICATE_KEY, PT_SPEC, PT_UPDATE, pt_update_info::search_cond, pt_update_info::spec, pt_statement_info::spec, and pt_statement_info::update.
void pt_end_query | ( | PARSER_CONTEXT * | parser, |
QUERY_ID | query_id_self | ||
) |
Definition at line 1168 of file query_result.c.
References assert, er_errid(), ER_LK_UNILATERALLY_ABORTED, NULL, qmgr_end_query(), parser_context::query_id, and tran_was_latest_query_ended().
Referenced by build_xasl_for_server_delete(), db_free_query(), delete_real_class(), do_execute_delete(), do_execute_insert(), do_execute_merge(), do_execute_update(), do_insert_at_server(), do_merge(), insert_subquery_results(), pt_evaluate_tree_internal(), pt_set_table_to_db(), update_at_server(), and update_real_class().
PT_NODE* pt_entity | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | entity_name, | ||
const PT_NODE * | range_var, | ||
const PT_NODE * | flat_list | ||
) |
Definition at line 419 of file parser_support.c.
References pt_spec_info::entity_name, pt_spec_info::flat_entity_list, parser_node::info, parser_new_node(), PT_SPEC, pt_spec_info::range_var, and pt_statement_info::spec.
Referenced by compile_partition_expression(), do_create_entity(), mq_translate_tree(), and pt_add_table_name_to_from_list().
bool pt_eval_path_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
DB_VALUE * | val | ||
) |
Definition at line 259 of file parse_evaluate.c.
References pt_dot_info::arg1, pt_dot_info::arg2, assert, db_attribute_default(), db_get(), db_get_class(), db_get_class_name(), db_get_object(), db_get_shared_attribute(), db_is_any_class(), db_make_null(), db_make_object(), pt_name_info::db_object, DB_TYPE_NULL, DB_TYPE_OBJECT, db_value_clone(), DB_VALUE_TYPE, pt_statement_info::dot, ER_AU_AUTHORIZATION_FAILURE, ER_AU_SELECT_FAILURE, error(), parser_node::info, is_class(), pt_name_info::meta_class, MSGCAT_RUNTIME__CAN_NOT_EVALUATE, MSGCAT_RUNTIME_IS_NOT_AUTHORIZED_ON, MSGCAT_RUNTIME_UNKNOWN_SHARED_ATTR, MSGCAT_RUNTIME_UNKNOWN_VARIABLE, MSGCAT_SET_PARSER_RUNTIME, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, PT_CLASSOID_ATTR, PT_DOT_, PT_ERRORf, PT_ERRORmf, PT_ERRORmf2, pt_evaluate_tree(), pt_find_value_of_label(), pt_has_error, PT_INTERNAL_ERROR, PT_META_ATTR, PT_META_CLASS, PT_NAME, PT_NORMAL, PT_OID_ATTR, PT_PARAMETER, pt_report_to_ersys(), PT_SEMANTIC, PT_SHARED, pt_short_print(), PT_TRIGGER_OID, and PT_VID_ATTR.
Referenced by pt_check_method(), pt_eval_value_path(), and pt_evaluate_tree_internal().
PT_NODE* pt_eval_value_path | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | path | ||
) |
Definition at line 384 of file name_resolution.c.
References parser_node::column_number, db_make_null(), parser_node::line_number, NULL, pr_clear_value(), pt_dbval_to_value(), and pt_eval_path_expr().
Referenced by pt_bind_parameter_path(), pt_get_resolution(), and pt_set_trigger_obj_post().
int pt_evaluate_db_value_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | expr, | ||
PT_OP_TYPE | op, | ||
DB_VALUE * | arg1, | ||
DB_VALUE * | arg2, | ||
DB_VALUE * | arg3, | ||
DB_VALUE * | result, | ||
TP_DOMAIN * | domain, | ||
PT_NODE * | o1, | ||
PT_NODE * | o2, | ||
PT_NODE * | o3, | ||
PT_MISC_TYPE | qualifier | ||
) |
Definition at line 13684 of file type_checking.c.
References db_monetary::amount, pt_expr_info::arg1, pt_expr_info::arg2, ARG_FILE_LINE, assert, ASSERT_ERROR, au_user_name(), cmp, COMPAT_MYSQL, csession_get_last_insert_id(), d1, DATA_STATUS_OK, parser_node::data_type, pt_value_info::data_value, db_datetime::date, db_datetimetz::datetime, db_abs_dbval(), db_acos_dbval(), db_add_days_to_year(), db_add_int_to_datetime(), db_add_months(), db_add_time(), db_ascii(), db_asin_dbval(), db_atan2_dbval(), db_atan_dbval(), DB_BIGINT_MIN, db_bigint_to_binary_string(), db_bit_count_dbval(), db_bit_to_blob(), db_blob_from_file(), db_blob_length(), db_blob_to_bit(), db_ceil_dbval(), db_char_to_blob(), db_char_to_clob(), db_clob_from_file(), db_clob_length(), db_clob_to_char(), db_conv(), db_conv_tz(), db_convert_sec_to_time(), db_convert_time_to_sec(), db_convert_to_time(), db_cos_dbval(), db_cot_dbval(), db_crc32_dbval(), DB_CURRENCY_DEFAULT, db_date_add_interval_days(), db_date_add_interval_expr(), db_date_dbval(), db_date_decode(), db_date_diff(), db_date_format(), DB_DATE_MAX, DB_DATE_MIN, db_date_sub_interval_days(), db_date_sub_interval_expr(), DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_degrees_dbval(), DB_ENUM_OVERFLOW_VAL, DB_EQ, db_exp_dbval(), db_find_string_in_in_set(), db_floor_dbval(), db_format(), db_from_tz(), db_from_unixtime(), db_get_bigint(), db_get_bit(), db_get_cs_coll_info(), db_get_database_name(), db_get_database_version(), db_get_date(), db_get_date_dayofyear(), db_get_date_from_days(), db_get_date_item(), db_get_date_quarter(), db_get_date_totaldays(), db_get_date_week(), db_get_date_weekday(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_enum_short(), db_get_float(), db_get_int(), db_get_monetary(), db_get_numeric(), db_get_row_count(), db_get_row_count_cache(), db_get_schema_def_dbval(), db_get_set(), db_get_short(), db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_length(), db_get_string_size(), db_get_time(), db_get_time_item(), db_get_timestamp(), db_get_timestamptz(), db_get_user_and_host_name(), db_get_variable(), DB_GT, db_hex(), db_inet_aton(), db_inet_ntoa(), DB_INT16_MIN, DB_INT32_MIN, DB_IS_NULL, db_last_day(), db_least_or_greatest(), db_like_bound(), db_log_dbval(), db_log_generic_dbval(), DB_LT, db_make_bigint(), db_make_char(), db_make_date(), db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_double(), db_make_float(), db_make_int(), db_make_monetary(), db_make_nchar(), db_make_null(), db_make_numeric(), db_make_short(), db_make_string(), db_make_string_copy(), db_make_time(), db_make_timestamp(), db_make_timestampltz(), db_make_timestamptz(), db_mod_dbval(), db_months_between(), DB_NE, db_new_time(), db_power_dbval(), db_private_free, db_radians_dbval(), db_round_dbval(), DB_ROW_COUNT_NOT_SET, db_set_compare(), db_set_size(), db_sign_dbval(), db_sin_dbval(), db_sleep(), db_sqrt_dbval(), db_str_to_date(), db_string_aes_decrypt(), db_string_aes_encrypt(), db_string_bit_length(), db_string_char_length(), db_string_chr(), db_string_compare(), db_string_concatenate(), db_string_extract_dbval(), db_string_free(), db_string_from_base64(), db_string_index_prefix(), db_string_instr(), db_string_like(), db_string_lower(), db_string_md5(), db_string_pad(), db_string_position(), db_string_repeat(), db_string_replace(), db_string_reverse(), db_string_rlike(), db_string_sha_one(), db_string_sha_two(), db_string_space(), db_string_substring(), db_string_substring_index(), db_string_to_base64(), db_string_translate(), db_string_trim(), db_string_upper(), DB_SUBSET, db_subtract_int_from_datetime(), DB_SUPERSET, db_sys_timezone(), db_tan_dbval(), db_time_dbval(), db_time_decode(), db_time_diff(), db_time_encode(), db_time_format(), db_timestamp(), db_timestamp_encode_ses(), db_timestamp_encode_sys(), db_to_char(), db_to_date(), db_to_datetime(), db_to_number(), db_to_time(), db_to_timestamp(), db_trunc_dbval(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SMALLINT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, db_typeof_dbval(), db_tz_offset(), db_unix_timestamp(), DB_UNK, db_update_row_count_cache(), db_value_clone(), db_value_compare(), db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, db_value_put_encoded_date(), db_value_put_encoded_time(), DB_VALUE_SCALE, db_value_to_enumeration_value(), DB_VALUE_TYPE, db_width_bucket(), db_value::domain, DOMAIN_COMPATIBLE, parser_context::drand, ER_ATTEMPT_TO_USE_ZERODATE, ER_AU_SELECT_FAILURE, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_IT_DATA_OVERFLOW, er_msg(), ER_OBJ_NOT_A_CLASS, ER_QSTR_INVALID_DATA_TYPE, ER_REGEX_COMPILE_ERROR, ER_REGEX_EXEC_ERROR, er_set(), err, error(), pt_statement_info::expr, db_domain_info::general_info, i, pt_data_value::i, pr_type::id, parser_node::info, db_domain_info::general_info::is_null, julian_encode(), LANG_SYS_CODESET, LANG_SYS_COLLATION, LEADING, parser_context::local_transaction_id, parser_context::lrand, MILLISECONDS_OF_ONE_DAY, MSGCAT_RUNTIME_IS_NOT_AUTHORIZED_ON, MSGCAT_SEMANTIC_CANT_COERCE_TO, MSGCAT_SEMANTIC_DATA_OVERFLOW_ON, MSGCAT_SEMANTIC_DATE_UNDERFLOW, MSGCAT_SEMANTIC_IS_NOT_A, MSGCAT_SEMANTIC_TIME_UNDERFLOW, MSGCAT_SEMANTIC_ZERO_DIVIDE, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, db_value::need_clear, parser_node::next, NO_ERROR, parser_node::node_type, NULL, numeric_db_value_add(), numeric_db_value_div(), numeric_db_value_is_zero(), numeric_db_value_mul(), numeric_db_value_negate(), numeric_db_value_sub(), obt_Last_insert_id_generated, pt_expr_info::op, OR_CHECK_ADD_OVERFLOW, OR_CHECK_BIGINT_DIV_OVERFLOW, OR_CHECK_DOUBLE_OVERFLOW, OR_CHECK_FLOAT_OVERFLOW, OR_CHECK_INT_DIV_OVERFLOW, OR_CHECK_INT_OVERFLOW, OR_CHECK_MULT_OVERFLOW, OR_CHECK_SHORT_DIV_OVERFLOW, OR_CHECK_SUB_UNDERFLOW, OR_CHECK_UNS_ADD_OVERFLOW, OR_CHECK_UNS_SUB_UNDERFLOW, parser_print_tree(), pr_clear_value(), pr_clone_value(), pr_data_writeval_disk_size(), prm_get_bool_value(), prm_get_integer_value(), PRM_ID_COMPAT_MODE, PRM_ID_NO_BACKSLASH_ESCAPES, PRM_ID_ORACLE_STYLE_EMPTY_STRING, PRM_ID_PLUS_AS_CONCAT, PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_AND, PT_ASCII, PT_ASIN, PT_ASSIGN, PT_ATAN, PT_ATAN2, 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_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_FROM_FILE, 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_CLASS, PT_CLOB_FROM_FILE, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, pt_common_type(), PT_CONCAT, PT_CONCAT_WS, 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_data_type_to_db_domain(), PT_DATABASE, PT_DATE_ADD, PT_DATE_FORMAT, PT_DATE_SUB, PT_DATEDIFF, PT_DATEF, PT_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, pt_db_to_type_enum(), PT_DECODE, PT_DEGREES, pt_difference_sets(), PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DRAND, PT_DRANDOM, PT_EQ, PT_EQ_ALL, PT_EQ_SOME, PT_EQ_TORDER, PT_ERRORc, PT_ERRORm, PT_ERRORmf, PT_ERRORmf2, PT_EVALUATE_VARIABLE, PT_EXISTS, PT_EXP, PT_EXPR, PT_EXPR_INFO_CAST_NOFAIL, PT_EXPR_INFO_IS_FLAGED, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_GE, PT_GE_ALL, PT_GE_SOME, PT_GREATEST, PT_GT, PT_GT_ALL, PT_GT_SOME, PT_HEX, PT_HOURF, PT_IF, PT_IFNULL, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSTR, PT_IS, PT_IS_CHAR_STRING_TYPE, PT_IS_DATE_TIME_TYPE, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_IS_NUMERIC_TYPE, pt_is_op_hv_late_bind(), PT_IS_STRING_TYPE, PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LEAST, PT_LEFT, PT_LIKE, PT_LIKE_ESCAPE, 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_LT, PT_LT_ALL, PT_LT_SOME, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, pt_misc_to_qp_misc_operand(), PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NE, PT_NE_ALL, PT_NE_SOME, PT_NEW_TIME, PT_NOT, PT_NOT_BETWEEN, PT_NOT_LIKE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NULLIF, PT_NULLSAFE_EQ, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OR, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, pt_product_sets(), PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_RAND, PT_RANDOM, PT_RANGE, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_RLIKE, PT_RLIKE_BINARY, PT_ROUND, PT_ROW_COUNT, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SETEQ, PT_SETNEQ, PT_SHA_ONE, PT_SHA_TWO, pt_short_print(), pt_show_misc_type(), pt_show_type_enum(), PT_SIGN, PT_SIN, PT_SLEEP, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSET, PT_SUBSETEQ, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SUPERSET, PT_SUPERSETEQ, 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_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPE_DOUBLE, pt_type_enum_to_db(), PT_TYPE_INTEGER, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NULL, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPEOF, PT_TZ_OFFSET, PT_UNARY_MINUS, pt_union_sets(), 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_XOR, PT_YEARF, QSTR_IS_BIT, pt_expr_info::qualifier, SECONDS_OF_ONE_DAY, set_issome(), strlen, SUBSTRING, parser_context::sys_datetime, parser_context::sys_epochtime, db_datetime::time, db_timestamptz::timestamp, tp_domain_cache(), tp_domain_resolve_default(), tp_domain_resolve_value(), tp_domain_status_er_set(), TP_DOMAIN_TYPE, tp_infer_common_domain(), tp_Integer_domain, TP_IS_DATE_OR_TIME_TYPE, TP_IS_DATE_TYPE, TP_IS_SET_TYPE, tp_value_cast(), tp_value_coerce(), tp_value_compare(), TRAILING, tp_domain::type, db_domain_info::general_info::type, parser_node::type_enum, tz_conv_tz_datetime_w_region(), tz_conv_tz_time_w_zone_name(), tz_datetimetz_fix_zone(), tz_get_session_local_timezone(), tz_get_session_tz_region(), tz_get_system_timezone(), tz_get_system_tz_region(), db_timestamptz::tz_id, db_datetimetz::tz_id, tz_timestamp_decode_no_leap_sec(), tz_timestamptz_fix_zone(), V_FALSE, V_TRUE, and pt_statement_info::value.
Referenced by pt_evaluate_tree_internal(), and pt_fold_const_expr().
int pt_evaluate_function | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | func, | ||
DB_VALUE * | dbval_res | ||
) |
Definition at line 20054 of file type_checking.c.
References pt_function_info::arg_list, db_make_null(), ER_FAILED, error(), free_and_init, pt_statement_info::function, pt_function_info::function_type, i, parser_node::info, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pr_clear_value(), pt_evaluate_function_w_args(), PT_FUNCTION, pt_has_error, pt_is_expr_wrapped_function(), PT_VALUE, pt_value_to_db(), and pt_xasl_node_to_domain().
Referenced by pt_evaluate_tree_internal(), and pt_fold_const_function().
int pt_evaluate_function_w_args | ( | PARSER_CONTEXT * | parser, |
FUNC_TYPE | fcode, | ||
DB_VALUE * | args[], | ||
const int | num_args, | ||
DB_VALUE * | result | ||
) |
Definition at line 19731 of file type_checking.c.
References assert, db_evaluate_json_array(), db_evaluate_json_array_append(), db_evaluate_json_array_insert(), db_evaluate_json_contains(), db_evaluate_json_contains_path(), db_evaluate_json_depth(), db_evaluate_json_extract(), db_evaluate_json_get_all_paths(), db_evaluate_json_insert(), db_evaluate_json_keys(), db_evaluate_json_length(), db_evaluate_json_merge_patch(), db_evaluate_json_merge_preserve(), db_evaluate_json_object(), db_evaluate_json_pretty(), db_evaluate_json_quote(), db_evaluate_json_remove(), db_evaluate_json_replace(), db_evaluate_json_search(), db_evaluate_json_set(), db_evaluate_json_type_dbval(), db_evaluate_json_unquote(), db_evaluate_json_valid(), db_string_elt(), db_string_insert_substring(), db_string_regexp_count(), db_string_regexp_instr(), db_string_regexp_like(), db_string_regexp_replace(), db_string_regexp_substr(), er_msg(), error(), F_ELT, 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_REGEXP_COUNT, F_REGEXP_INSTR, F_REGEXP_LIKE, F_REGEXP_REPLACE, F_REGEXP_SUBSTR, i, NO_ERROR, NULL, and PT_ERRORc.
Referenced by pt_evaluate_function().
void pt_evaluate_tree | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
DB_VALUE * | db_values, | ||
int | values_count | ||
) |
Definition at line 901 of file parse_evaluate.c.
References pt_evaluate_tree_internal().
Referenced by call_method(), do_alter_one_clause_with_template(), do_evaluate(), do_get_optimization_param(), do_get_stats(), do_rollback(), do_savepoint(), do_set_optimization_param(), do_set_sys_params(), do_set_trigger(), do_set_xaction(), get_att_default_from_def(), jsp_call_stored_procedure(), mq_evaluate_expression(), mq_update_attribute(), pt_eval_path_expr(), pt_evaluate_tree_internal(), pt_limit_to_numbering_expr(), pt_seq_value_to_db(), pt_set_value_to_db(), pt_to_regu_variable(), and update_class_attributes().
void pt_evaluate_tree_having_serial | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
DB_VALUE * | db_value, | ||
int | vals_cnt | ||
) |
Definition at line 1493 of file parse_evaluate.c.
References pt_evaluate_tree_internal().
Referenced by check_default_on_update_clause(), do_alter_one_clause_with_template(), do_evaluate_insert_values(), do_replace_names_for_insert_values_pre(), do_set_session_variables(), get_att_default_from_def(), mq_evaluate_expression_having_serial(), mq_replace_virtual_oid_with_real_oid(), pt_evaluate_tree_internal(), pt_get_query_limit_from_limit(), pt_get_query_limit_from_orderby_for(), and uci_static().
int pt_exec_trigger_stmt | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | trigger_stmt, | ||
DB_OBJECT * | object1, | ||
DB_OBJECT * | object2, | ||
DB_VALUE * | result | ||
) |
Definition at line 1373 of file compile.c.
References assert, db_get_class(), db_make_null(), pt_name_info::db_object, db_value_free(), do_scope(), pt_spec_info::entity_name, er_errid(), error(), parser_node::etc, pt_trigger_action_info::expression, parser_node::flag, pt_spec_info::flat_entity_list, pt_scope_info::from, parser_node::info, trigger_exec_info::is_update_object, parser_context::local_transaction_id, mq_reset_ids_in_statement(), pt_statement_info::name, trigger_exec_info::name1, trigger_exec_info::name2, parser_node::next, NO_ERROR, parser_node::node_type, NULL, trigger_exec_info::object1, trigger_exec_info::object2, pt_update_info::object_parameter, pt_name_info::original, parser_copy_tree(), parser_free_tree(), parser_walk_tree(), PT_EVALUATE, PT_SCOPE, pt_set_trigger_obj_post(), pt_set_trigger_obj_pre(), PT_TRIGGER_ACTION, PT_UPDATE, qp_get_server_info(), pt_spec_info::range_var, pt_statement_info::scope, parser_node::si_datetime, SI_LOCAL_TRANSACTION_ID, SI_SYS_DATETIME, parser_node::si_tran_id, pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, trigger_exec_info::spec_id1, trigger_exec_info::spec_id2, pt_scope_info::stmt, parser_context::sys_datetime, parser_context::sys_epochtime, pt_statement_info::trigger_action, pt_statement_info::update, ws_hide_new_old_trigger_obj(), and ws_unhide_new_old_trigger_obj().
Referenced by eval_action(), and eval_condition().
PT_NODE* pt_expr_disallow_op_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1725 of file parser_support.c.
References assert, pt_statement_info::expr, i, parser_node::info, MSGCAT_SEMANTIC_NOT_ALLOWED_HERE, MSGCAT_SET_PARSER_SEMANTIC, NULL, pt_expr_info::op, PT_ERRORmf, PT_IS_EXPR_NODE, pt_show_binopcode(), and PT_STOP_WALK.
Referenced by pt_semantic_check_local().
PT_NODE* pt_expr_to_sort_spec | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | expr | ||
) |
Definition at line 17648 of file parse_tree_cl.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, pt_sort_spec_info::asc_or_desc, pt_sort_spec_info::expr, pt_statement_info::expr, pt_statement_info::function, parser_node::info, parser_node::next, NULL, pt_expr_info::op, parser_append_node(), parser_copy_tree(), parser_new_node(), PT_ASC, PT_FUNCTION_HOLDER, pt_function_index_skip_expr(), PT_INTERNAL_ERROR, PT_IS_EXPR_NODE, PT_IS_NAME_NODE, PT_SORT_SPEC, and pt_statement_info::sort_spec.
Referenced by pt_check_function_index_expr().
PT_NODE* pt_expression | ( | PARSER_CONTEXT * | parser_ptr, |
PT_OP_TYPE | op, | ||
PT_NODE * | arg1, | ||
PT_NODE * | arg2, | ||
PT_NODE * | arg3 | ||
) |
Definition at line 347 of file parser_support.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_statement_info::expr, parser_node::info, pt_expr_info::op, parser_new_node(), and PT_EXPR.
Referenced by pt_expression_0(), pt_expression_1(), pt_expression_2(), and pt_expression_3().
PT_NODE* pt_expression_0 | ( | PARSER_CONTEXT * | parser_ptr, |
PT_OP_TYPE | op | ||
) |
Definition at line 364 of file parser_support.c.
References NULL, and pt_expression().
Referenced by pt_find_attr_in_class_list(), and pt_resolve_default_value().
PT_NODE* pt_expression_1 | ( | PARSER_CONTEXT * | parser_ptr, |
PT_OP_TYPE | op, | ||
PT_NODE * | arg1 | ||
) |
Definition at line 370 of file parser_support.c.
References NULL, and pt_expression().
Referenced by pt_dup_key_update_stmt(), and qo_rewrite_like_for_index_scan().
PT_NODE* pt_expression_2 | ( | PARSER_CONTEXT * | parser_ptr, |
PT_OP_TYPE | op, | ||
PT_NODE * | arg1, | ||
PT_NODE * | arg2 | ||
) |
Definition at line 376 of file parser_support.c.
References NULL, and pt_expression().
Referenced by pt_dup_key_update_stmt(), pt_fix_first_term_expr_for_iss(), pt_fix_first_term_func_index_for_iss(), qo_allocate_like_bound_for_index_scan(), qo_rewrite_like_for_index_scan(), and qo_rewrite_one_like_term().
PT_NODE* pt_expression_3 | ( | PARSER_CONTEXT * | parser_ptr, |
PT_OP_TYPE | op, | ||
PT_NODE * | arg1, | ||
PT_NODE * | arg2, | ||
PT_NODE * | arg3 | ||
) |
Definition at line 382 of file parser_support.c.
References pt_expression().
bool pt_false_search_condition | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | statement | ||
) |
Definition at line 7053 of file type_checking.c.
References pt_value_info::data_value, pt_data_value::i, parser_node::info, parser_node::next, parser_node::node_type, NULL, parser_node::or_next, PT_TYPE_LOGICAL, PT_TYPE_NA, PT_TYPE_NULL, PT_VALUE, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_check_with_info(), pt_false_where(), pt_to_buildvalue_proc(), qo_add_term(), and qo_check_condition_yields_null().
bool pt_false_where | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 6925 of file type_checking.c.
References pt_select_info::after_cb_filter, CAST_POINTER_TO_NODE, pt_statement_info::cte, pt_spec_info::cte_pointer, pt_statement_info::delete_, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_select_info::from, pt_select_info::group_by, pt_select_info::having, parser_node::info, pt_spec_info::join_type, pt_statement_info::merge, parser_node::next, parser_node::node_type, pt_cte_info::non_recursive_part, NULL, pt_query_info::orderby_for, PT_DELETE, pt_false_search_condition(), PT_IS_FALSE_WHERE_VALUE, PT_IS_SET_EXPR, pt_is_single_tuple(), PT_IS_SUBQUERY, PT_JOIN_LEFT_OUTER, PT_JOIN_RIGHT_OUTER, PT_MERGE, PT_SELECT, PT_SPEC_IS_CTE, PT_UPDATE, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_delete_info::search_cond, pt_update_info::search_cond, pt_merge_info::search_cond, pt_query_info::select, pt_statement_info::spec, pt_select_info::start_with, pt_statement_info::update, and pt_select_info::where.
Referenced by do_delete(), do_merge(), do_prepare_delete(), do_prepare_merge(), do_prepare_select(), do_prepare_update(), do_select_internal(), do_update(), insert_local(), pt_check_union_is_foldable(), and pt_eval_type().
DB_QUERY_TYPE* pt_fillin_type_size | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query, | ||
DB_QUERY_TYPE * | list, | ||
const int | include_oid, | ||
bool | want_spec_entity_name, | ||
bool | fixup_columns_type | ||
) |
Definition at line 893 of file query_result.c.
References pt_dot_info::arg1, pt_dot_info::arg2, db_query_type::col_type, db_free_query_format(), pt_statement_info::dot, pt_spec_info::entity_name, EXCLUDE_HIDDEN_COLUMNS, parser_node::info, pt_statement_info::method_call, pt_method_call_info::method_name, pt_statement_info::name, db_query_type::next, parser_node::next, parser_node::node_type, NULL, OID_COLUMN, pt_name_info::original, pt_append_string(), pt_arity_of_query_type(), PT_DOT_, pt_find_entity(), pt_find_size_from_dbtype(), pt_fixup_select_columns_type(), pt_get_col_type(), pt_get_from_list(), pt_get_node_title(), pt_get_select_list(), pt_get_src_domain(), PT_INTERNAL_ERROR, pt_is_attr(), pt_is_method_call(), pt_length_of_list(), pt_length_of_select_list(), PT_NAME, pt_type_enum_to_db(), pt_xasl_node_to_domain(), pt_spec_info::range_var, pt_statement_info::spec, pt_name_info::spec_id, strdup(), strlen, parser_node::type_enum, and db_query_type::visible_type.
Referenced by db_compile_statement_local(), and pt_get_select_query_columns().
PT_NODE* pt_find_aggregate_functions_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1023 of file parser_support.c.
References parser_node::info, parser_node::next, pt_pointer_info::node, parser_node::node_type, NULL, pt_statement_info::pointer, PT_CONTINUE_WALK, pt_pointer_stack_pop(), PT_SELECT, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_agg_find_info::select_stack, pt_agg_find_info::stop_on_subquery, and pt_select_info::where.
Referenced by pt_find_aggregate_functions_pre(), pt_has_aggregate(), and qo_optimize_queries().
PT_NODE* pt_find_aggregate_functions_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 878 of file parser_support.c.
References pt_function_info::all_or_distinct, pt_function_info::arg_list, pt_agg_find_info::base_count, pt_query_info::correlation_level, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_agg_find_info::disable_loose_scan, pt_select_info::from, pt_statement_info::function, pt_function_info::function_type, parser_node::info, pt_agg_name_info::max_level, pt_agg_name_info::name_count, parser_node::next, pt_pointer_info::node, parser_node::node_type, NULL, pt_agg_find_info::out_of_context_count, parser_walk_tree(), pt_statement_info::pointer, PT_ALL, pt_continue_walk(), PT_COUNT_STAR, pt_find_aggregate_functions_post(), pt_find_aggregate_names(), PT_GROUPBY_NUM, pt_is_aggregate_function(), PT_IS_SET_EXPR, PT_LEAF_WALK, PT_MAX, PT_MIN, pt_pointer_stack_push(), PT_SELECT, PT_SELECT_INFO_HAS_AGG, PT_SELECT_INFO_SET_FLAG, PT_STOP_WALK, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_agg_find_info::select_stack, pt_agg_name_info::select_stack, pt_statement_info::spec, pt_agg_find_info::stop_on_subquery, and pt_select_info::where.
Referenced by pt_has_aggregate(), and qo_optimize_queries().
PT_NODE* pt_find_aggregate_names | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 797 of file parser_support.c.
References pt_dot_info::arg2, pt_statement_info::dot, pt_select_info::from, pt_select_info::group_by, parser_node::info, pt_agg_name_info::max_level, pt_agg_name_info::name_count, pt_pointer_info::node, parser_node::node_type, NULL, pt_statement_info::pointer, PT_DOT_, pt_find_spec(), PT_INTERNAL_ERROR, PT_LIST_WALK, PT_NAME, PT_SELECT, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_agg_name_info::select_stack.
Referenced by mq_rewrite_agg_names(), and pt_find_aggregate_functions_pre().
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().
PT_NODE* pt_find_entity | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | scope, | ||
UINTPTR | id | ||
) |
Definition at line 5506 of file name_resolution.c.
References pt_spec_info::id, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_spec_info::path_entities, pt_find_entity(), PT_INTERNAL_ERROR, PT_SPEC, and pt_statement_info::spec.
Referenced by is_local_name(), meth_find_outside_refs_subquery(), mq_push_arg2(), mq_push_dot_in_query(), mq_rewrite_agg_names(), pt_fillin_type_size(), pt_find_entity(), pt_find_entity_in_scopes(), pt_find_path_entity(), pt_fold_const_expr(), pt_get_resolution(), and pt_get_src_domain().
UINTPTR pt_find_id | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
UINTPTR | id | ||
) |
Definition at line 1103 of file parse_tree_cl.c.
References pt_find_id_info::found, pt_find_id_info::id, NULL, parser_walk_tree(), and pt_find_id_node().
Referenced by mq_reset_spec_distr_subpath_post().
Definition at line 601 of file parser_support.c.
References parser_node::next, NULL, and pt_name_equal().
Referenced by pt_append_assignment_references(), pt_collect_parameters(), pt_expand_analytic_node(), and pt_to_aggregate_node().
PT_NODE* pt_find_node_type_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 9210 of file parser_support.c.
References parser_node::node_type, NULL, and PT_STOP_WALK.
Referenced by insert_local().
PT_NODE* pt_find_op_type_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 9240 of file parser_support.c.
References pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_EXPR, and PT_STOP_WALK.
Referenced by pt_semantic_check_local().
Definition at line 769 of file parser_support.c.
References pt_spec_info::id, parser_node::info, pt_statement_info::name, parser_node::next, pt_spec_info::path_entities, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by mq_substitute_subquery_in_statement(), pt_check_single_valued_node(), pt_find_aggregate_names(), pt_find_spec_in_statement(), pt_process_spec_for_update(), pt_resolve_names(), and pt_to_delete_xasl().
PT_NODE* pt_find_spec_in_statement | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | stmt, | ||
const PT_NODE * | name | ||
) |
Definition at line 720 of file parser_support.c.
References pt_delete_info::class_specs, pt_update_info::class_specs, pt_statement_info::delete_, parser_node::info, pt_merge_info::into, pt_statement_info::merge, parser_node::node_type, NULL, PT_DELETE, pt_find_spec(), PT_MERGE, PT_SPEC, PT_UPDATE, pt_delete_info::spec, pt_update_info::spec, pt_statement_info::update, and pt_merge_info::using_clause.
Referenced by pt_mark_spec_list_for_delete(), pt_mark_spec_list_for_update(), pt_semantic_check_local(), and update_check_for_constraints().
DB_OBJECT* pt_find_users_class | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | name | ||
) |
Definition at line 1420 of file query_result.c.
References db_find_class(), pt_name_info::db_object, parser_node::info, MSGCAT_SEMANTIC_CLASS_DOES_NOT_EXIST, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, pt_name_info::original, pt_check_user_owns_class(), and PT_ERRORmf.
Referenced by pt_get_resolution(), and pt_make_flat_name_list().
Definition at line 705 of file parse_evaluate.c.
References assert, DB_TYPE_OBJECT, DB_VALUE_TYPE, db_ws_alloc(), db_ws_free(), er_errid(), error(), mht_get(), mht_map(), db_namelist::name, db_namelist::next, nlist_free(), NO_ERROR, NULL, vid_flush_and_rehash_lbl(), and ws_copy_string().
Referenced by do_insert_template(), make_vmops(), pt_bind_parameter(), pt_eval_path_expr(), pt_resolve_object(), pt_to_list_key(), pt_to_regu_variable(), and pt_value_to_db().
Definition at line 12529 of file semantic_check.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_statement_info::expr, parser_node::info, parser_node::node_type, p, PT_DOT_, PT_EXPR, and PT_NAME.
Referenced by mq_invert_insert_subquery(), and pt_invert().
void pt_fixup_column_type | ( | PT_NODE * | col | ) |
Definition at line 4215 of file parser_support.c.
References pt_statement_info::data_type, parser_node::data_type, pt_value_info::data_value, parser_node::info, parser_varchar::length, parser_node::node_type, NULL, pt_data_type_info::precision, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_NCHAR, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, PT_VALUE, pt_data_value::str, pt_value_info::string_type, TP_FLOATING_PRECISION_VALUE, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_check_vclass_query_spec(), and pt_fixup_select_columns_type().
PT_NODE* pt_flat_spec_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | p, | ||
void * | scope, | ||
int * | continue_walk | ||
) |
Definition at line 4163 of file name_resolution.c.
References pt_spec_info::as_attr_list, assert, pt_statement_info::cte, pt_spec_info::cte_pointer, pt_spec_info::derived_table, pt_spec_info::flat_entity_list, pt_flat_spec_info::for_update, pt_spec_info::id, parser_node::info, MSGCAT_SEMANTIC_WANT_NO_DERIVED_COLS, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, pt_pointer_info::node, parser_node::node_type, pt_cte_info::non_recursive_part, NULL, parser_walk_tree(), pt_statement_info::pointer, pt_check_unique_exposed(), PT_CONTINUE_WALK, pt_continue_walk(), PT_DELETE, PT_ERRORmf, pt_flat_spec_pre(), PT_GRANT, PT_INSERT, PT_LEAF_WALK, pt_make_flat_name_list(), PT_MERGE, pt_must_have_exposed_name(), PT_REVOKE, PT_SELECT, pt_short_print_l(), PT_SPEC, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, PT_UPDATE, pt_statement_info::spec, and pt_flat_spec_info::spec_parent.
Referenced by mq_new_spec(), pt_check_drop(), pt_check_grant_revoke(), pt_check_truncate(), pt_check_vacuum(), pt_filter_pseudo_specs(), pt_flat_spec_pre(), pt_get_resolution(), pt_quick_resolve_names(), and pt_resolve_names().
void pt_free_host_info | ( | PT_HOST_VARS * | hv | ) |
Definition at line 3133 of file parser_support.c.
References free_and_init.
Referenced by db_get_input_markers(), and db_get_output_markers().
void pt_free_label_table | ( | void | ) |
Definition at line 867 of file parse_evaluate.c.
References mht_destroy(), mht_map(), NULL, and pt_free_label().
Referenced by parser_final().
void pt_free_orphans | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 3475 of file parser_support.c.
References parser_node::next, NULL, parser_context::orphans, and parser_free_tree().
Referenced by db_close_session_local(), do_execute_statement(), and do_statement().
void pt_free_query_etc_area | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query | ||
) |
Definition at line 1150 of file query_result.c.
References CUBRID_STMT_DO, CUBRID_STMT_SELECT, cursor_free_self_list_id, parser_node::etc, pt_is_server_insert_with_generated_keys(), and pt_node_to_cmd_type().
Referenced by db_execute_and_keep_statement_local().
void pt_free_statement_xasl_id | ( | PT_NODE * | statement | ) |
Definition at line 9292 of file parser_support.c.
References pt_delete_info::del_stmt_list, pt_statement_info::delete_, free_and_init, parser_node::info, parser_node::next, parser_node::node_type, NULL, PT_DELETE, and parser_node::xasl_id.
Referenced by db_close_session_local(), db_drop_all_statements(), db_drop_statement(), db_execute_and_keep_statement_local(), db_execute_statement_local(), do_prepare_delete(), and execute_create_select_query().
void pt_frob_error | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | statement, | ||
const char * | fmt, | ||
... | |||
) |
Definition at line 2070 of file parse_tree_cl.c.
References parser_node::buffer_pos, parser_context::error_buffer, NULL, parser_context::original_buffer, pt_record_error(), SAFENUM, parser_context::statement_number, strlen, and vasprintf().
Referenced by pt_eval_function_type_new(), and pt_internal_error().
void pt_frob_warning | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | statement, | ||
const char * | fmt, | ||
... | |||
) |
Definition at line 2040 of file parse_tree_cl.c.
References parser_context::error_buffer, pt_record_warning(), SAFENUM, parser_context::statement_number, and vasprintf().
Definition at line 2026 of file parser_support.c.
References pt_spec_info::entity_name, parser_node::info, parser_node::node_type, NULL, PT_SPEC, and pt_statement_info::spec.
Referenced by uci_static().
Definition at line 1931 of file parser_support.c.
References pt_statement_info::delete_, pt_select_info::from, pt_select_info::group_by, pt_select_info::having, parser_node::info, parser_node::node_type, NULL, pt_query_info::order_by, PT_DELETE, PT_SELECT, PT_UPDATE, pt_query_info::q, pt_statement_info::query, pt_delete_info::search_cond, pt_update_info::search_cond, pt_query_info::select, pt_statement_info::update, and pt_select_info::where.
Referenced by pt_get_select_from_spec(), and pt_get_spec_name().
Definition at line 17312 of file parse_tree_cl.c.
References pt_expr_info::arg1, pt_statement_info::expr, parser_node::info, NULL, pt_expr_info::op, PT_CAST, pt_function_index_skip_expr(), PT_IS_EXPR_NODE, and PT_UNARY_MINUS.
Referenced by is_local_name(), lookup_node(), pt_expr_to_sort_spec(), pt_function_index_skip_expr(), pt_is_join_expr(), and pt_is_nested_expr().
PT_NODE* pt_gather_constraints | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree | ||
) |
Definition at line 4149 of file parse_tree_cl.c.
References pt_statement_info::alter, pt_alter_info::alter_clause, pt_create_entity_info::attr_def_list, pt_alter_info::attr_mthd, pt_create_entity_info::class_attr_def_list, pt_alter_info::code, pt_alter_info::constraint_list, pt_create_entity_info::constraint_list, pt_statement_info::create_entity, pt_alter_info::create_index, pt_create_entity_info::create_index, error(), parser_node::info, parser_node::next, parser_node::node_type, NULL, parser_append_node(), PT_ADD_ATTR_MTHD, PT_ALTER, PT_CHANGE_ATTR, PT_CONSTRAINT, PT_CREATE_ENTITY, PT_CREATE_INDEX, PT_INTERNAL_ERROR, and PT_MODIFY_ATTR_MTHD.
int pt_get_assignment_lists | ( | PARSER_CONTEXT * | parser, |
PT_NODE ** | select_names, | ||
PT_NODE ** | select_values, | ||
PT_NODE ** | const_names, | ||
PT_NODE ** | const_values, | ||
int * | no_vals, | ||
int * | no_consts, | ||
PT_NODE * | assign, | ||
PT_NODE *** | old_links | ||
) |
Definition at line 17146 of file parse_tree_cl.c.
References pt_expr_info::arg1, pt_expr_info::arg2, ASSIGN_LINKS_EXTENT, db_private_alloc, db_private_realloc, ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, error(), pt_statement_info::expr, parser_node::info, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_expr_info::op, parser_append_node(), PT_ASSIGN, PT_EXPR, PT_IS_CONST_NOT_HOSTVAR, PT_IS_N_COLUMN_UPDATE_EXPR, PT_NAME, and pt_restore_assignment_links().
Referenced by do_merge(), do_prepare_merge(), do_prepare_update(), pt_to_merge_update_xasl(), pt_to_update_xasl(), and update_real_class().
bool pt_get_collation_info | ( | const PT_NODE * | node, |
PT_COLL_INFER * | coll_infer | ||
) |
Definition at line 21650 of file type_checking.c.
References pt_expr_info::arg1, assert, pt_coll_infer::can_force_cs, lang_collation::codeset, pt_coll_infer::codeset, pt_coll_infer::coerc_level, pt_coll_infer::coll_id, pt_data_type_info::collation_flag, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, parser_node::expected_domain, pt_statement_info::expr, if(), parser_node::info, LANG_COERCIBLE_CODESET, LANG_COERCIBLE_COLL, LANG_COLL_BINARY, lang_get_collation(), LANG_IS_COERCIBLE_COLL, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_node::node_type, NULL, pt_expr_info::op, PT_CAST, PT_COLLATION_FULLY_COERC, PT_COLLATION_L1_BIN_COERC, PT_COLLATION_L1_COERC, PT_COLLATION_L1_ISO_BIN_COERC, PT_COLLATION_L2_BIN_COERC, PT_COLLATION_L2_BINARY_COERC, PT_COLLATION_L2_COERC, PT_COLLATION_L3_COERC, PT_COLLATION_L4_BIN_COERC, PT_COLLATION_L4_BINARY_COERC, PT_COLLATION_L4_COERC, PT_COLLATION_L5_COERC, PT_COLLATION_NOT_COERC, PT_CURRENT_USER, PT_DATABASE, PT_DEFINE_VARIABLE, PT_DIFFERENCE, PT_DOT_, PT_EVALUATE_VARIABLE, PT_EXPR, PT_EXPR_INFO_CAST_SHOULD_FOLD, PT_EXPR_INFO_IS_FLAGED, PT_FUNCTION, PT_GET_COLLATION_MODIFIER, PT_HAS_COLLATION, PT_HOST_VAR, PT_INTERSECTION, pt_is_input_parameter, PT_METHOD_CALL, PT_NAME, PT_NAME_GENERATED_DERIVED_SPEC, PT_NAME_INFO_IS_FLAGED, PT_SCHEMA, PT_SELECT, PT_TYPE_MAYBE, PT_UNION, PT_USER, PT_VALUE, PT_VERSION, TP_DOMAIN_CODESET, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLLATION, TP_DOMAIN_COLLATION_FLAG, TP_DOMAIN_TYPE, TP_TYPE_HAS_COLLATION, parser_node::type_enum, and pt_data_type_info::units.
Referenced by func_type::Node::check_arg_compat(), pt_assignment_compatible(), pt_check_expr_collation(), pt_check_function_collation(), pt_check_recursive_expr_collation(), pt_eval_function_type_old(), pt_fold_const_expr(), pt_get_compatible_info_from_node(), and func_type::Node::set_return_type().
int pt_get_correlation_level | ( | PT_NODE * | node | ) |
PT_NODE* pt_get_cursor | ( | const PT_HOST_VARS * | hv | ) |
Definition at line 3193 of file parser_support.c.
References pt_host_vars::cursor, and NULL.
void pt_get_default_expression_from_data_default_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | data_default_node, | ||
DB_DEFAULT_EXPR * | default_expr | ||
) |
Definition at line 9622 of file parser_support.c.
References pt_expr_info::arg2, assert, classobj_initialize_default_expr(), pt_statement_info::data_default, db_get_string(), db_default_expr::default_expr_format, db_default_expr::default_expr_op, db_default_expr::default_expr_type, pt_data_default_info::default_expr_type, pt_data_default_info::default_value, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_DATA_DEFAULT, PT_EXPR, PT_IS_CHAR_STRING_TYPE, PT_TO_CHAR, PT_VALUE, pt_value_to_db(), T_TO_CHAR, and parser_node::type_enum.
Referenced by do_add_attribute(), do_alter_one_clause_with_template(), do_change_att_schema_only(), and do_update_new_cols_with_default_expression().
int pt_get_dup_key_oid_var_index | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | update_statement | ||
) |
Definition at line 4064 of file parser_support.c.
References pt_expr_info::arg2, parser_context::auto_param_count, pt_statement_info::expr, pt_statement_info::host_var, parser_context::host_var_count, pt_host_var_info::index, parser_node::info, parser_node::node_type, NULL, PT_EXPR, PT_HOST_IN, PT_HOST_VAR, PT_UPDATE, pt_update_info::search_cond, pt_statement_info::update, and pt_host_var_info::var_type.
Definition at line 2088 of file parser_support.c.
References pt_dot_info::arg2, pt_statement_info::dot, parser_node::info, parser_node::node_type, NULL, and PT_DOT_.
Referenced by pt_check_create_view(), pt_get_attr_name(), pt_is_attr(), pt_is_method_call(), pt_lambda_node(), pt_sort_spec_cover_groupby(), qo_collect_name_spec(), qo_is_partition_attr(), qo_plan_compute_iscan_sort_list(), qo_reduce_equality_terms(), qo_reduce_order_by(), and qo_validate_index_for_orderby().
PT_NODE* pt_get_errors | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 2108 of file parse_tree_cl.c.
References parser_context::error_msgs, and NULL.
Referenced by compile_trigger_activity(), db_get_errors(), db_get_line_col_of_1st_error(), mq_copy_view_error_msgs(), pt_compile_trigger_stmt(), stmt_exec_batch_query_internal(), and stmt_reset_session_and_parse().
int pt_get_expression_count | ( | PT_NODE * | node | ) |
Definition at line 4316 of file parse_tree_cl.c.
References pt_function_info::arg_list, cubregex::count(), pt_value_info::data_value, EXCLUDE_HIDDEN_COLUMNS, pt_statement_info::function, parser_node::info, parser_node::next, parser_node::node_type, NULL, PT_FUNCTION, pt_get_subquery_list(), PT_IS_QUERY_NODE_TYPE, pt_is_set_type, pt_length_of_list(), pt_length_of_select_list(), PT_VALUE, pt_data_value::set, and pt_statement_info::value.
Referenced by pt_check_set_count_set().
int pt_get_expression_number | ( | PT_NODE * | node | ) |
Definition at line 2105 of file parser_support.c.
References pt_expr_info::arg1, assert, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, pt_expr_info::op, PT_EXPR, PT_IS_EXPR_NODE, PT_IS_EXPR_NODE_WITH_OPERATOR, and PT_PRIOR.
Referenced by qo_apply_range_intersection(), qo_convert_to_range(), qo_convert_to_range_helper(), qo_do_auto_parameterize(), qo_fold_is_and_not_null(), qo_rewrite_like_terms(), and qo_search_comp_pair_term().
PT_NODE* pt_get_input_host_vars | ( | const PT_HOST_VARS * | hv | ) |
Definition at line 3252 of file parser_support.c.
References pt_host_vars::inputs, and NULL.
Referenced by db_get_input_markers().
KEYWORD_RECORD* pt_get_keyword_rec | ( | int * | rec_count | ) |
Definition at line 757 of file keyword.c.
References keywords.
Referenced by start_csql().
Definition at line 3212 of file parser_support.c.
References assert, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, and PT_NAME.
Referenced by pt_check_cyclic_reference_in_view_spec(), pt_find_omitted_default_expr(), qo_validate_index_attr_notnull(), qo_validate_index_term_notnull(), and uci_static().
PT_NODE* pt_get_next_assignment | ( | PT_ASSIGNMENTS_HELPER * | helper | ) |
Definition at line 1360 of file parse_tree.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_assignments_helper::assignment, pt_statement_info::expr, parser_node::info, pt_assignments_helper::is_n_column, pt_assignments_helper::is_rhs_const, pt_assignments_helper::lhs, parser_node::next, parser_node::node_type, NULL, PT_IS_CONST_NOT_HOSTVAR, PT_NAME, and pt_assignments_helper::rhs.
Referenced by check_trigger(), init_update_data(), pt_append_omitted_on_update_expr_assignments(), pt_count_assignments(), pt_mvcc_flag_specs_assign_reev(), pt_mvcc_set_spec_assign_reev_extra_indexes(), pt_no_attr_and_meta_attr_updates(), pt_semantic_check_local(), pt_substitute_assigned_name_node(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_update_xasl(), update_class_attributes(), and update_object_by_oid().
PT_NODE* pt_get_next_error | ( | PT_NODE * | errors, |
int * | stmt_no, | ||
int * | line_no, | ||
int * | col_no, | ||
const char ** | msg | ||
) |
Definition at line 2129 of file parse_tree_cl.c.
References parser_node::column_number, PT_ZZ_ERROR_MSG_INFO::error_message, pt_statement_info::error_msg, parser_node::info, parser_node::line_number, parser_node::next, parser_node::node_type, NULL, PT_ZZ_ERROR_MSG, and PT_ZZ_ERROR_MSG_INFO::statement_number.
Referenced by compile_trigger_activity(), db_get_line_col_of_1st_error(), db_get_next_error(), db_get_next_warning(), and mq_copy_view_error_msgs().
Definition at line 3168 of file parse_tree_cl.c.
References parser_node::next, and NULL.
Referenced by pt_resolve_sort_spec_expr().
int pt_get_one_tuple_from_list_id | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
struct db_value * | vals, | ||
int | cnt | ||
) |
Definition at line 423 of file parse_evaluate.c.
References assert, cursor_close(), cursor_get_tuple_value_list(), cursor_next_tuple(), cursor_open(), DB_CURSOR_SUCCESS, parser_node::etc, parser_node::info, MSGCAT_RUNTIME_YIELDS_GT_ONE_ROW, MSGCAT_SET_PARSER_RUNTIME, NO_ERROR, NULL, pt_query_info::oids_included, p, parser_print_tree(), PT_ERRORmf, pt_get_select_list(), pt_statement_info::query, cursor_id::query_id, and parser_context::query_id.
Referenced by do_execute_select(), do_select_internal(), and pt_evaluate_tree_internal().
PT_NODE* pt_get_output_host_vars | ( | const PT_HOST_VARS * | hv | ) |
Definition at line 3271 of file parser_support.c.
References NULL, pt_host_vars::out_descr, and pt_host_vars::outputs.
Referenced by db_get_output_markers().
PT_NODE* pt_get_parameters | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 3177 of file parser_support.c.
References NULL, parser_walk_tree(), and pt_collect_parameters().
Referenced by db_get_parameters().
Definition at line 3364 of file parser_support.c.
References free_and_init, NULL, parser_create_parser(), parser_free_parser(), parser_parse_string(), pt_get_spec_name(), pt_has_error, and strlen.
Referenced by pt_vclass_compatible().
int pt_get_query_limit_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query, | ||
DB_VALUE * | limit_val | ||
) |
Definition at line 8897 of file parser_support.c.
References assert_release, db_make_null(), ER_FAILED, error(), parser_node::info, pt_query_info::limit, NO_ERROR, NULL, pt_query_info::orderby_for, pt_get_query_limit_from_limit(), pt_get_query_limit_from_orderby_for(), PT_IS_QUERY, and pt_statement_info::query.
Referenced by pt_check_ordby_num_for_multi_range_opt(), pt_recompile_for_limit_optimizations(), and qo_discover_sort_limit_nodes().
const char* pt_get_select_from_name | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | spec | ||
) |
Definition at line 2754 of file parser_support.c.
References parser_node::info, pt_statement_info::name, NULL, pt_name_info::original, pt_append_string(), pt_get_select_from_spec(), and pt_name_info::resolved.
Referenced by pt_get_spec_name().
PT_NODE* pt_get_select_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query | ||
) |
Definition at line 404 of file query_result.c.
References parser_node::alias_print, pt_union_info::arg1, pt_union_info::arg2, assert, parser_node::data_type, db_make_null(), pt_value_info::db_value, EXCLUDE_HIDDEN_COLUMNS, parser_node::flag, parser_context::id, INCLUDE_HIDDEN_COLUMNS, parser_node::info, parser_node::is_hidden_column, pt_node_list_info::list, pt_select_info::list, MSGCAT_SEMANTIC_ARITY_MISMATCH, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, parser_copy_tree_list(), parser_free_tree(), parser_node::parser_id, pt_append_string(), pt_common_type(), PT_DIFFERENCE, PT_ERRORmf2, PT_INTERSECTION, PT_IS_COMPLEX_TYPE, PT_IS_PARAMETERIZED_TYPE, pt_is_value_node, pt_length_of_select_list(), PT_NAME, PT_NODE_LIST, PT_SELECT, PT_TYPE_ENUMERATION, PT_TYPE_NA, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_STAR, PT_UNION, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_union_info::select_list, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.
Referenced by db_get_query_type_list(), insert_subquery_results(), mq_make_derived_spec(), mq_rewrite_query_as_derived(), pt_add_oid_to_select_list(), pt_append_odku_references(), pt_apply_union_select_list_collation(), pt_check_assignments(), pt_check_create_entity(), pt_check_create_view(), pt_check_default_vclass_query_spec(), pt_check_into_clause(), pt_check_union_compatibility(), pt_check_union_type_compatibility_of_values_query(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_check_with_clause(), pt_coerce_insert_values(), pt_coerce_range_expr_arguments(), pt_eval_function_type_old(), pt_fillin_type_size(), pt_get_attr_list_of_derived_table(), pt_get_one_tuple_from_list_id(), pt_get_select_list_coll_compat(), pt_get_titles(), pt_make_aptr_parent_node(), pt_new_query_result_descriptor(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_set_orderby_for_sort_limit_plan(), pt_set_table_to_db(), pt_to_after_groupby(), pt_to_after_iscan(), pt_to_compatible_cast(), pt_to_groupby(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_orderby(), pt_to_outlist(), pt_to_regu_variable(), pt_try_remove_order_by(), pt_type_cast_vclass_query_spec(), pt_wrap_select_list_with_cast_op(), qo_check_iscan_for_multi_range_opt(), qo_discover_sort_limit_nodes(), qo_reduce_equality_terms(), qo_rewrite_subqueries(), and func_type::Node::set_return_type().
int pt_get_select_query_columns | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | create_select, | ||
DB_QUERY_TYPE ** | query_columns | ||
) |
Definition at line 4312 of file parser_support.c.
References assert, CUBRID_STMT_SELECT, db_free_query_format(), DB_NO_OIDS, er_errid(), ER_FAILED, ER_UNEXPECTED, error(), ERROR1, NO_ERROR, NULL, parser_copy_tree(), parser_free_tree(), pt_compile(), pt_fillin_type_size(), pt_get_titles(), pt_has_error, pt_node_to_cmd_type(), pt_report_to_ersys_with_statement(), and PT_SEMANTIC.
Referenced by do_create_entity(), and pt_check_partitions().
const char* pt_get_spec_name | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | selqry | ||
) |
Definition at line 2785 of file parser_support.c.
References parser_node::info, pt_spec_info::meta_class, parser_node::node_type, NULL, pt_append_string(), pt_from_list_part(), pt_get_select_from_name(), PT_META_CLASS, PT_SPEC, and pt_statement_info::spec.
Referenced by pt_get_proxy_spec_name().
Definition at line 4257 of file parse_tree_cl.c.
References pt_union_info::arg1, assert, parser_node::info, pt_node_list_info::list, pt_select_info::list, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, PT_DIFFERENCE, PT_INTERSECTION, PT_IS_VALUE_QUERY, PT_NAME, PT_SELECT, PT_TYPE_STAR, PT_UNION, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, parser_node::type_enum, and pt_query_info::union_.
Referenced by pt_get_expression_count().
Definition at line 2264 of file parser_support.c.
References assert, parser_node::info, pt_statement_info::insert, pt_node_list_info::list, pt_node_list_info::list_type, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, PT_INSERT, PT_IS_QUERY, PT_IS_SUBQUERY, PT_NODE_LIST, and pt_insert_info::value_clauses.
Referenced by mq_translate_insert(), and qo_optimize_queries().
DB_QUERY_TYPE* pt_get_titles | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query | ||
) |
Definition at line 642 of file query_result.c.
References parser_context::custom_print, db_free_query_format(), EXCLUDE_HIDDEN_COLUMNS, parser_node::flag, parser_node::is_hidden_column, db_query_type::next, parser_node::next, NULL, pt_get_from_list(), pt_get_node_title(), pt_get_select_list(), pt_length_of_select_list(), and PT_SUPPRESS_CHARSET_PRINT.
Referenced by db_compile_statement_local(), and pt_get_select_query_columns().
const unsigned char* pt_get_varchar_bytes | ( | const PARSER_VARCHAR * | string | ) |
Definition at line 1089 of file parse_tree.c.
References NULL.
Referenced by chksum_calculate_checksum(), chksum_get_next_lower_bound(), chksum_update_master_checksum(), do_add_attribute(), do_alter_change_col_comment(), do_alter_change_tbl_comment(), do_change_att_schema_only(), do_create_entity(), do_replicate_statement(), pt_get_enumeration_from_data_type(), and pt_is_same_enum_data_type().
int pt_get_varchar_length | ( | const PARSER_VARCHAR * | string | ) |
Definition at line 1106 of file parse_tree.c.
References NULL.
Referenced by pt_get_enumeration_from_data_type(), and pt_is_same_enum_data_type().
PT_NODE* pt_get_warnings | ( | const PARSER_CONTEXT * | parser | ) |
Definition at line 2622 of file parser_support.c.
References NULL, and parser_context::warnings.
Referenced by db_get_warnings().
int pt_groupbynum_compatibility | ( | PT_NODE * | expr | ) |
Definition at line 1453 of file parser_support.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, COMPATIBLE_WITH_GROUPBYNUM, pt_statement_info::expr, parser_node::info, parser_node::node_type, NOT_COMPATIBLE_WITH_GROUPBYNUM, pt_expr_info::op, PT_AND, PT_ASSIGN, PT_EXISTS, PT_EXPR, PT_EXPR_INFO_CLEAR_FLAG, PT_EXPR_INFO_GROUPBYNUM_C, PT_EXPR_INFO_GROUPBYNUM_NC, PT_EXPR_INFO_IS_FLAGED, PT_EXPR_INFO_SET_FLAG, PT_IS_NOT_NULL, and PT_IS_NULL.
bool pt_has_aggregate | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 2814 of file parser_support.c.
References pt_merge_info::assignment, pt_agg_find_info::base_count, pt_agg_find_info::disable_loose_scan, pt_select_info::group_by, pt_select_info::having, parser_node::info, pt_merge_info::insert, pt_statement_info::merge, parser_node::next, parser_node::node_type, NULL, pt_agg_find_info::out_of_context_count, parser_walk_tree(), pt_find_aggregate_functions_post(), pt_find_aggregate_functions_pre(), PT_MERGE, PT_SELECT, PT_SELECT_INFO_DISABLE_LOOSE_SCAN, PT_SELECT_INFO_HAS_AGG, PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_IS_MERGE_QUERY, PT_SELECT_INFO_IS_UPD_DEL_QUERY, PT_SELECT_INFO_SET_FLAG, pt_query_info::q, pt_statement_info::query, pt_merge_info::search_cond, pt_query_info::select, pt_agg_find_info::select_stack, pt_agg_find_info::stop_on_subquery, pt_merge_info::update, and pt_merge_info::value_clauses.
Referenced by mq_check_rewrite_select(), mq_is_pushable_subquery(), mq_substitute_subquery_in_statement(), mq_translate_local(), mq_translate_select(), mq_updatable_local(), pt_check_copypush_subquery(), pt_check_for_update_clause(), pt_copypush_terms(), pt_is_single_tuple(), pt_reset_error(), pt_semantic_check_local(), pt_to_buildlist_proc(), qo_check_iscan_for_multi_range_opt(), qo_discover_sort_limit_nodes(), and qo_rewrite_subqueries().
bool pt_has_analytic | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 2918 of file parser_support.c.
References pt_union_info::arg1, pt_union_info::arg2, parser_node::info, pt_select_info::list, parser_node::node_type, parser_walk_tree(), PT_DIFFERENCE, PT_INTERSECTION, pt_is_analytic_node(), pt_is_analytic_node_post(), PT_SELECT, PT_SELECT_INFO_HAS_ANALYTIC, PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_SET_FLAG, PT_UNION, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_query_info::union_.
Referenced by mq_copypush_sargable_terms_helper(), mq_translate_select(), mq_updatable_local(), pt_check_analytic_function(), pt_semantic_check_local(), pt_to_analytic_final_node(), pt_to_buildlist_proc(), pt_to_upd_del_query(), qo_discover_sort_limit_nodes(), qo_rewrite_subqueries(), and qo_top_plan_new().
bool pt_has_inst_or_orderby_num | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 2975 of file parser_support.c.
References parser_walk_tree(), pt_is_inst_or_orderby_num_node(), and pt_is_inst_or_orderby_num_node_post().
Referenced by pt_to_analytic_final_node().
PT_NODE* pt_has_name_oid | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 9663 of file parser_support.c.
References parser_node::node_type, PT_DATA_TYPE, PT_IS_OID_NAME, PT_NAME, PT_STOP_WALK, PT_TYPE_OBJECT, and parser_node::type_enum.
Referenced by db_can_execute_statement_with_autocommit().
PT_NODE* pt_has_non_groupby_column_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 9568 of file parser_support.c.
References assert, pt_sort_spec_info::expr, pt_non_groupby_col_info::groupby, pt_non_groupby_col_info::has_non_groupby_col, parser_node::info, parser_node::next, NULL, PT_IS_NAME_NODE, PT_IS_SORT_SPEC_NODE, pt_name_equal(), PT_STOP_WALK, and pt_statement_info::sort_spec.
Referenced by qo_optimize_queries().
PT_NODE* pt_has_non_idx_sarg_coll_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1122 of file parser_support.c.
References coll_opt::allow_index_opt, assert, pt_data_type_info::collation_id, pt_statement_info::data_type, parser_node::data_type, parser_node::info, lang_get_collation(), NULL, lang_collation::options, PT_HAS_COLLATION, PT_STOP_WALK, and parser_node::type_enum.
Referenced by qo_analyze_term().
PT_NODE* pt_has_using_index_clause | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 13427 of file semantic_check.c.
References pt_statement_info::delete_, parser_node::info, parser_node::node_type, NULL, PT_DELETE, PT_SELECT, PT_STOP_WALK, PT_UPDATE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::update, pt_delete_info::using_index, pt_select_info::using_index, and pt_update_info::using_index.
Referenced by emit_query_specs().
PT_HOST_VARS* pt_host_info | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
Definition at line 3113 of file parser_support.c.
References NULL, parser_walk_tree(), and pt_collect_host_info().
Referenced by db_get_input_markers(), and db_get_output_markers().
DB_VALUE* pt_host_var_db_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | hv | ||
) |
Definition at line 3160 of file parse_dbi.c.
References parser_context::auto_param_count, parser_context::flag, pt_statement_info::host_var, parser_context::host_var_count, parser_context::host_variables, pt_host_var_info::index, parser_node::info, parser_node::node_type, NULL, PT_HOST_VAR, and parser_context::set_host_var.
Referenced by pt_bind_type_of_host_var(), and pt_value_to_db().
Definition at line 3233 of file parser_support.c.
References pt_statement_info::host_var, pt_host_var_info::index, parser_node::info, parser_node::node_type, and PT_HOST_VAR.
Referenced by db_marker_index().
void pt_init_assignments_helper | ( | PARSER_CONTEXT * | parser, |
PT_ASSIGNMENTS_HELPER * | helper, | ||
PT_NODE * | assignment | ||
) |
Definition at line 1336 of file parse_tree.c.
References pt_assignments_helper::assignment, pt_assignments_helper::is_n_column, pt_assignments_helper::is_rhs_const, pt_assignments_helper::lhs, NULL, parser, pt_assignments_helper::parser, and pt_assignments_helper::rhs.
Referenced by check_trigger(), init_update_data(), pt_append_omitted_on_update_expr_assignments(), pt_count_assignments(), pt_mvcc_flag_specs_assign_reev(), pt_mvcc_set_spec_assign_reev_extra_indexes(), pt_no_attr_and_meta_attr_updates(), pt_semantic_check_local(), pt_substitute_assigned_name_node(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_update_xasl(), update_class_attributes(), and update_object_by_oid().
PT_NODE** pt_init_one_statement_parser | ( | PARSER_CONTEXT * | parser, |
FILE * | file | ||
) |
Definition at line 1891 of file parse_tree_cl.c.
References parser_context::casecmp, parser_context::column, dbcs_get_next(), dbcs_start_input(), fgetin(), parser_context::file, intl_identifier_casecmp(), lang_charset(), LANG_VARIABLE_CHARSET, parser_context::line, parser_context::next_byte, parser_context::next_char, parser, parser_input_host_index, parser_output_host_index, parser_context::stack_top, and this_parser.
Referenced by db_make_session_for_one_statement_execution().
PT_NODE* pt_insert_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 466 of file parser_support.c.
References parser_node::info, pt_statement_info::insert_value, NULL, pt_insert_value_info::original_node, parser_new_node(), and PT_INSERT_VALUE.
Referenced by do_evaluate_insert_values().
int pt_instnum_compatibility | ( | PT_NODE * | expr | ) |
Definition at line 1340 of file parser_support.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, COMPATIBLE_WITH_INSTNUM, pt_statement_info::expr, parser_node::info, parser_node::node_type, NOT_COMPATIBLE_WITH_INSTNUM, NULL, pt_expr_info::op, PT_AND, PT_ASSIGN, PT_CASE, PT_DECODE, PT_EXISTS, PT_EXPR, PT_EXPR_INFO_CLEAR_FLAG, PT_EXPR_INFO_INSTNUM_C, PT_EXPR_INFO_INSTNUM_NC, PT_EXPR_INFO_IS_FLAGED, PT_EXPR_INFO_SET_FLAG, PT_IF, PT_IFNULL, pt_is_instnum, PT_IS_NOT_NULL, and PT_IS_NULL.
Referenced by pt_bind_names_post().
void* pt_internal_error | ( | PARSER_CONTEXT * | parser, |
const char * | file, | ||
int | line, | ||
const char * | what | ||
) |
Definition at line 1481 of file parse_tree_cl.c.
References parser_node::buffer_pos, parser_node::column_number, parser_context::flag, parser_context::has_internal_error, parser_node::line_number, NULL, parser, pt_frob_error(), pt_has_error, and pt_internal_error().
Referenced by pt_internal_error().
bool pt_is_aggregate_function | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 623 of file parser_support.c.
References pt_function_info::analytic, pt_statement_info::function, pt_function_info::function_type, parser_node::info, pt_function_info::is_analytic, parser_node::node_type, PT_AGG_BIT_AND, PT_AGG_BIT_OR, PT_AGG_BIT_XOR, PT_AVG, PT_COUNT, PT_COUNT_STAR, PT_CUME_DIST, PT_FUNCTION, PT_GROUP_CONCAT, PT_GROUPBY_NUM, PT_JSON_ARRAYAGG, PT_JSON_OBJECTAGG, PT_MAX, PT_MEDIAN, PT_MIN, PT_PERCENT_RANK, PT_PERCENTILE_CONT, PT_PERCENTILE_DISC, PT_STDDEV, PT_STDDEV_POP, PT_STDDEV_SAMP, PT_SUM, PT_VAR_POP, PT_VAR_SAMP, and PT_VARIANCE.
Referenced by mq_class_meth_corr_subq_pre(), mq_rewrite_agg_names(), pt_check_single_valued_node(), pt_check_where(), pt_eval_function_type_old(), pt_find_aggregate_analytic_in_where(), pt_find_aggregate_analytic_pre(), pt_find_aggregate_function(), pt_find_aggregate_functions_pre(), pt_function_to_regu(), pt_is_hash_agg_eligible(), and pt_to_aggregate_node().
bool pt_is_analytic_function | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 655 of file parser_support.c.
References pt_function_info::analytic, pt_statement_info::function, parser_node::info, pt_function_info::is_analytic, parser_node::node_type, NULL, and PT_FUNCTION.
Referenced by pt_find_aggregate_analytic_in_where(), and pt_find_aggregate_analytic_pre().
PT_NODE* pt_is_analytic_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1086 of file parser_support.c.
References pt_function_info::analytic, pt_statement_info::function, parser_node::info, pt_function_info::is_analytic, parser_node::node_type, PT_CONTINUE_WALK, PT_FUNCTION, PT_IS_QUERY_NODE_TYPE, PT_LIST_WALK, and PT_STOP_WALK.
Referenced by pt_has_analytic().
PT_NODE* pt_is_analytic_node_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1061 of file parser_support.c.
References PT_CONTINUE_WALK, and PT_STOP_WALK.
Referenced by pt_has_analytic().
int pt_is_attr | ( | PT_NODE * | node | ) |
Definition at line 1268 of file parser_support.c.
References parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, pt_get_end_path_node(), PT_NAME, PT_NORMAL, PT_OID_ATTR, PT_SHARED, and PT_VID_ATTR.
Referenced by pt_bind_names(), pt_fillin_type_size(), pt_replace_referenced_attributes(), qo_apply_range_intersection(), qo_converse_sarg_terms(), qo_convert_to_range(), qo_convert_to_range_helper(), qo_do_auto_parameterize(), qo_fold_is_and_not_null(), qo_is_cast_attr(), qo_is_equi_join_term(), qo_reduce_comp_pair_terms(), qo_reduce_equality_terms(), qo_rewrite_like_terms(), qo_rewrite_subqueries(), and qo_search_comp_pair_term().
int pt_is_between_range_op | ( | PT_OP_TYPE | op | ) |
Definition at line 21070 of file type_checking.c.
References 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, and PT_BETWEEN_INF_LT.
Referenced by pt_check_expr_collation(), pt_eval_expr_type(), pt_evaluate_tree_internal(), pt_fold_const_expr(), pt_to_pred_expr_local_with_arg(), qo_between_selectivity(), and qo_range_selectivity().
int pt_is_comp_op | ( | PT_OP_TYPE | op | ) |
Definition at line 21097 of file type_checking.c.
References 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_GE, PT_GE_ALL, PT_GE_SOME, PT_GT, PT_GT_ALL, PT_GT_INF, PT_GT_SOME, PT_IS, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LIKE, PT_LT, PT_LT_ALL, PT_LT_INF, PT_LT_SOME, PT_NE, PT_NE_ALL, PT_NE_SOME, PT_NOT_LIKE, PT_NULLSAFE_EQ, and PT_RANGE.
Referenced by pt_check_expr_collation(), pt_coerce_expr_arguments(), and pt_common_type_op().
Definition at line 16761 of file parse_tree_cl.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, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_ASCII, PT_ASIN, PT_ATAN, PT_ATAN2, PT_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHARSET, PT_CHR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, 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_DECODE, PT_DEFAULTF, PT_DEGREES, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_EQ, PT_EXP, PT_EXPR, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION_HOLDER, PT_GE, PT_GREATEST, PT_GT, PT_HEX, PT_HOST_VAR, PT_HOURF, PT_IF, PT_IFNULL, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSTR, pt_is_const_expr_node(), PT_ISNULL, PT_LAST_DAY, PT_LE, PT_LEAST, PT_LEFT, 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_LT, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NAME, PT_NE, PT_NEW_TIME, PT_NEXT_VALUE, PT_NULLIF, PT_NULLSAFE_EQ, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_OF_DUPLICATE_KEY, PT_PARAMETER, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_QUARTERF, PT_RADIANS, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_ROUND, PT_ROW_COUNT, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SESSIONTIMEZONE, PT_SHA_ONE, PT_SHA_TWO, PT_SIGN, PT_SIN, PT_SQRT, PT_STR_TO_DATE, PT_STRCMP, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_DATE, PT_SYS_DATETIME, 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_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TZ_OFFSET, PT_UNARY_MINUS, PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VALUE, PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, and PT_YEARF.
Referenced by pt_check_cume_dist_percent_rank_order_by(), pt_is_const_expr_node(), pt_is_function_index_expr(), pt_remove_unusable_sort_specs(), and qo_search_comp_pair_term().
Definition at line 1207 of file parser_support.c.
References parser_node::node_type, PT_ALTER, PT_ALTER_INDEX, PT_ALTER_SERIAL, PT_ALTER_STORED_PROCEDURE, PT_ALTER_TRIGGER, PT_ALTER_USER, PT_CREATE_ENTITY, PT_CREATE_INDEX, PT_CREATE_SERIAL, PT_CREATE_STORED_PROCEDURE, PT_CREATE_TRIGGER, PT_CREATE_USER, PT_DROP, PT_DROP_INDEX, PT_DROP_SERIAL, PT_DROP_STORED_PROCEDURE, PT_DROP_TRIGGER, PT_DROP_USER, PT_GRANT, PT_REMOVE_TRIGGER, PT_RENAME, PT_RENAME_TRIGGER, PT_REVOKE, and PT_UPDATE_STATS.
Referenced by do_execute_statement(), do_replicate_statement(), do_statement(), and is_stmt_based_repl_type().
bool pt_is_expr_wrapped_function | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 675 of file parser_support.c.
References F_ELT, 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_REGEXP_COUNT, F_REGEXP_INSTR, F_REGEXP_LIKE, F_REGEXP_REPLACE, F_REGEXP_SUBSTR, pt_statement_info::function, pt_function_info::function_type, parser_node::info, parser_node::node_type, and PT_FUNCTION.
Referenced by pt_evaluate_function(), and pt_fold_const_function().
bool pt_is_function_index_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | expr, | ||
bool | report_error | ||
) |
Definition at line 17574 of file parse_tree_cl.c.
References pt_expr_info::arg1, pt_statement_info::expr, fcode_get_uppercase_name(), pt_statement_info::function, pt_function_info::function_type, parser_node::info, MSGCAT_SEMANTIC_CONSTANT_IN_FUNCTION_INDEX_NOT_ALLOWED, MSGCAT_SEMANTIC_FUNCTION_CANNOT_BE_USED_FOR_INDEX, MSGCAT_SEMANTIC_INVALID_FUNCTION_INDEX, MSGCAT_SEMANTIC_INVALID_FUNCTION_INDEX_EXPR, MSGCAT_SET_PARSER_SEMANTIC, parser_node::node_type, pt_expr_info::op, PT_ERRORm, PT_ERRORmf, PT_EXPR, pt_expr_is_allowed_as_function_index(), PT_FUNCTION_HOLDER, pt_function_is_allowed_as_function_index(), pt_is_const_expr_node(), pt_is_nested_expr(), pt_show_binopcode(), and PT_VALUE.
Referenced by build_query_graph_function_index(), do_recreate_func_index_constr(), is_local_name(), lookup_node(), lookup_seg(), pt_check_function_index_expr(), pt_check_with_info(), qo_analyze_term(), qo_rewrite_like_terms(), and set_seg_expr().
int pt_is_function_index_expression | ( | PT_NODE * | node | ) |
Definition at line 1294 of file parser_support.c.
References parser_node::node_type, NULL, PT_EXPR, PT_EXPR_INFO_FUNCTION_INDEX, and PT_EXPR_INFO_IS_FLAGED.
Referenced by qo_analyze_term(), qo_convert_to_range(), qo_reduce_equality_terms(), and qo_rewrite_subqueries().
PT_NODE* pt_is_inst_or_orderby_num_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1179 of file parser_support.c.
References parser_node::node_type, PT_IS_INSTNUM, PT_IS_ORDERBYNUM, PT_IS_QUERY_NODE_TYPE, PT_LIST_WALK, and PT_STOP_WALK.
Referenced by pt_has_inst_or_orderby_num().
PT_NODE* pt_is_inst_or_orderby_num_node_post | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1154 of file parser_support.c.
References PT_CONTINUE_WALK, and PT_STOP_WALK.
Referenced by pt_has_inst_or_orderby_num().
Definition at line 17736 of file parse_tree_cl.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, pt_statement_info::name, parser_node::next, NULL, pt_expr_info::op, PT_FUNCTION_HOLDER, pt_function_index_skip_expr(), PT_IS_NAME_NODE, and pt_name_info::spec_id.
Referenced by build_query_graph_function_index().
Definition at line 724 of file keyword.c.
References pt_find_keyword().
Referenced by pt_append_name().
int pt_is_method_call | ( | PT_NODE * | node | ) |
Definition at line 1251 of file parser_support.c.
References parser_node::node_type, NULL, pt_get_end_path_node(), and PT_METHOD_CALL.
Referenced by pt_check_and_replace_hostvar(), and pt_fillin_type_size().
bool pt_is_op_hv_late_bind | ( | PT_OP_TYPE | op | ) |
Definition at line 21332 of file type_checking.c.
References PT_ABS, PT_ADDTIME, PT_ASCII, PT_CEIL, PT_COALESCE, PT_CONV, PT_DEFINE_VARIABLE, PT_DIVIDE, PT_EVALUATE_VARIABLE, PT_FLOOR, PT_FROM_TZ, PT_GREATEST, PT_HEX, PT_HOURF, PT_IFNULL, PT_LEAST, PT_MINUS, PT_MINUTEF, PT_MODULUS, PT_NEW_TIME, PT_NULLIF, PT_NVL, PT_NVL2, PT_PLUS, PT_ROUND, PT_SECONDF, PT_STR_TO_DATE, PT_TIMES, PT_TO_CHAR, PT_TRUNC, and PT_UNARY_MINUS.
Referenced by pt_apply_expressions_definition(), pt_coerce_expression_argument(), pt_common_type_op(), pt_evaluate_db_value_expr(), pt_get_equivalent_type_with_op(), pt_infer_common_type(), pt_to_regu_variable(), and pt_wrap_expr_w_exp_dom_cast().
bool pt_is_operator_logical | ( | PT_OP_TYPE | op | ) |
Definition at line 7798 of file parser_support.c.
References PT_AND, PT_BETWEEN, 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_EXISTS, PT_GE, PT_GE_ALL, PT_GE_SOME, PT_GT, PT_GT_ALL, PT_GT_SOME, PT_IS, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LIKE, PT_LIKE_ESCAPE, PT_LT, PT_LT_ALL, PT_LT_SOME, PT_NE, PT_NE_ALL, PT_NE_SOME, PT_NOT, PT_NOT_BETWEEN, PT_NOT_LIKE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NULLSAFE_EQ, PT_OR, PT_RANGE, PT_RLIKE, PT_RLIKE_BINARY, PT_SETEQ, PT_SETNEQ, PT_SUBSET, PT_SUBSETEQ, PT_SUPERSET, PT_SUPERSETEQ, and PT_XOR.
Referenced by does_op_specially_treat_null_arg(), and pt_common_type_op().
Definition at line 3655 of file query_graph.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_function_info::arg_list, assert, pt_query_info::correlation_level, pt_statement_info::expr, F_MULTISET, F_SEQUENCE, F_SET, pt_statement_info::function, pt_function_info::function_type, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, p, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_ASCII, PT_ASIN, PT_ATAN, PT_ATAN2, 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_BIN, PT_BIT_AND, PT_BIT_COUNT, PT_BIT_LENGTH, PT_BIT_NOT, PT_BIT_OR, PT_BIT_XOR, PT_BITSHIFT_LEFT, PT_BITSHIFT_RIGHT, PT_CASE, PT_CAST, PT_CEIL, PT_CHAR_LENGTH, PT_CHARSET, PT_CHR, PT_COALESCE, PT_COERCIBILITY, PT_COLLATION, PT_CONCAT, PT_CONCAT_WS, 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_DECODE, PT_DEFAULTF, PT_DEGREES, PT_DIFFERENCE, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DOT_, PT_EVALUATE_VARIABLE, PT_EXP, PT_EXPR, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION, PT_FUNCTION_HOLDER, PT_GREATEST, PT_HEX, PT_HOST_VAR, PT_HOURF, PT_IF, PT_IFNULL, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INSTR, PT_INTERSECTION, pt_is_pseudo_const(), PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LEAST, PT_LEFT, 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_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NAME, PT_NEW_TIME, PT_NEXT_VALUE, PT_NULLIF, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_OF_DUPLICATE_KEY, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_ROUND, PT_ROW_COUNT, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SELECT, PT_SHA_ONE, PT_SHA_TWO, PT_SIGN, PT_SIN, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SYS_DATE, PT_SYS_DATETIME, 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_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, 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_VERSION, PT_WEEKDAY, PT_WEEKF, PT_YEARF, and pt_statement_info::query.
Referenced by pt_is_pseudo_const(), qo_analyze_term(), and qo_rewrite_like_terms().
PT_NODE* pt_is_pseudocolumn_node | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 1317 of file parser_support.c.
References pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, PT_CONNECT_BY_ISCYCLE, PT_CONNECT_BY_ISLEAF, PT_EXPR, PT_LEVEL, and PT_STOP_WALK.
Referenced by qo_optimize_queries().
int pt_is_reference_to_reusable_oid | ( | DB_VALUE * | val | ) |
Definition at line 616 of file parse_evaluate.c.
References obj_template::classobj, db_get_class(), db_get_object(), db_get_pointer(), db_is_class(), DB_TYPE_NULL, DB_TYPE_OBJECT, DB_TYPE_POINTER, DB_VALUE_TYPE, is_class(), NO_ERROR, NULL, and sm_check_reuse_oid_class().
Referenced by assign_set_value(), check_att_domain(), pt_associate_label_with_value_check_reference(), and pt_set_host_variables().
Definition at line 697 of file keyword.c.
References pt_find_keyword(), and keyword_record::unreserved.
Referenced by db_create_vclass().
Definition at line 147 of file parse_dbi.c.
References assert, pt_statement_info::data_type, pt_value_info::data_value, pt_data_type_info::enumeration, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_get_varchar_bytes(), pt_get_varchar_length(), PT_TYPE_ENUMERATION, PT_VALUE, pt_data_value::str, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_add_type_to_set(), pt_fix_enumeration_comparison(), and pt_is_enumeration_special_comparison().
int pt_is_server_insert_with_generated_keys | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 1447 of file query_result.c.
References parser_context::flag, parser_node::info, pt_statement_info::insert, parser_node::node_type, PT_INSERT, parser_context::return_generated_keys, pt_insert_info::server_allowed, and SERVER_INSERT_IS_ALLOWED.
Referenced by db_execute_and_keep_statement_local(), and pt_free_query_etc_area().
bool pt_is_symmetric_op | ( | PT_OP_TYPE | op | ) |
Definition at line 6348 of file type_checking.c.
References PT_ABS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_ASSIGN, PT_ATAN2, PT_BETWEEN_EQ_NA, PT_BETWEEN_GE_INF, PT_BETWEEN_GT_INF, PT_BETWEEN_INF_LE, PT_BETWEEN_INF_LT, PT_BIN, PT_BIT_LENGTH, PT_BIT_TO_BLOB, PT_BLOB_FROM_FILE, PT_BLOB_LENGTH, PT_BLOB_TO_BIT, PT_CASE, PT_CAST, PT_CHAR_LENGTH, PT_CHAR_TO_BLOB, PT_CHAR_TO_CLOB, PT_CHARSET, PT_CHR, PT_CLOB_FROM_FILE, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COERCIBILITY, 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_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_DAYF, PT_DAYOFMONTH, PT_DAYOFWEEK, PT_DAYOFYEAR, PT_DBTIMEZONE, PT_DECODE, PT_DECR, PT_DEFINE_VARIABLE, PT_DISK_SIZE, PT_DRAND, PT_DRANDOM, PT_EQ_ALL, PT_EQ_SOME, PT_EVALUATE_VARIABLE, PT_EXEC_STATS, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FORMAT, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION_HOLDER, PT_GE_ALL, PT_GE_SOME, PT_GT_ALL, PT_GT_INF, PT_GT_SOME, PT_HOURF, PT_IF, PT_IFNULL, PT_INCR, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INST_NUM, PT_INSTR, PT_IS, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LE_ALL, PT_LE_SOME, PT_LEFT, PT_LEVEL, PT_LIKE_ESCAPE, PT_LIKE_LOWER_BOUND, PT_LIKE_UPPER_BOUND, PT_LIST_DBS, PT_LOCAL_TRANSACTION_ID, PT_LOCATE, PT_LPAD, PT_LT_ALL, PT_LT_INF, PT_LT_SOME, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MID, PT_MINUTEF, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NE_ALL, PT_NE_SOME, PT_NEW_TIME, PT_NEXT_VALUE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_ORDERBY_NUM, PT_PI, PT_POSITION, PT_POWER, PT_QPRIOR, PT_QUARTERF, PT_RAND, PT_RANDOM, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_RLIKE, PT_RLIKE_BINARY, PT_ROUND, PT_ROW_COUNT, PT_ROWNUM, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SESSIONTIMEZONE, PT_SHA_ONE, PT_SHA_TWO, PT_SLEEP, PT_STR_TO_DATE, 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_TIME_FORMAT, PT_TIMEF, PT_TIMESTAMP, PT_TIMETOSEC, PT_TO_CHAR, PT_TO_DATE, PT_TO_DATETIME, PT_TO_DATETIME_TZ, PT_TO_ENUMERATION_VALUE, PT_TO_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRACE_STATS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPEOF, PT_TZ_OFFSET, PT_UNIX_TIMESTAMP, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, and PT_YEARF.
Referenced by pt_coerce_expr_arguments(), pt_coerce_expression_argument(), pt_eval_expr_type(), pt_expr_get_return_type(), pt_infer_common_type(), and qo_reduce_equality_terms().
PT_NODE* pt_lambda | ( | PARSER_CONTEXT * | parser_ptr, |
PT_NODE * | expression, | ||
PT_NODE * | name, | ||
PT_NODE * | named_expression | ||
) |
Definition at line 1090 of file parse_tree_cl.c.
References pt_lambda_with_arg().
Referenced by meth_replace_referenced_attrs(), and mq_push_path().
PT_NODE* pt_lambda_with_arg | ( | PARSER_CONTEXT * | parser_ptr, |
PT_NODE * | expression, | ||
PT_NODE * | name, | ||
PT_NODE * | named_expression, | ||
bool | loc_check, | ||
int | type, | ||
bool | dont_replace | ||
) |
Definition at line 1020 of file parse_tree_cl.c.
References pt_lambda_arg::dont_replace, pt_statement_info::expr, pt_statement_info::function, pt_function_info::function_type, parser_node::info, pt_lambda_arg::loc_check, pt_lambda_arg::name, parser_node::node_type, NULL, pt_expr_info::op, pt_expr_info::paren_type, parser_walk_tree(), PT_DOT_, PT_EXPR, PT_FUNCTION, PT_GROUPBY_NUM, PT_INST_NUM, PT_INTERNAL_ERROR, pt_lambda_check_reduce_eq(), pt_lambda_node(), PT_NAME, PT_ORDERBY_NUM, pt_lambda_arg::replace_num, pt_lambda_arg::tree, and pt_lambda_arg::type.
Referenced by pt_lambda(), qo_reduce_equality_terms(), qo_reduce_order_by(), and qo_reduce_order_by_for().
Definition at line 2042 of file parser_support.c.
References pt_dot_info::arg1, pt_expr_info::arg1, pt_statement_info::dot, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, PT_DOT_, and PT_EXPR.
Referenced by gen_outer().
Definition at line 3117 of file parse_tree_cl.c.
References parser_node::next.
Referenced by acquire_locks_for_multiple_rename(), add_foreign_key(), create_or_drop_index_helper(), do_add_constraints(), do_execute_select(), do_execute_session_statement(), do_insert_template(), do_kill(), do_prepare_insert(), do_select_internal(), find_update_columns(), gen_outer(), func_type::Node::get_signature(), make_mergelist_proc(), meth_collapse_nodes(), meth_get_method_params(), meth_replace_method_calls(), meth_replace_referenced_attrs(), meth_translate_spec(), pt_bind_spec_attrs(), pt_check_assignments(), pt_check_cume_dist_percent_rank_order_by(), pt_check_group_concat_order_by(), pt_check_into_clause(), pt_check_method(), pt_check_same_datatype(), pt_check_vclass_query_spec(), pt_coerce_insert_values(), pt_coerce_node_collation(), pt_fillin_type_size(), pt_get_expression_count(), pt_get_select_from_spec(), pt_make_identity_offsets(), pt_number_of_attributes(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_split_attrs(), pt_to_aggregate(), pt_to_buildlist_proc(), pt_to_index_attrs(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_method_arglist(), pt_to_method_sig_list(), pt_to_update_xasl(), qo_all_some_in_selectivity(), qo_reduce_equality_terms(), set_prepare_info_into_list(), and uci_static().
int pt_length_of_select_list | ( | PT_NODE * | list, |
int | hidden_col | ||
) |
Definition at line 3134 of file parse_tree_cl.c.
References parser_node::flag, INCLUDE_HIDDEN_COLUMNS, parser_node::is_hidden_column, and parser_node::next.
Referenced by db_get_query_type_list(), insert_subquery_results(), mq_virtual_queries(), pt_bind_names(), pt_check_assignments(), pt_check_into_clause(), pt_check_order_by(), pt_check_type_compatibility_of_values_query(), pt_check_union_compatibility(), pt_check_union_type_compatibility_of_values_query(), pt_check_vclass_query_spec(), pt_coerce_insert_values(), pt_coerce_range_expr_arguments(), pt_fillin_type_size(), pt_get_compatible_info(), pt_get_expression_count(), pt_get_select_list(), pt_get_titles(), pt_get_values_query_compatible_info(), pt_new_query_result_descriptor(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_set_table_to_db(), pt_to_false_subquery(), pt_to_insert_xasl(), pt_to_merge_insert_xasl(), pt_to_regu_variable(), pt_to_update_xasl(), and qo_rewrite_subqueries().
PT_NODE* pt_limit_to_numbering_expr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | limit, | ||
PT_OP_TYPE | num_op, | ||
bool | is_gby_num | ||
) |
Definition at line 3724 of file parser_support.c.
References pt_function_info::all_or_distinct, pt_expr_info::arg1, pt_expr_info::arg2, pt_function_info::arg_list, pt_statement_info::data_type, parser_node::data_type, db_make_null(), pt_data_type_info::dec_precision, pt_statement_info::expr, pt_statement_info::function, pt_function_info::function_type, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, parser_copy_tree(), parser_free_tree(), parser_new_node(), pt_data_type_info::precision, PT_ALL, PT_AND, PT_DATA_TYPE, pt_dbval_to_value(), pt_evaluate_tree(), PT_EXPR, PT_EXPR_INFO_GROUPBYNUM_LIMIT, PT_EXPR_INFO_SET_FLAG, PT_FUNCTION, PT_GROUPBY_NUM, PT_GT, PT_INTERNAL_ERROR, PT_LE, PT_PLUS, PT_TYPE_INTEGER, PT_TYPE_LOGICAL, PT_TYPE_NUMERIC, PT_VALUE, and parser_node::type_enum.
Referenced by pt_eval_type_pre(), and qo_optimize_queries().
Definition at line 7875 of file parser_support.c.
References parser_node::next, PT_TYPE_LOGICAL, and parser_node::type_enum.
Referenced by pt_eval_expr_type(), pt_eval_function_type_new(), and pt_eval_function_type_old().
DB_QUERY_RESULT* pt_make_cache_hit_result_descriptor | ( | void | ) |
Definition at line 1127 of file query_result.c.
References db_alloc_query_result(), db_init_query_result(), NULL, and T_CACHE_HIT.
Referenced by db_execute_and_keep_statement_local().
PT_NODE* pt_make_integer_value | ( | PARSER_CONTEXT * | parser, |
const int | value_int | ||
) |
Definition at line 172 of file parser_support.c.
References pt_value_info::data_value, pt_data_value::i, parser_node::info, parser_new_node(), PT_TYPE_INTEGER, PT_VALUE, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_check_auto_increment_table_option(), pt_check_show_index(), pt_check_table_in_show_heap(), pt_make_dummy_query_check_table(), pt_make_field_extra_expr_node(), pt_make_field_key_type_expr_node(), pt_make_pred_name_int_val(), pt_make_sort_spec_with_number(), pt_to_merge_update_query(), and qo_get_limit_from_eval_term().
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().
PT_NODE* pt_make_query_describe_w_identifier | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | original_cls_id, | ||
PT_NODE * | att_id | ||
) |
Definition at line 7582 of file parser_support.c.
References assert, DB_MAX_IDENTIFIER_LENGTH, parser_node::info, intl_identifier_lower(), pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, PT_EQ, pt_make_pred_name_string_val(), pt_make_query_show_columns(), and PT_NAME.
PT_NODE* pt_make_query_show_collation | ( | PARSER_CONTEXT * | parser, |
int | like_where_syntax, | ||
PT_NODE * | like_or_where_expr | ||
) |
Definition at line 8592 of file parser_support.c.
References assert, DB_AUTH_SELECT, parser_node::info, pt_select_info::list, NULL, pt_query_info::order_by, parser_append_node(), parser_new_node(), pt_add_name_col_to_sel_list(), pt_add_table_name_to_from_list(), PT_ASC, PT_EQ, pt_make_if_with_expressions(), pt_make_if_with_strings(), pt_make_like_col_expr(), pt_make_outer_select_for_show_stmt(), pt_make_pred_name_int_val(), pt_make_sort_spec_with_number(), pt_make_string_value(), PT_SELECT, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_select_info::where.
PT_NODE* pt_make_query_show_columns | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | original_cls_id, | ||
int | like_where_syntax, | ||
PT_NODE * | like_or_where_expr, | ||
int | is_show_full | ||
) |
Definition at line 6463 of file parser_support.c.
References parser_node::alias_print, assert, DB_AUTH_NONE, DB_DEFAULT_PRECISION, db_make_int(), DB_MAX_IDENTIFIER_LENGTH, DB_TYPE_VARCHAR, db_value_domain_default(), error(), i, parser_node::info, intl_identifier_lower(), LANG_SYS_CODESET, LANG_SYS_COLLATION, pt_select_info::list, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_query_info::order_by, pt_name_info::original, parser_append_node(), parser_free_tree(), parser_new_node(), pt_add_table_name_to_from_list(), pt_append_string(), PT_ASC, pt_dbval_to_value(), PT_DESC, pt_make_like_col_expr(), pt_make_outer_select_for_show_columns(), pt_make_sort_spec_with_identifier(), PT_NAME, PT_SELECT, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_SET_FLAG, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_select_info::where.
Referenced by pt_make_query_describe_w_identifier().
PT_NODE* pt_make_query_show_create_table | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | table_name | ||
) |
Definition at line 6686 of file parser_support.c.
References assert, DB_AUTH_SELECT, string_buffer::get_buffer(), parser_node::info, string_buffer::len(), pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, parser_new_node(), pt_add_string_col_to_sel_list(), pt_add_table_name_to_from_list(), pt_help_show_create_table(), PT_NAME, PT_SELECT, PT_SELECT_INFO_READ_ONLY, and PT_SELECT_INFO_SET_FLAG.
PT_NODE* pt_make_query_show_create_view | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | view_identifier | ||
) |
Definition at line 6752 of file parser_support.c.
References assert, DB_AUTH_SELECT, DB_MAX_IDENTIFIER_LENGTH, parser_node::info, intl_identifier_lower(), pt_select_info::list, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, parser_append_node(), parser_make_expression(), parser_new_node(), pt_add_table_name_to_from_list(), PT_CONCAT, PT_EQ, PT_IS_NULL, pt_make_dotted_identifier(), pt_make_dummy_query_check_table(), pt_make_if_with_expressions(), pt_make_pred_name_string_val(), PT_NAME, PT_OR, PT_SELECT, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_select_info::where.
PT_NODE* pt_make_query_show_exec_stats | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 6828 of file parser_support.c.
References assert, parser_context::dont_collect_exec_stats, parser_context::flag, NULL, parser_parse_string(), parser_parse_string_use_sys_charset(), and pt_pop().
PT_NODE* pt_make_query_show_exec_stats_all | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 6857 of file parser_support.c.
References assert, parser_context::dont_collect_exec_stats, parser_context::flag, NULL, parser_parse_string(), parser_parse_string_use_sys_charset(), and pt_pop().
PT_NODE* pt_make_query_show_grants | ( | PARSER_CONTEXT * | parser, |
const char * | original_user_name | ||
) |
Definition at line 7112 of file parser_support.c.
References parser_node::alias_print, pt_function_info::all_or_distinct, pt_function_info::arg_list, assert, pt_value_info::data_value, DB_AUTH_SELECT, pt_statement_info::function, pt_function_info::function_type, pt_select_info::group_by, parser_node::info, intl_identifier_upper(), pt_select_info::list, NULL, pt_function_info::order_by, pt_query_info::order_by, parser_append_node(), parser_keyword_func(), parser_make_expression(), parser_new_node(), pt_add_table_name_to_from_list(), PT_ALL, PT_AND, pt_append_string(), PT_ASC, PT_EQ, PT_FUNCTION, PT_GROUP_CONCAT, pt_make_dotted_identifier(), pt_make_if_with_strings(), pt_make_pred_name_int_val(), pt_make_pred_name_string_val(), pt_make_pred_with_identifiers(), pt_make_query_user_groups(), pt_make_sort_spec_with_identifier(), pt_make_sort_spec_with_number(), pt_make_string_value(), PT_OR, PT_SELECT, PT_SELECT_INFO_READ_ONLY, PT_SELECT_INFO_SET_FLAG, PT_SUBSETEQ, PT_TYPE_SET, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_data_value::set, SM_MAX_IDENTIFIER_LENGTH, strlen, parser_node::type_enum, pt_statement_info::value, and pt_select_info::where.
Referenced by pt_make_query_show_grants_curr_usr().
PT_NODE* pt_make_query_show_grants_curr_usr | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 7053 of file parser_support.c.
References au_user_name(), db_string_free(), NULL, and pt_make_query_show_grants().
PT_NODE* pt_make_query_show_index | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | original_cls_id | ||
) |
Definition at line 7636 of file parser_support.c.
References parser_node::alias_print, assert, DB_AUTH_NONE, DB_DEFAULT_PRECISION, db_make_int(), db_make_null(), db_make_varchar(), DB_MAX_IDENTIFIER_LENGTH, DB_TYPE_VARCHAR, db_value_domain_default(), error(), i, parser_node::info, intl_identifier_lower(), LANG_SYS_CODESET, LANG_SYS_COLLATION, pt_select_info::list, pt_statement_info::name, parser_node::node_type, NULL, pt_query_info::order_by, pt_name_info::original, parser_append_node(), parser_free_tree(), parser_new_node(), pt_add_table_name_to_from_list(), pt_append_string(), PT_ASC, pt_dbval_to_value(), pt_make_sort_spec_with_number(), PT_NAME, PT_SELECT, PT_SELECT_INFO_IDX_SCHEMA, PT_SELECT_INFO_READ_ONLY, PT_SELECT_INFO_SET_FLAG, pt_query_info::q, pt_statement_info::query, and pt_query_info::select.
PT_NODE* pt_make_query_show_table | ( | PARSER_CONTEXT * | parser, |
bool | is_full_syntax, | ||
int | like_where_syntax, | ||
PT_NODE * | like_or_where_expr | ||
) |
Definition at line 5930 of file parser_support.c.
References assert, DB_AUTH_SELECT, db_get_database_name(), db_name, db_string_free(), parser_node::info, pt_select_info::list, NULL, pt_query_info::order_by, parser_append_node(), parser_new_node(), pt_add_name_col_to_sel_list(), pt_add_table_name_to_from_list(), PT_ASC, PT_EQ, pt_make_if_with_strings(), pt_make_like_col_expr(), pt_make_outer_select_for_show_stmt(), pt_make_pred_name_string_val(), pt_make_sort_spec_with_number(), PT_SELECT, pt_query_info::q, pt_statement_info::query, pt_query_info::select, SM_MAX_IDENTIFIER_LENGTH, strlen, and pt_select_info::where.
PT_NODE* pt_make_query_show_trace | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 9528 of file parser_support.c.
References parser_node::alias_print, parser_context::dont_collect_exec_stats, parser_context::flag, parser_node::info, pt_select_info::list, NULL, parser_append_node(), parser_make_expression(), parser_new_node(), pt_append_string(), PT_SELECT, PT_SELECT_INFO_READ_ONLY, PT_SELECT_INFO_SET_FLAG, PT_TRACE_STATS, pt_query_info::q, pt_statement_info::query, parser_context::query_trace, and pt_query_info::select.
PT_NODE* pt_make_query_showstmt | ( | PARSER_CONTEXT * | parser, |
unsigned int | type, | ||
PT_NODE * | args, | ||
int | like_where_syntax, | ||
PT_NODE * | where_cond | ||
) |
Definition at line 6299 of file parser_support.c.
References showstmt_metadata::alias_print, ARG_FILE_LINE, showstmt_metadata::arg_size, showstmt_metadata::args, assert, au_is_dba_group_member(), Au_user, showstmt_metadata::cols, DB_AUTH_NONE, pt_spec_info::derived_table, pt_spec_info::derived_table_type, ER_AU_DBA_ONLY, ER_ERROR_SEVERITY, er_set(), error(), i, parser_node::info, pt_spec_info::join_type, pt_select_info::list, pt_spec_info::meta_class, showstmt_column::name, showstmt_named_arg::name, NULL, showstmt_metadata::num_cols, showstmt_metadata::num_orderby, showstmt_metadata::only_for_dba, pt_query_info::order_by, showstmt_metadata::orderby, parser_append_node(), parser_free_tree(), parser_new_node(), pt_add_table_name_to_from_list(), PT_ASC, PT_DESC, PT_IS_SHOWSTMT, PT_JOIN_NONE, pt_make_like_col_expr(), pt_make_sort_spec_with_number(), PT_MISC_NONE, pt_resolve_showstmt_args_named(), pt_resolve_showstmt_args_unnamed(), PT_SELECT, PT_SELECT_INFO_READ_ONLY, PT_SELECT_INFO_SET_FLAG, PT_SHOWSTMT, PT_TYPE_STAR, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_showstmt_info::show_args, pt_showstmt_info::show_type, pt_statement_info::showstmt, showstmt_get_metadata(), pt_statement_info::spec, parser_node::type_enum, and pt_select_info::where.
PT_NODE* pt_make_string_value | ( | PARSER_CONTEXT * | parser, |
const char * | value_string | ||
) |
Definition at line 193 of file parser_support.c.
References pt_value_info::data_value, parser_node::info, NULL, parser_new_node(), pt_append_bytes(), PT_NODE_PRINT_VALUE_TO_TEXT, PT_TYPE_CHAR, PT_TYPE_NULL, PT_VALUE, pt_data_value::str, pt_value_info::string_type, strlen, parser_node::type_enum, and pt_statement_info::value.
Referenced by do_get_prepared_statement_info(), pt_add_string_col_to_sel_list(), pt_check_default_vclass_query_spec(), pt_check_union_type_compatibility_of_values_query(), pt_domain_to_data_type(), pt_find_attr_in_class_list(), pt_make_collection_type_subquery_node(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_if_with_strings(), pt_make_pred_name_string_val(), pt_make_query_show_collation(), pt_make_query_show_grants(), pt_resolve_default_value(), pt_resolve_showstmt_args_named(), pt_resolve_showstmt_args_unnamed(), pt_to_pred_expr_local_with_arg(), and qo_allocate_like_bound_for_index_scan().
PT_NODE* pt_make_tuple_value_reference | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | name, | ||
PT_NODE * | select_list, | ||
CURSOR_ID * | cursor_p | ||
) |
Definition at line 8515 of file parser_support.c.
References assert_release, parser_node::next, NULL, parser_copy_tree(), pt_check_path_eq(), PT_INTERNAL_ERROR, and pt_tuple_value().
Referenced by pt_append_odku_references().
void pt_mark_spec_list_for_delete | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 8279 of file parser_support.c.
References pt_statement_info::delete_, parser_node::info, pt_merge_info::into, pt_statement_info::merge, parser_node::next, parser_node::node_type, NULL, PT_DELETE, pt_find_spec_in_statement(), PT_INTERNAL_ERROR, PT_MERGE, pt_process_spec_for_delete(), and pt_delete_info::target_classes.
Referenced by mq_rewrite_upd_del_top_level_specs(), mq_translate_delete(), and mq_translate_merge().
void pt_mark_spec_list_for_update | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 8326 of file parser_support.c.
References pt_expr_info::arg1, pt_dot_info::arg2, pt_update_info::assignment, pt_merge_info::assignment, pt_statement_info::dot, pt_statement_info::expr, parser_node::info, pt_merge_info::into, pt_statement_info::merge, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, PT_DOT_, PT_EXPR, pt_find_spec_in_statement(), PT_INTERNAL_ERROR, PT_MERGE, PT_NAME, pt_process_spec_for_update(), PT_UPDATE, pt_update_info::spec, pt_merge_info::update, and pt_statement_info::update.
Referenced by mq_rewrite_upd_del_top_level_specs(), mq_translate_merge(), and mq_translate_update().
MISC_OPERAND pt_misc_to_qp_misc_operand | ( | PT_MISC_TYPE | misc_specifier | ) |
Definition at line 91 of file parse_dbi.c.
References BOTH, DAY, HOUR, LEADING, MILLISECOND, MINUTE, MONTH, PT_BOTH, PT_DAY, PT_HOUR, PT_LEADING, PT_MILLISECOND, PT_MINUTE, PT_MONTH, PT_SECOND, PT_SUBSTR, PT_SUBSTR_ORG, PT_TRAILING, PT_YEAR, SECOND, SUBSTR, SUBSTRING, TRAILING, and YEAR.
Referenced by pt_evaluate_db_value_expr(), and pt_to_misc_operand().
PT_NODE* pt_name | ( | PARSER_CONTEXT * | parser_ptr, |
const char * | name | ||
) |
Definition at line 302 of file parser_support.c.
References parser_node::info, pt_statement_info::name, NULL, pt_name_info::original, parser_new_node(), pt_append_string(), and PT_NAME.
Referenced by char_array_to_name_list(), create_select_to_insert_into(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), mq_make_derived_spec(), mq_new_spec(), mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), mq_rewrite_order_dependent_nodes(), mq_rewrite_order_dependent_query(), mq_rewrite_query_as_derived(), pt_add_table_name_to_from_list(), pt_check_union_type_compatibility_of_values_query(), pt_copy_data_type_entity(), pt_derive_attribute(), pt_expand_external_path(), pt_filter_pseudo_specs(), pt_find_class_of_index(), pt_fix_first_term_expr_for_iss(), pt_fold_const_expr(), pt_function_name_is_spec_attr(), pt_get_all_attributes_and_types(), pt_get_all_json_table_attributes_and_types(), pt_get_all_showstmt_attributes_and_types(), pt_get_attr_list_of_derived_table(), pt_get_attributes(), pt_get_object_data_type(), pt_get_resolution(), pt_make_dotted_identifier_internal(), pt_make_field_key_type_expr_node(), pt_make_field_type_expr_node(), pt_make_flat_name_list(), pt_make_outer_select_for_show_columns(), pt_make_outer_select_for_show_stmt(), pt_make_query_user_groups(), pt_make_subclass_list(), pt_replace_names_index_expr(), pt_resolve_correlation(), pt_resolve_star(), pt_resolve_star_reserved_names(), pt_rewrite_derived_for_upd_del(), pt_select_list_to_one_col(), pt_semantic_check_local(), pt_spec_to_oid_attr(), pt_to_delete_xasl(), pt_to_false_subquery(), qo_convert_attref_to_dotexpr(), qo_make_new_derived_tblspec(), and replace_names_alter_chg_attr().
Definition at line 524 of file parser_support.c.
References CAST_POINTER_TO_NODE, parser_node::data_type, parser_node::info, intl_identifier_casecmp(), pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, pt_name_info::original, pt_datatypes_match(), PT_NAME, PT_NORMAL, PT_SHARED, and pt_name_info::spec_id.
Referenced by do_replace_names_for_insert_values_pre(), lookup_seg(), mq_lambda_node(), mq_lookup_symbol(), mq_rewrite_agg_names(), mq_rewrite_order_dependent_nodes(), mq_substitute_path_pre(), mq_update_order_by(), pt_find_attribute(), pt_find_name(), pt_find_only_name_id(), pt_get_resolution(), pt_has_non_groupby_column_node(), pt_lambda_check_reduce_eq(), pt_lambda_node(), pt_no_double_insert_assignments(), pt_process_spec_for_update(), pt_replace_referenced_attributes(), pt_resolve_cte_specs(), pt_resolve_spec_to_cte(), pt_set_orderby_for_sort_limit_plan(), pt_sort_spec_cover_groupby(), pt_substitute_assigned_name_node(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_pos_descr(), pt_to_pos_descr_groupby(), pt_to_update_xasl(), qo_check_plan_index_for_multi_range_opt(), qo_collect_name_spec(), qo_converse_sarg_terms(), qo_reduce_equality_terms(), and qo_reduce_order_by().
int pt_name_occurs_in_from_list | ( | PARSER_CONTEXT * | parser, |
const char * | name, | ||
PT_NODE * | from_list | ||
) |
Definition at line 1545 of file compile.c.
References i, parser_node::info, intl_identifier_casecmp(), pt_statement_info::name, parser_node::next, NULL, pt_name_info::original, pt_spec_info::range_var, and pt_statement_info::spec.
Referenced by mq_regenerate_if_ambiguous(), and pt_get_unique_exposed_name().
PT_OP_TYPE pt_negate_op | ( | PT_OP_TYPE | op | ) |
Definition at line 21155 of file type_checking.c.
References PT_BETWEEN, PT_EQ, PT_EQ_ALL, PT_EQ_SOME, PT_GE, PT_GE_ALL, PT_GE_SOME, PT_GT, PT_GT_ALL, PT_GT_SOME, PT_IS, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LIKE, PT_LT, PT_LT_ALL, PT_LT_SOME, PT_NE, PT_NE_ALL, PT_NE_SOME, PT_NOT_BETWEEN, PT_NOT_LIKE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_RLIKE, PT_RLIKE_BINARY, PT_SETEQ, and PT_SETNEQ.
Referenced by pt_and_or_form(), and pt_negate_expr().
DB_QUERY_RESULT* pt_new_query_result_descriptor | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query | ||
) |
Definition at line 1032 of file query_result.c.
References cursor_id::buffer, db_select_result::cache_time, parser_node::cache_time, db_query_result::col_cnt, pt_execute_info::column_count, CUBRID_STMT_SELECT, cursor_free_self_list_id, db_select_result::cursor_id, cursor_open(), db_alloc_query_result(), db_free_query_result(), db_init_query_result(), parser_node::etc, EXCLUDE_HIDDEN_COLUMNS, pt_statement_info::execute, parser_context::flag, db_select_result::holdable, if(), parser_node::info, parser_context::is_holdable, cursor_id::list_id, parser_node::node_type, NULL, db_query_result::oid_included, pt_query_info::oids_included, pt_execute_info::oids_included, PT_DIFFERENCE, PT_EXECUTE_PREPARE, pt_get_select_list(), PT_INSERT, PT_INTERSECTION, pt_length_of_select_list(), PT_SELECT, PT_UNION, QFILE_CLEAR_LIST_ID, pt_statement_info::query, cursor_id::query_id, db_select_result::query_id, parser_context::query_id, db_query_result::res, db_query_result::s, db_select_result::stmt_id, db_select_result::stmt_type, pt_execute_info::stmt_type, T_SELECT, qfile_tuple_record::tpl, cursor_id::tuple_record, db_query_result::type, and db_query_result::type_cnt.
Referenced by db_execute_and_keep_statement_local().
void pt_no_attr_and_meta_attr_updates | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
Definition at line 11888 of file semantic_check.c.
References parser_node::info, pt_assignments_helper::lhs, pt_name_info::meta_class, MSGCAT_SEMANTIC_UPDATE_MIX_CLASS_NON_CLASS, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NULL, PT_ERRORm, pt_get_assignments(), pt_get_next_assignment(), pt_init_assignments_helper(), and PT_META_ATTR.
Referenced by mq_check_merge(), and mq_check_update().
void pt_no_double_insert_assignments | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
Definition at line 11927 of file semantic_check.c.
References assert, pt_insert_info::attr_list, pt_spec_info::entity_name, er_msg(), parser_node::info, pt_statement_info::insert, MSGCAT_SEMANTIC_GT_1_ASSIGNMENT_TO, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, PT_ERROR, PT_ERRORmf2, PT_INSERT, pt_name_equal(), pt_insert_info::spec, and pt_statement_info::spec.
Referenced by mq_translate_insert(), and pt_bind_names().
void pt_no_double_updates | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
Definition at line 11979 of file semantic_check.c.
References pt_expr_info::arg1, assert, CASE_INSENSITIVE, pt_statement_info::expr, parser_node::info, MSGCAT_SEMANTIC_GT_1_ASSIGNMENT_TO, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, pt_name_info::original, PT_ASSIGN, PT_ERRORmf2, PT_EXPR, pt_get_assignments(), PT_INTERNAL_ERROR, PT_IS_N_COLUMN_UPDATE_EXPR, PT_NAME, pt_str_compare(), pt_name_info::resolved, and pt_name_info::spec_id.
Referenced by mq_check_merge(), mq_check_update(), pt_check_odku_assignments(), and pt_semantic_check_local().
DB_DOMAIN* pt_node_data_type_to_db_domain | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | dt, | ||
PT_TYPE_ENUM | type | ||
) |
Definition at line 2029 of file parse_dbi.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, parser_varchar::bytes, tp_domain::class_mop, tp_domain::codeset, tp_domain::collation_flag, pt_data_type_info::collation_flag, tp_domain::collation_id, db_enumeration::collation_id, pt_data_type_info::collation_id, db_enumeration::count, pt_statement_info::data_type, DB_DEFAULT_PRECISION, db_find_class(), db_json_load_validator(), DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ELO, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, pt_data_type_info::dec_precision, DOM_SET_ENUM_ELEMENTS, DOM_SET_ENUM_ELEMS_COUNT, db_enumeration::elements, pt_data_type_info::entity, tp_domain::enumeration, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_SM_DOMAIN_NOT_A_CLASS, error(), parser_node::info, pt_data_type_info::json_schema, tp_domain::json_validator, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_varchar::length, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, tp_domain::precision, pt_data_type_info::precision, pt_data_type_to_db_domain(), pt_get_enumeration_from_data_type(), PT_NAME, pt_type_enum_to_db(), pt_type_enum_to_db_domain(), tp_domain::scale, tp_domain::self_ref, tp_domain_add(), tp_domain_clear_enumeration(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, tp_domain_construct(), tp_domain_new(), parser_node::type_enum, pt_data_type_info::units, and pt_data_type_info::virt_object.
Referenced by pt_coerce_value_internal(), and pt_to_regu_variable().
Definition at line 2572 of file parser_support.c.
References parser_node::etc, and NULL.
Referenced by db_execute_and_keep_statement_local(), and pt_count_ctes_post().
PT_NODE* pt_node_list | ( | PARSER_CONTEXT * | parser_ptr, |
PT_MISC_TYPE | list_type, | ||
PT_NODE * | list | ||
) |
Definition at line 395 of file parser_support.c.
References parser_node::info, pt_node_list_info::list, pt_node_list_info::list_type, pt_statement_info::node_list, parser_new_node(), and PT_NODE_LIST.
Referenced by create_select_to_insert_into().
int pt_node_list_to_array | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | arg_list, | ||
PT_NODE * | arg_array[], | ||
const int | array_size, | ||
int * | num_args | ||
) |
Definition at line 4412 of file parser_support.c.
References assert, ER_GENERIC_ERROR, error(), parser_node::next, NO_ERROR, and NULL.
Referenced by pt_eval_function_type_old().
Definition at line 2540 of file parser_support.c.
References parser_node::etc, parser_node::next, and NULL.
Referenced by db_marker_next(), db_parameter_next(), and pmeta_get_info_internal().
CUBRID_STMT_TYPE pt_node_to_cmd_type | ( | PT_NODE * | node | ) |
Definition at line 2736 of file parse_dbi.c.
References assert, CUBRID_STMT_GET_ISO_LVL, CUBRID_STMT_GET_TIMEOUT, CUBRID_STMT_KILL, CUBRID_STMT_NONE, CUBRID_STMT_SELECT, pt_statement_info::get_xaction, parser_node::info, parser_node::node_type, NULL, pt_get_xaction_info::option, PT_DIFFERENCE, PT_GET_XACTION, PT_INTERSECTION, PT_ISOLATION_LEVEL, PT_KILL_STMT, PT_LAST_NODE_NUMBER, PT_LOCK_TIMEOUT, PT_SELECT, and PT_UNION.
Referenced by db_compile_statement_local(), db_execute_and_keep_statement_local(), db_get_query_type_list(), db_get_statement_type(), do_execute_session_statement(), do_get_prepared_statement_info(), do_process_prepare_statement(), pt_free_query_etc_area(), pt_get_select_query_columns(), and set_prepare_info_into_list().
DB_DOMAIN* pt_node_to_db_domain | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
const char * | class_name | ||
) |
Definition at line 2244 of file parse_dbi.c.
References assert, CAST_POINTER_TO_NODE, parser_node::data_type, DB_TYPE_MIDXKEY, DB_TYPE_MULTISET, DB_TYPE_SEQUENCE, DB_TYPE_SET, er_errid(), error(), parser_node::next, NO_ERROR, pt_data_type_to_db_domain(), pt_type_enum_to_db(), pt_type_enum_to_db_domain(), tp_domain_add(), tp_domain_attach(), tp_domain_construct(), and parser_node::type_enum.
Referenced by build_attr_change_map(), db_marker_domain(), do_add_attribute(), do_add_methods(), do_change_att_schema_only(), pt_coerce_insert_values(), pt_data_type_to_db_domain(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_tree_internal(), pt_value_to_db(), pt_xasl_node_to_domain(), qo_reduce_equality_terms(), and qo_seg_width().
Definition at line 2224 of file parse_dbi.c.
References assert, parser_node::data_type, NULL, pt_data_type_to_db_domain_name(), pt_type_enum_to_db_domain_name(), PT_TYPE_OBJECT, and parser_node::type_enum.
Referenced by do_alter_one_clause_with_template(), and pt_value_to_db().
Definition at line 2453 of file parse_dbi.c.
References CAST_POINTER_TO_NODE, pt_statement_info::data_type, parser_node::data_type, DB_TYPE_NULL, DB_TYPE_OBJECT, DB_TYPE_VOBJ, parser_node::info, pt_type_enum_to_db(), parser_node::type_enum, and pt_data_type_info::virt_object.
Referenced by db_get_query_type_list(), pt_attribute_to_regu(), pt_check_and_replace_hostvar(), pt_check_enum_data_type(), pt_function_to_regu(), pt_to_aggregate_node(), pt_to_analytic_node(), pt_to_pred_expr_local_with_arg(), and pt_to_regu_variable().
void pt_null_etc | ( | PT_NODE * | node | ) |
Definition at line 2587 of file parser_support.c.
References parser_node::etc, and NULL.
Referenced by db_execute_and_keep_statement_local(), do_execute_do(), do_select_internal(), and pt_count_ctes_post().
int pt_null_where | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
PT_OP_TYPE pt_op_type_from_default_expr | ( | DB_DEFAULT_EXPR_TYPE | expr_type | ) |
PT_OP_TYPE pt_op_type_from_default_expr_type | ( | DB_DEFAULT_EXPR_TYPE | expr_type | ) |
Definition at line 9188 of file name_resolution.c.
References DB_DEFAULT_CURR_USER, DB_DEFAULT_CURRENTDATE, DB_DEFAULT_CURRENTDATETIME, DB_DEFAULT_CURRENTTIME, DB_DEFAULT_CURRENTTIMESTAMP, DB_DEFAULT_SYSDATE, DB_DEFAULT_SYSDATETIME, DB_DEFAULT_SYSTIME, DB_DEFAULT_SYSTIMESTAMP, DB_DEFAULT_UNIX_TIMESTAMP, DB_DEFAULT_USER, PT_CURRENT_DATE, PT_CURRENT_DATETIME, PT_CURRENT_TIME, PT_CURRENT_TIMESTAMP, PT_CURRENT_USER, PT_SYS_DATE, PT_SYS_DATETIME, PT_SYS_TIME, PT_SYS_TIMESTAMP, PT_UNIX_TIMESTAMP, and PT_USER.
Referenced by check_default_on_update_clause(), pt_append_omitted_on_update_expr_assignments(), pt_check_default_vclass_query_spec(), pt_find_attr_in_class_list(), pt_resolve_default_value(), and pt_sm_attribute_default_value_to_node().
const char* pt_partition_name | ( | PARSER_CONTEXT * | parser, |
const char * | class_name, | ||
const char * | partition | ||
) |
Definition at line 9266 of file parser_support.c.
References MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NULL, PARTITIONED_SUB_CLASS_TAG, pt_append_string(), PT_ERRORm, and strlen.
Referenced by pt_find_lck_class_from_partition(), and pt_resolve_partition_spec().
PT_NODE* pt_point | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | tree | ||
) |
Definition at line 1229 of file parse_tree_cl.c.
References CAST_POINTER_TO_NODE, parser_node::column_number, parser_node::info, parser_node::line_number, pt_pointer_info::node, NULL, parser_new_node(), pt_statement_info::pointer, PT_NODE_POINTER, and pt_lambda_arg::tree.
Referenced by check_for_cons(), gen_outer(), make_namelist_from_projected_segs(), make_pred_from_bitset(), parser_get_tree_list_diff(), pt_get_pred_attrs(), pt_make_aptr_parent_node(), pt_point_l(), pt_point_ref(), pt_pointer_stack_push(), pt_resolve_spec_to_cte(), pt_set_orderby_for_sort_limit_plan(), pt_split_attrs(), pt_to_aggregate_node(), pt_to_buildlist_proc(), pt_to_index_attrs(), pt_to_list_key(), pt_to_range_key(), pt_to_rangelist_key(), pt_to_single_key(), qo_check_iscan_for_multi_range_opt(), qo_collect_name_spec(), qo_converse_sarg_terms(), qo_plan_compute_iscan_sort_list(), and update_check_for_constraints().
PT_NODE* pt_point_l | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | tree | ||
) |
Definition at line 1268 of file parse_tree_cl.c.
References parser_node::next, NULL, parser_append_node(), parser_free_tree(), pt_point(), and pt_lambda_arg::tree.
Referenced by pt_make_aptr_parent_node().
PT_NODE* pt_point_ref | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 1314 of file parse_tree_cl.c.
References parser_node::info, NULL, pt_statement_info::pointer, pt_point(), PT_POINTER_REF, and pt_pointer_info::type.
Referenced by pt_expand_analytic_node(), and pt_to_analytic_final_node().
PT_NODE* pt_pointer_stack_pop | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stack, | ||
PT_NODE ** | node | ||
) |
Definition at line 1370 of file parse_tree_cl.c.
References parser_node::info, parser_node::next, pt_pointer_info::node, NULL, parser_free_tree(), pt_statement_info::pointer, and PT_INTERNAL_ERROR.
Referenced by mq_rewrite_agg_names_post(), mq_rewrite_aggregate_as_derived(), pt_find_aggregate_functions_post(), and qo_optimize_queries().
PT_NODE* pt_pointer_stack_push | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stack, | ||
PT_NODE * | node | ||
) |
Definition at line 1334 of file parse_tree_cl.c.
References MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, NULL, PT_ERRORm, and pt_point().
Referenced by mq_rewrite_agg_names(), mq_rewrite_aggregate_as_derived(), pt_find_aggregate_functions_pre(), and qo_optimize_queries().
PT_NODE* pt_pop | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 1638 of file parse_tree_cl.c.
References parser_context::node_stack, NULL, and parser_context::stack_top.
Referenced by pt_make_query_show_exec_stats(), pt_make_query_show_exec_stats_all(), and pt_rewrite_set_eq_set().
int pt_prepare_count_optim_classes | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt | ||
) |
void pt_preset_hostvar | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | hv_node | ||
) |
Definition at line 8484 of file type_checking.c.
References parser_node::expected_domain, pt_statement_info::host_var, parser_context::host_var_count, parser_context::host_var_expected_domains, pt_host_var_info::index, parser_node::info, and pt_hv_consistent_data_type_with_domain().
Referenced by pt_assignment_compatible(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_eval_expr_type(), pt_eval_type(), and pt_wrap_collection_with_cast_op().
char* pt_print_alias | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2608 of file parse_tree_cl.c.
References NULL, and pt_print_bytes_alias().
Referenced by pt_get_node_title().
PARSER_VARCHAR* pt_print_and_list | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2764 of file parse_tree_cl.c.
References pt_statement_info::expr, parser_context::flag, parser_node::info, parser_context::is_in_and_list, parser_node::next, parser_node::node_type, NULL, parser_node::or_next, pt_expr_info::paren_type, pt_append_nulstring(), pt_append_varchar(), PT_EXPR, and pt_print_bytes().
Referenced by pt_print_alter_index(), pt_print_bytes(), pt_print_check_option(), pt_print_create_index(), pt_print_delete(), pt_print_drop_index(), pt_print_insert(), pt_print_merge(), pt_print_select(), pt_print_spec(), and pt_print_update().
PARSER_VARCHAR* pt_print_bytes | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2268 of file parse_tree_cl.c.
References CAST_POINTER_TO_NODE, parser_node::flag, parser_context::flag, parser_node::is_cnf_start, parser_context::is_in_and_list, parser_node::node_type, NULL, PT_LAST_NODE_NUMBER, pt_print_and_list(), and pt_print_f.
Referenced by create_or_drop_index_helper(), do_recreate_filter_index_constr(), do_replicate_statement(), parser_print_tree(), parser_print_tree_with_quotes(), pt_fold_const_expr(), pt_get_attr_list_of_derived_table(), pt_print_alter(), pt_print_alter_index(), pt_print_alter_one_clause(), pt_print_alter_serial(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_alter_user(), pt_print_and_list(), pt_print_attr_def(), pt_print_attr_ordering(), pt_print_auto_increment(), pt_print_bytes_alias(), pt_print_bytes_l(), pt_print_bytes_spec_list(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_index(), pt_print_create_serial(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_create_user(), pt_print_data_default(), pt_print_datatype(), pt_print_delete(), pt_print_difference(), pt_print_dot(), pt_print_drop_index(), pt_print_drop_serial(), pt_print_drop_user(), pt_print_evaluate(), pt_print_event_spec(), pt_print_event_target(), pt_print_expr(), pt_print_file_path(), pt_print_function(), pt_print_get_opt_lvl(), pt_print_get_stats(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_host_var(), pt_print_index_columns(), pt_print_insert(), pt_print_intersection(), pt_print_isolation_lvl(), pt_print_json_table(), pt_print_json_table_column_info(), pt_print_json_table_node(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_name(), pt_print_named_arg(), pt_print_partition(), pt_print_parts(), pt_print_range_op(), pt_print_rename(), pt_print_rename_trigger(), pt_print_resolution(), pt_print_rollback_work(), pt_print_savepoint(), pt_print_scope(), pt_print_select(), pt_print_session_variables(), pt_print_set_names(), pt_print_set_opt_lvl(), pt_print_set_sys_params(), pt_print_set_timezone(), pt_print_set_trigger(), pt_print_sort_spec(), pt_print_sp_parameter(), pt_print_spec(), pt_print_timeout(), pt_print_trigger_action(), pt_print_union_stmt(), and pt_print_update().
PARSER_VARCHAR* pt_print_bytes_alias | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2244 of file parse_tree_cl.c.
References parser_node::alias_print, NULL, pt_append_name(), and pt_print_bytes().
Referenced by pt_print_alias(), and pt_print_pointer().
PARSER_VARCHAR* pt_print_bytes_l | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2314 of file parse_tree_cl.c.
References pt_string_block::body, parser_node::flag, parser_node::is_cnf_start, pt_string_block::length, parser_context::max_print_len, parser_node::next, NULL, pt_append_nulstring(), pt_print_bytes(), pt_string_block::size, and strcat_with_realloc().
Referenced by parser_print_tree_list(), pt_print_alter_one_clause(), pt_print_alter_stored_procedure(), pt_print_alter_trigger(), pt_print_attr_def(), pt_print_auth_cmd(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_stored_procedure(), pt_print_cte(), pt_print_datatype(), pt_print_delete(), pt_print_difference(), pt_print_do(), pt_print_drop(), pt_print_drop_stored_procedure(), pt_print_drop_trigger(), pt_print_drop_variable(), pt_print_execute_trigger(), pt_print_expr(), pt_print_function(), pt_print_get_stats(), pt_print_grant(), pt_print_index_columns(), pt_print_insert(), pt_print_insert_value(), pt_print_intersection(), pt_print_merge(), pt_print_method_call(), pt_print_method_def(), pt_print_node_list(), pt_print_partition(), pt_print_parts(), pt_print_remove_trigger(), pt_print_revoke(), pt_print_select(), pt_print_set_session_variables(), pt_print_set_xaction(), pt_print_showstmt(), pt_print_spec(), pt_print_table_option(), pt_print_trigger_spec_list(), pt_print_truncate(), pt_print_union_stmt(), pt_print_update(), pt_print_update_stats(), and pt_print_value().
PARSER_VARCHAR* pt_print_bytes_spec_list | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2385 of file parse_tree_cl.c.
References parser_node::info, pt_spec_info::join_type, parser_node::next, parser_node::node_type, pt_append_bytes(), pt_append_varchar(), PT_JOIN_CROSS, PT_JOIN_FULL_OUTER, PT_JOIN_INNER, PT_JOIN_LEFT_OUTER, PT_JOIN_NONE, PT_JOIN_RIGHT_OUTER, pt_print_bytes(), PT_SPEC, and pt_statement_info::spec.
Referenced by pt_print_delete(), pt_print_merge(), pt_print_select(), and pt_print_update().
PARSER_VARCHAR* pt_print_db_value | ( | PARSER_CONTEXT * | parser, |
const struct db_value * | val | ||
) |
Definition at line 2507 of file parse_tree_cl.c.
References parser_context::custom_print, db_get_monetary(), db_get_set(), db_set_get(), db_set_size(), DB_TYPE_BIT, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_OBJECT, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_VALUE_TYPE, db_value_printer::describe_money(), db_value_printer::describe_value(), error(), string_buffer::get_buffer(), i, NO_ERROR, NULL, pt_append_nulstring(), pt_db_to_type_enum(), PT_PAD_BYTE, and pt_show_type_enum().
Referenced by do_replicate_statement(), pt_print_insert_value(), pt_print_json_table_column_error_or_empty_behavior(), and pt_print_node_value().
PARSER_VARCHAR* pt_print_node_value | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | val | ||
) |
Definition at line 2438 of file parse_tree_cl.c.
References parser_context::custom_print, db_get_object(), db_get_set(), DB_TYPE_OBJECT, DB_TYPE_VOBJ, DB_VALUE_DOMAIN_TYPE, er_msg(), error(), parser_node::expr_before_const_folding, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, PT_ERRORc, PT_HOST_VAR, PT_NAME, PT_PARAMETER, pt_print_db_value(), PT_PRINT_ORIGINAL_BEFORE_CONST_FOLDING, PT_TYPE_OBJECT, PT_VALUE, pt_value_to_db(), set_get_setobj(), setobj_get_element_ptr(), parser_node::type_enum, and vid_get_keys().
Referenced by qo_scan_fprint(), qo_scan_info(), and qo_term_dump().
char* pt_print_query_spec_no_list | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | node | ||
) |
Definition at line 2810 of file parse_tree_cl.c.
References parser_context::custom_print, parser_print_tree_with_quotes(), PT_CHARSET_COLLATE_FULL, PT_SUPPRESS_INTO, and PT_SUPPRESS_SELECT_LIST.
Referenced by emit_query_specs(), and emit_query_specs_has_using_index().
int pt_push | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | q | ||
) |
Definition at line 1591 of file parse_tree_cl.c.
References DELTA, INITIAL_EXTENT, parser_context::node_stack, parser_alloc(), parser_context::stack_size, and parser_context::stack_top.
Referenced by pt_rewrite_set_eq_set().
void pt_put_type_enum | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
PT_NODE * | data_type | ||
) |
int pt_quick_resolve_names | ( | PARSER_CONTEXT * | parser, |
PT_NODE ** | spec, | ||
PT_NODE ** | node, | ||
SEMANTIC_CHK_INFO * | sc_info | ||
) |
Definition at line 7138 of file name_resolution.c.
References assert, scopes::correlation_level, ER_FAILED, extra_specs_frame::extra_specs, pt_flat_spec_info::for_update, scopes::location, extra_specs_frame::next, scopes::next, NO_ERROR, NULL, parser_walk_tree(), pt_bind_names(), pt_bind_names_post(), pt_flat_spec_pre(), pt_bind_names_arg::sc_info, pt_bind_names_arg::scopes, pt_bind_names_arg::spec_frames, pt_flat_spec_info::spec_parent, and scopes::specs.
Referenced by pt_semantic_quick_check_node().
bool pt_recompile_for_limit_optimizations | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
int | xasl_flag | ||
) |
Definition at line 9458 of file parser_support.c.
References db_get_bigint(), DB_IS_NULL, MRO_CANDIDATE, MRO_IS_USED, NO_ERROR, prm_get_integer_value(), PRM_ID_MULTI_RANGE_OPT_LIMIT, PRM_ID_SORT_LIMIT_MAX_COUNT, pt_get_query_limit_value(), SORT_LIMIT_CANDIDATE, and SORT_LIMIT_USED.
Referenced by db_check_limit_need_recompile(), and do_prepare_select().
void pt_record_error | ( | PARSER_CONTEXT * | parser, |
int | stmt_no, | ||
int | line_no, | ||
int | col_no, | ||
const char * | msg, | ||
const char * | context | ||
) |
Definition at line 1935 of file parse_tree_cl.c.
References parser_node::column_number, PT_ZZ_ERROR_MSG_INFO::error_message, pt_statement_info::error_msg, parser_context::error_msgs, parser_node::info, parser_node::line_number, MAX_PRINT_ERROR_CONTEXT_LENGTH, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SET_PARSER_SYNTAX, MSGCAT_SYNTAX_BEFORE_CONTEXT, MSGCAT_SYNTAX_BEFORE_END_OF_STMT, NULL, parser_allocate_string_buffer(), parser_append_node(), parser_new_node(), pt_append_string(), pt_has_error, PT_INTERNAL_ERROR, PT_ZZ_ERROR_MSG, PT_ZZ_ERROR_MSG_INFO::statement_number, and strlen.
Referenced by do_alter_change_col_comment(), do_alter_change_default_cs_coll(), do_alter_change_tbl_comment(), do_alter_clause_change_attribute(), do_alter_one_clause_with_template(), do_execute_merge(), do_execute_update(), do_merge(), do_prepare_delete(), do_prepare_merge(), do_prepare_update(), do_update(), mq_copy_view_error_msgs(), pt_frob_error(), and validate_attribute_domain().
void pt_record_warning | ( | PARSER_CONTEXT * | parser, |
int | stmt_no, | ||
int | line_no, | ||
int | col_no, | ||
const char * | msg | ||
) |
Definition at line 2606 of file parser_support.c.
References parser_node::column_number, PT_ZZ_ERROR_MSG_INFO::error_message, pt_statement_info::error_msg, parser_node::info, parser_node::line_number, NULL, parser_append_node(), parser_new_node(), pt_append_string(), PT_ZZ_ERROR_MSG, PT_ZZ_ERROR_MSG_INFO::statement_number, and parser_context::warnings.
Referenced by pt_frob_warning().
void pt_register_orphan | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | orphan | ||
) |
Definition at line 3427 of file parser_support.c.
References pt_expr_info::arg1, assert_release, pt_statement_info::expr, parser_node::info, parser_node::node_type, pt_expr_info::op, parser_context::orphans, parser_append_node(), parser_new_node(), PT_EXPR, PT_LAST_NODE_NUMBER, and PT_NOT.
Referenced by pt_check_with_info(), and pt_semantic_check_local().
void pt_register_orphan_db_value | ( | PARSER_CONTEXT * | parser, |
const DB_VALUE * | orphan | ||
) |
Definition at line 3456 of file parser_support.c.
References pt_value_info::db_value, pt_value_info::db_value_is_in_workspace, parser_node::info, parser_context::orphans, parser_append_node(), parser_new_node(), PT_VALUE, and pt_statement_info::value.
Referenced by pt_add_pseudocolumns_placeholders(), pt_make_regu_constant(), pt_to_aggregate_node(), and setof_mop_to_setof_vobj().
PT_NODE* pt_remove_from_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
PT_NODE * | list | ||
) |
Definition at line 12559 of file semantic_check.c.
References parser_node::next, NULL, and parser_free_tree().
Referenced by pt_check_analytic_function(), pt_check_function_index_expr(), pt_check_order_by(), and qo_reduce_order_by().
void pt_report_to_ersys | ( | const PARSER_CONTEXT * | parser, |
const PT_ERROR_TYPE | error_type | ||
) |
Definition at line 287 of file query_result.c.
References ARG_FILE_LINE, assert, er_errid(), ER_IS_LOCK_TIMEOUT_ERROR, ER_IS_SERVER_DOWN_ERROR, ER_PT_EXECUTE, ER_PT_SEMANTIC, ER_PT_SYNTAX, er_set(), ER_SYNTAX_ERROR_SEVERITY, err, PT_ZZ_ERROR_MSG_INFO::error_message, pt_statement_info::error_msg, parser_context::error_msgs, parser_node::info, NO_ERROR, parser_node::node_type, PT_EXECUTION, PT_SEMANTIC, PT_SYNTAX, and PT_ZZ_ERROR_MSG.
Referenced by call_method(), check_default_on_update_clause(), db_compile_statement_local(), db_execute_and_keep_statement_local(), db_push_values(), db_validate_query_spec(), do_alter_one_clause_with_template(), do_cast_host_variables_to_expected_domain(), do_create_entity(), do_evaluate(), do_execute_do(), do_insert(), do_prepare_select(), do_select_internal(), do_set_session_variables(), do_set_trigger(), get_att_default_from_def(), jsp_call_stored_procedure(), mq_evaluate_check_option(), mq_evaluate_expression(), mq_evaluate_expression_having_serial(), mq_fetch_one_real_class_get_cache(), mq_get_attribute(), mq_get_expression(), mq_update_attribute(), pt_eval_path_expr(), pt_make_aptr_parent_node(), pt_string_to_db_domain(), pt_to_delete_xasl(), pt_to_func_pred(), pt_to_insert_xasl(), pt_to_pred_with_context(), pt_to_update_xasl(), and pt_validate_query_spec().
void pt_report_to_ersys_with_statement | ( | PARSER_CONTEXT * | parser, |
const PT_ERROR_TYPE | error_type, | ||
PT_NODE * | statement | ||
) |
Definition at line 338 of file query_result.c.
References parser_node::alias_print, ARG_FILE_LINE, assert, er_errid(), ER_IS_LOCK_TIMEOUT_ERROR, ER_IS_SERVER_DOWN_ERROR, ER_PT_EXECUTE, ER_PT_SEMANTIC, ER_PT_SYNTAX, er_set(), ER_SYNTAX_ERROR_SEVERITY, err, PT_ZZ_ERROR_MSG_INFO::error_message, pt_statement_info::error_msg, parser_context::error_msgs, parser_node::info, NO_ERROR, parser_node::node_type, NULL, PT_CONVERT_RANGE, PT_EXECUTION, PT_NODE_PRINT_TO_ALIAS, PT_SEMANTIC, PT_SHORT_PRINT, PT_SYNTAX, and PT_ZZ_ERROR_MSG.
Referenced by db_compile_statement_local(), db_execute_and_keep_statement_local(), do_alter(), do_merge(), execute_create_select_query(), pt_build_do_stmt_aptr_list_pre(), pt_get_select_query_columns(), pt_node_to_partition_info(), pt_to_merge_insert_xasl(), pt_to_merge_update_xasl(), and pt_to_update_xasl().
void pt_reset_error | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 2637 of file parser_support.c.
References pt_query_info::all_distinct, pt_union_info::arg1, pt_union_info::arg2, pt_spec_info::derived_table, parser_context::error_msgs, pt_select_info::from, pt_select_info::group_by, parser_node::info, parser_node::next, parser_node::node_type, NULL, parser_context::oid_included, parser, parser_free_tree(), PT_DIFFERENCE, PT_DISTINCT, pt_has_aggregate(), pt_has_error, PT_INTERSECTION, PT_NO_OID_INCLUDED, PT_SELECT, PT_UNION, pt_query_info::q, pt_statement_info::query, pt_query_info::select, pt_statement_info::spec, and pt_query_info::union_.
Referenced by check_default_on_update_clause(), db_compile_statement_local(), db_execute_and_keep_statement_local(), db_push_values(), do_alter_one_clause_with_template(), do_cast_host_variables_to_expected_domain(), do_prepare_select(), do_select_internal(), eval_action(), get_att_default_from_def(), func_type::Node::get_signature(), and qo_rewrite_like_for_index_scan().
PT_NODE* pt_resolve_cte_specs | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | stmt, | ||
void * | arg, | ||
int * | continue_walk | ||
) |
Definition at line 8254 of file name_resolution.c.
References pt_query_info::all_distinct, pt_union_info::arg1, pt_union_info::arg2, assert, pt_statement_info::cte, pt_with_clause_info::cte_definition_list, pt_statement_info::delete_, pt_select_info::from, parser_node::info, pt_query_info::is_subquery, MSGCAT_SEMANTIC_CTE_NAME_AMBIGUITY, MSGCAT_SEMANTIC_INCORRECT_RECURSIVE_CTE, MSGCAT_SEMANTIC_INCORRECT_UNION_IN_CTE, MSGCAT_SEMANTIC_NESTED_WITH, MSGCAT_SET_PARSER_SEMANTIC, pt_cte_info::name, pt_statement_info::name, parser_node::next, parser_node::node_type, pt_cte_info::non_recursive_part, NULL, pt_cte_info::only_all, pt_name_info::original, parser_walk_tree(), PT_ALL, pt_count_ctes_post(), pt_count_with_clauses(), PT_DELETE, PT_DIFFERENCE, PT_ERRORm, PT_ERRORmf, PT_INTERNAL_ERROR, PT_INTERSECTION, PT_IS_CTE_NON_REC_SUBQUERY, PT_IS_CTE_REC_SUBQUERY, pt_name_equal(), pt_resolve_spec_to_cte(), pt_resolve_spec_to_cte_and_count(), PT_SELECT, PT_SPEC, PT_SPEC_IS_CTE, PT_SPEC_IS_ENTITY, PT_UNION, PT_UPDATE, pt_query_info::q, pt_statement_info::query, pt_cte_info::recursive_part, pt_query_info::select, pt_query_info::union_, pt_statement_info::update, pt_delete_info::with, pt_query_info::with, pt_update_info::with, and pt_statement_info::with_clause.
Referenced by pt_class_pre_fetch().
int pt_resolve_default_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | name | ||
) |
Definition at line 3265 of file name_resolution.c.
References assert, parser_node::data_type, pt_value_info::data_value, DB_DEFAULT_NONE, db_get_attribute_by_name(), DB_TYPE_ENUMERATION, sm_default_value::default_expr, db_default_expr::default_expr_format, db_default_expr::default_expr_op, db_default_expr::default_expr_type, sm_attribute::default_value, pt_name_info::default_value, sm_attribute::domain, ER_FAILED, pt_data_value::i, parser_node::info, lang_set_flag_from_lang(), pt_name_info::meta_class, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, NULL_DEFAULT_EXPRESSION_OPERATOR, pt_name_info::original, parser_free_tree(), parser_make_expression(), parser_new_node(), prm_get_string_value(), PRM_ID_INTL_DATE_LANG, pt_dbval_to_value(), pt_domain_to_data_type(), PT_ERRORm, pt_expression_0(), pt_make_string_value(), PT_META_CLASS, PT_NAME, PT_NAME_INFO_FILL_DEFAULT, PT_NAME_INFO_SET_FLAG, PT_OID_ATTR, pt_op_type_from_default_expr_type(), PT_TO_CHAR, PT_TYPE_INTEGER, PT_VALUE, pt_name_info::resolved, TP_DOMAIN_TYPE, parser_node::type_enum, sm_default_value::value, and pt_statement_info::value.
Referenced by do_replace_names_for_insert_values_pre().
PT_NODE* pt_resolve_names | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement, | ||
SEMANTIC_CHK_INFO * | sc_info | ||
) |
Definition at line 8014 of file name_resolution.c.
References assert, pt_spec_info::flag, pt_select_info::for_update, pt_flat_spec_info::for_update, pt_select_info::from, pt_statement_info::index, pt_index_info::index_name, parser_node::info, pt_merge_info::into, pt_statement_info::merge, MSGCAT_SEMANTIC_CLASS_DOES_NOT_EXIST, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, parser_free_tree(), parser_walk_tree(), PT_ALTER_INDEX, pt_bind_names(), pt_bind_names_post(), pt_continue_walk(), PT_CREATE_INDEX, PT_DROP_INDEX, PT_ERRORmf, pt_find_spec(), pt_flat_spec_pre(), pt_has_error, pt_mark_group_having_pt_name(), PT_MERGE, pt_resolve_group_having_alias(), pt_resolve_natural_join(), PT_SELECT, PT_SELECT_INFO_FOR_UPDATE, PT_SELECT_INFO_IS_FLAGED, PT_SPEC_FLAG_FOR_UPDATE_CLAUSE, pt_query_info::q, pt_statement_info::query, pt_bind_names_arg::sc_info, pt_bind_names_arg::scopes, pt_query_info::select, pt_statement_info::spec, pt_bind_names_arg::spec_frames, pt_flat_spec_info::spec_parent, and pt_merge_info::using_clause.
Referenced by db_execute_and_keep_statement_local(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), mq_resolve_insert_statement(), mq_translate_insert(), pt_check_order_by(), pt_check_with_info(), and pt_fix_first_term_func_index_for_iss().
void pt_resolve_object | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 8772 of file name_resolution.c.
References assert, parser_node::column_number, db_get_class(), db_get_class_name(), db_get_object(), DB_TYPE_OBJECT, DB_VALUE_TYPE, pt_spec_info::entity_name, pt_spec_info::id, parser_node::info, parser_node::line_number, pt_name_info::meta_class, MSGCAT_SEMANTIC_ARG_IS_NOT_AN_OBJECT, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SEMANTIC_UNDEFINED_ARGUMENT, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, pt_update_info::object, pt_update_info::object_parameter, pt_spec_info::only_all, pt_name_info::original, parser_copy_tree(), parser_new_node(), PT_CLASS, PT_ERRORm, PT_ERRORmf, pt_find_value_of_label(), PT_HOST_VAR, PT_INTERNAL_ERROR, PT_NAME, PT_ONLY, PT_PARAMETER, PT_SPEC, pt_value_to_db(), pt_spec_info::range_var, pt_name_info::resolved, pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, and pt_statement_info::update.
Referenced by pt_check_with_info().
DB_OBJECT* pt_resolve_serial | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | serial_name_node | ||
) |
Definition at line 9231 of file name_resolution.c.
References ARG_FILE_LINE, CT_SERIAL_NAME, do_get_serial_obj_id(), ER_ERROR_SEVERITY, ER_QPROC_SERIAL_NOT_FOUND, er_set(), parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, PT_NAME, and sm_find_class().
Referenced by pt_evaluate_tree_internal(), pt_serial_to_xasl_class_oid_list(), and pt_to_regu_variable().
PT_NODE* pt_resolve_star | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | from, | ||
PT_NODE * | attr | ||
) |
Definition at line 6302 of file name_resolution.c.
References parser_node::alias_print, pt_dot_info::arg1, pt_dot_info::arg2, pt_spec_info::as_attr_list, assert, db_get_attribute(), pt_name_info::db_object, pt_statement_info::dot, pt_spec_info::entity_name, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, parser_copy_tree(), parser_copy_tree_list(), parser_reinit_node(), pt_append_string(), pt_common_attribute(), PT_DOT_, pt_get_all_attributes_and_types(), pt_get_resolution(), pt_has_error, pt_name(), PT_NAME, PT_NAME_INFO_DOT_STAR, PT_NAME_INFO_EXTERNAL, PT_NAME_INFO_IS_FLAGED, PT_NAME_INFO_SET_FLAG, PT_NAME_INFO_STAR, pt_resolve_star_reserved_names(), PT_SHOULD_BIND_RESERVED_NAME, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, PT_TYPE_OBJECT, pt_spec_info::range_var, pt_name_info::resolved, pt_statement_info::spec, pt_name_info::spec_id, and parser_node::type_enum.
Referenced by mq_rewrite_aggregate_as_derived(), and pt_bind_names().
PT_NODE* pt_resolve_using_index | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | index, | ||
PT_NODE * | from | ||
) |
Definition at line 6901 of file name_resolution.c.
References assert, au_fetch_class(), AU_FETCH_READ, AU_SELECT, CASE_INSENSITIVE, classobj_find_class_index(), db_find_class(), pt_spec_info::entity_name, ER_AU_AUTHORIZATION_FAILURE, ER_AU_SELECT_FAILURE, er_errid(), er_msg(), parser_node::etc, pt_spec_info::id, sm_class_constraint::index_status, parser_node::info, pt_name_info::meta_class, MSGCAT_SEMANTIC_USING_INDEX_ERR_1, MSGCAT_SEMANTIC_USING_INDEX_ERR_2, MSGCAT_SEMANTIC_USING_INDEX_ERR_3, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, PT_ERRORc, PT_ERRORmf, PT_IDX_HINT_CLASS_NONE, PT_INDEX_NAME, PT_INTERNAL_ERROR, pt_short_print(), PT_SPEC, pt_str_compare(), pt_spec_info::range_var, pt_name_info::resolved, SM_INVISIBLE_INDEX, SM_NORMAL_INDEX, SM_ONLINE_INDEX_BUILDING_IN_PROGRESS, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by mq_translate_local().
Definition at line 358 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, pt_statement_info::dot, parser_node::info, pt_statement_info::name, parser_node::node_type, PT_DOT_, PT_NAME, pt_resolved(), and pt_name_info::spec_id.
Referenced by pt_bind_name_or_path_in_scope(), pt_bind_name_to_spec(), pt_get_node_title(), and pt_resolved().
Definition at line 17095 of file parse_tree_cl.c.
References pt_expr_info::arg1, pt_expr_info::arg2, db_private_free, pt_statement_info::expr, parser_node::info, parser_node::next, parser_node::node_type, NULL, and PT_NAME.
Referenced by do_merge(), do_prepare_merge(), do_prepare_update(), pt_get_assignment_lists(), pt_to_merge_update_xasl(), pt_to_update_xasl(), and update_real_class().
PT_NODE* pt_rewrite_set_eq_set | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | exp | ||
) |
Definition at line 4616 of file parse_tree_cl.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_value_info::data_value, pt_statement_info::expr, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, p, pt_expr_info::paren_type, parser_copy_tree(), parser_free_tree(), parser_new_node(), PT_AND, PT_EQ, PT_ERRORf, PT_EXPR, PT_INTERNAL_ERROR, pt_is_set_type, pt_pop(), pt_push(), pt_rewrite_set_eq_set(), pt_show_binopcode(), PT_TYPE_LOGICAL, PT_VALUE, pt_data_value::set, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_rewrite_set_eq_set().
PT_NODE* pt_rewrite_to_auto_param | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | value | ||
) |
Definition at line 3958 of file parser_support.c.
References assert, parser_context::auto_param_count, db_make_null(), pt_statement_info::host_var, parser_context::host_var_count, pt_value_info::host_var_index, parser_context::host_variables, pt_host_var_info::index, parser_node::info, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, NULL, parser_free_tree(), pr_clone_value(), pt_create_param_for_value(), PT_ERRORm, pt_is_const_not_hostvar, PT_IS_VALUE_NODE, PT_NODE_MOVE_NUMBER_OUTERLINK, pt_value_to_db(), and pt_statement_info::value.
Referenced by do_prepare_insert_internal(), mq_auto_param_merge_clauses(), qo_do_auto_parameterize(), qo_do_auto_parameterize_keylimit_clause(), qo_do_auto_parameterize_limit_clause(), and qo_optimize_queries().
Definition at line 2065 of file parser_support.c.
References pt_dot_info::arg2, pt_expr_info::arg2, pt_statement_info::dot, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, PT_DOT_, and PT_EXPR.
Referenced by gen_outer().
void pt_select_list_to_one_col | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
bool | do_one | ||
) |
Definition at line 4379 of file parse_tree_cl.c.
References pt_union_info::arg1, pt_union_info::arg2, pt_function_info::arg_list, pt_spec_info::as_attr_list, pt_select_info::connect_by, pt_value_info::data_value, pt_spec_info::derived_table, pt_spec_info::derived_table_type, EXCLUDE_HIDDEN_COLUMNS, pt_statement_info::expr, pt_query_info::flag, pt_select_info::from, pt_statement_info::function, i, parser_node::info, pt_select_info::list, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, pt_query_info::order_by, pt_query_info::orderby_for, parser_append_node(), parser_copy_tree(), parser_copy_tree_list(), parser_free_tree(), parser_new_node(), parser_reinit_node(), pt_append_string(), PT_DIFFERENCE, PT_EXPR, PT_FUNCTION, PT_INTERNAL_ERROR, PT_INTERSECTION, pt_is_set_type, PT_IS_SUBQUERY, pt_length_of_select_list(), pt_name(), PT_NAME_GENERATED_DERIVED_SPEC, PT_NAME_INFO_SET_FLAG, PT_ORDERBY_NUM, PT_SELECT, pt_select_list_to_one_col(), PT_SPEC, PT_TYPE_SEQUENCE, PT_UNION, PT_VALUE, pt_query_info::q, pt_statement_info::query, pt_spec_info::range_var, pt_query_info::select, pt_union_info::select_list, pt_data_value::set, pt_query_info::single_tuple, pt_statement_info::spec, parser_node::type_enum, pt_query_info::union_, and pt_statement_info::value.
Referenced by pt_select_list_to_one_col(), and qo_rewrite_subqueries().
PT_NODE* pt_semantic_type | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | tree, | ||
SEMANTIC_CHK_INFO * | sc_info | ||
) |
Definition at line 20178 of file type_checking.c.
References NULL, parser_walk_tree(), pt_eval_type(), pt_eval_type_pre(), pt_fold_constants_post(), pt_fold_constants_pre(), and pt_has_error.
Referenced by check_default_on_update_clause(), db_execute_and_keep_statement_local(), do_alter_one_clause_with_template(), do_recreate_filter_index_constr(), do_recreate_func_index_constr(), get_att_default_from_def(), insert_rewrite_names_in_value_clauses(), meth_push_conjuncts(), mq_translate_helper(), mq_translate_insert(), mq_translate_merge(), pt_bind_names_in_cte(), pt_bind_names_post(), pt_bind_scope(), pt_check_data_default(), pt_check_partitions(), pt_check_with_info(), pt_eval_type_pre(), pt_fix_first_term_func_index_for_iss(), pt_invert(), pt_semantic_check_local(), pt_semantic_quick_check_node(), qo_check_condition_yields_null(), and qo_rewrite_like_for_index_scan().
DB_VALUE* pt_seq_value_to_db | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | values, | ||
DB_VALUE * | db_value, | ||
PT_NODE ** | el_types | ||
) |
Definition at line 979 of file parse_dbi.c.
References assert, db_error_string(), db_get_set(), db_make_null(), db_seq_put(), parser_node::next, NO_ERROR, NULL, pr_clear_value(), pt_add_type_to_set(), PT_ERRORc, pt_evaluate_tree(), and pt_has_error.
Referenced by pt_db_value_initialize(), and pt_evaluate_tree_internal().
Definition at line 8502 of file type_checking.c.
References parser_node::expected_domain, NULL, parser_node::or_next, PT_TYPE_MAYBE, and parser_node::type_enum.
Referenced by pt_assignment_compatible().
void pt_set_fill_default_in_path_expression | ( | PT_NODE * | node | ) |
Definition at line 1454 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, assert, pt_statement_info::dot, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, PT_DOT_, PT_NAME, PT_NAME_INFO_FILL_DEFAULT, PT_NAME_INFO_SET_FLAG, pt_set_fill_default_in_path_expression(), and pt_name_info::spec_id.
Referenced by fill_in_insert_default_function_arguments(), and pt_set_fill_default_in_path_expression().
void pt_set_host_variables | ( | PARSER_CONTEXT * | parser, |
int | count, | ||
DB_VALUE * | values | ||
) |
Definition at line 3086 of file parse_dbi.c.
References DB_TYPE_ENUMERATION, DB_TYPE_UNKNOWN, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, db_value_type(), DOMAIN_COMPATIBLE, er_msg(), ER_REFERENCE_TO_NON_REFERABLE_NOT_ALLOWED, parser_context::flag, parser_context::host_var_count, parser_context::host_var_expected_domains, parser_context::host_variables, i, pr_type::id, MSGCAT_RUNTIME_HOSTVAR_INDEX_ERROR, MSGCAT_SEMANTIC_CANT_COERCE_TO, MSGCAT_SET_ERROR, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, NULL, pr_clear_value(), pr_clone_value(), pt_db_to_type_enum(), PT_ERRORc, PT_ERRORm, PT_ERRORmf2, pt_is_reference_to_reusable_oid(), pt_type_enum_to_db_domain_name(), PT_WARNINGmf2, parser_context::set_host_var, TP_DOMAIN_TYPE, TP_IS_CHAR_TYPE, tp_value_cast_preserve_domain(), and tp_domain::type.
Referenced by db_push_values().
PT_NODE* pt_set_is_view_spec | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | dummy, | ||
int * | continue_walk | ||
) |
Definition at line 1105 of file name_resolution.c.
References pt_query_info::id, parser_node::info, pt_query_info::is_view_spec, pt_is_query, and pt_statement_info::query.
Referenced by mq_translate_subqueries(), pt_check_create_view(), and pt_validate_query_spec().
void pt_set_update_object | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 3313 of file parser_support.c.
References pt_statement_info::host_var, parser_node::info, NULL, pt_update_info::object_parameter, parser_free_tree(), parser_new_node(), pt_append_string(), PT_HOST_VAR, pt_update_info::spec, pt_host_var_info::str, and pt_statement_info::update.
DB_VALUE* pt_set_value_to_db | ( | PARSER_CONTEXT * | parser, |
PT_NODE ** | values, | ||
DB_VALUE * | db_value, | ||
PT_NODE ** | el_types | ||
) |
Definition at line 1033 of file parse_dbi.c.
References assert, db_error_string(), db_get_pointer(), db_get_set(), db_make_null(), db_set_add(), DB_TYPE_POINTER, DB_VALUE_TYPE, parser_node::next, NO_ERROR, NULL, obt_quit(), pr_clear_value(), pt_add_type_to_set(), PT_ERRORc, pt_evaluate_tree(), and pt_has_error.
Referenced by pt_db_value_initialize(), and pt_evaluate_tree_internal().
char* pt_short_print | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | p | ||
) |
Definition at line 2829 of file parse_tree_cl.c.
References parser_context::max_print_len, NULL, parser_print_tree(), and strlen.
Referenced by check_default_on_update_clause(), do_alter_one_clause_with_template(), do_evaluate_insert_values(), do_insert_template(), do_replace_names_for_insert_values_pre(), get_att_default_from_def(), mq_class_lambda(), mq_invert_insert_select(), pt_apply_union_select_list_collation(), pt_bind_name_or_path_in_scope(), pt_bind_names(), pt_bind_names_post(), pt_bind_spec_attrs(), pt_check_analytic_function(), pt_check_cast_op(), pt_check_class_eq(), pt_check_create_entity(), pt_check_create_index(), pt_check_create_view(), pt_check_cume_dist_percent_rank_order_by(), pt_check_filter_index_expr(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_check_path_eq(), pt_check_single_valued_node(), pt_check_vclass_query_spec(), pt_check_vclass_union_spec(), pt_check_with_info(), pt_coerce_value_internal(), pt_db_value_initialize(), pt_eval_function_type_new(), pt_eval_function_type_old(), pt_eval_path_expr(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_get_common_type_for_union(), pt_get_compatible_info(), pt_get_resolution(), pt_get_values_query_compatible_info(), pt_insert_entity(), pt_node_to_enumeration_expr(), pt_resolve_correlation(), pt_resolve_group_having_alias_pt_name(), pt_resolve_using_index(), pt_semantic_check_local(), pt_set_attr_list_types(), pt_to_sort_list(), pt_undef_names_pre(), qo_optimize_queries_post(), qo_reduce_equality_terms(), and qo_reduce_order_by().
char* pt_short_print_l | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | p | ||
) |
Definition at line 2859 of file parse_tree_cl.c.
References parser_context::max_print_len, NULL, parser_print_tree_list(), and strlen.
Referenced by pt_check_create_entity(), pt_flat_spec_pre(), pt_get_resolution(), and pt_set_attr_list_types().
const char* pt_show_binopcode | ( | PT_OP_TYPE | n | ) |
Definition at line 3347 of file parse_tree_cl.c.
References assert, PT_ABS, PT_ACOS, PT_ADD_MONTHS, PT_ADDDATE, PT_ADDTIME, PT_AES_DECRYPT, PT_AES_ENCRYPT, PT_AND, PT_ASCII, PT_ASIN, PT_ASSIGN, PT_ATAN, PT_ATAN2, 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_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_FROM_FILE, 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_CLOB_FROM_FILE, PT_CLOB_LENGTH, PT_CLOB_TO_CHAR, PT_COALESCE, PT_COERCIBILITY, 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_DECODE, PT_DECR, PT_DEFAULTF, PT_DEFINE_VARIABLE, PT_DEGREES, PT_DISK_SIZE, PT_DIV, PT_DIVIDE, PT_DRAND, PT_DRANDOM, PT_EQ, PT_EQ_ALL, PT_EQ_SOME, PT_EVALUATE_VARIABLE, PT_EXEC_STATS, PT_EXISTS, PT_EXP, PT_EXTRACT, PT_FIELD, PT_FINDINSET, PT_FLOOR, PT_FORMAT, PT_FROM_BASE64, PT_FROM_TZ, PT_FROM_UNIXTIME, PT_FROMDAYS, PT_FUNCTION_HOLDER, PT_GE, PT_GE_ALL, PT_GE_SOME, PT_GREATEST, PT_GT, PT_GT_ALL, PT_GT_SOME, PT_HEX, PT_HOURF, PT_IF, PT_IFNULL, PT_INCR, PT_INDEX_CARDINALITY, PT_INDEX_PREFIX, PT_INET_ATON, PT_INET_NTOA, PT_INST_NUM, PT_INSTR, PT_IS, PT_IS_IN, PT_IS_NOT, PT_IS_NOT_IN, PT_IS_NOT_NULL, PT_IS_NULL, PT_ISNULL, PT_LAST_DAY, PT_LAST_INSERT_ID, PT_LE, PT_LE_ALL, PT_LE_SOME, PT_LEAST, PT_LEFT, PT_LEVEL, PT_LIKE, PT_LIKE_ESCAPE, 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_LT, PT_LT_ALL, PT_LT_SOME, PT_LTRIM, PT_MAKEDATE, PT_MAKETIME, PT_MD5, PT_MID, PT_MINUS, PT_MINUTEF, PT_MOD, PT_MODULUS, PT_MONTHF, PT_MONTHS_BETWEEN, PT_NE, PT_NE_ALL, PT_NE_SOME, PT_NEW_TIME, PT_NEXT_VALUE, PT_NOT, PT_NOT_BETWEEN, PT_NOT_LIKE, PT_NOT_RLIKE, PT_NOT_RLIKE_BINARY, PT_NULLIF, PT_NULLSAFE_EQ, PT_NVL, PT_NVL2, PT_OCTET_LENGTH, PT_OID_OF_DUPLICATE_KEY, PT_OR, PT_ORDERBY_NUM, PT_PI, PT_PLUS, PT_POSITION, PT_POWER, PT_PRIOR, PT_QPRIOR, PT_QUARTERF, PT_RADIANS, PT_RAND, PT_RANDOM, PT_RANGE, PT_REPEAT, PT_REPLACE, PT_REVERSE, PT_RIGHT, PT_RLIKE, PT_RLIKE_BINARY, PT_ROUND, PT_ROW_COUNT, PT_ROWNUM, PT_RPAD, PT_RTRIM, PT_SCHEMA, PT_SCHEMA_DEF, PT_SECONDF, PT_SECTOTIME, PT_SESSIONTIMEZONE, PT_SETEQ, PT_SETNEQ, PT_SHA_ONE, PT_SHA_TWO, PT_SIGN, PT_SIN, PT_SLEEP, PT_SPACE, PT_SQRT, PT_STR_TO_DATE, PT_STRCAT, PT_STRCMP, PT_SUBDATE, PT_SUBSET, PT_SUBSETEQ, PT_SUBSTRING, PT_SUBSTRING_INDEX, PT_SUPERSET, PT_SUPERSETEQ, 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_NUMBER, PT_TO_TIME, PT_TO_TIMESTAMP, PT_TO_TIMESTAMP_TZ, PT_TODAYS, PT_TRACE_STATS, PT_TRANSLATE, PT_TRIM, PT_TRUNC, PT_TYPEOF, PT_TZ_OFFSET, PT_UNARY_MINUS, PT_UNIX_TIMESTAMP, PT_UPPER, PT_USER, PT_UTC_DATE, PT_UTC_TIME, PT_UTC_TIMESTAMP, PT_VERSION, PT_WEEKDAY, PT_WEEKF, PT_WIDTH_BUCKET, PT_XOR, and PT_YEARF.
Referenced by pt_check_data_default(), pt_check_expr_collation(), pt_check_filter_index_expr_pre(), pt_check_recursive_expr_collation(), pt_coerce_expression_argument(), pt_eval_expr_type(), pt_expr_disallow_op_pre(), pt_is_function_index_expr(), pt_print_expr(), pt_print_range_op(), pt_rewrite_set_eq_set(), and pt_to_regu_variable().
const char* pt_show_misc_type | ( | PT_MISC_TYPE | p | ) |
Definition at line 3190 of file parse_tree_cl.c.
References PT_ACTIVE, PT_AFTER, PT_ALL, PT_ASC, PT_ATTRIBUTE, PT_BEFORE, PT_BIT_STRING, PT_CHAR_STRING, PT_CLASS, PT_CONSTRAINT_NAME, PT_DAY, PT_DEFAULT, PT_DEFERRED, PT_DESC, PT_DISTINCT, PT_FILE_RENAME, PT_FUNCTION_RENAME, PT_GRANT_OPTION, PT_HEX_STRING, PT_HOUR, PT_INACTIVE, PT_INDEX_NAME, PT_INPUT, PT_INPUTOUTPUT, PT_INVALIDATE_XACTION, PT_IS_SUBINSERT, PT_IS_SUBQUERY, PT_IS_VALUE, PT_ISOLATION_LEVEL, PT_LOCK_TIMEOUT, PT_MATCH_FULL, PT_MATCH_PARTIAL, PT_MATCH_REGULAR, PT_META_ATTR, PT_META_CLASS, PT_METHOD, PT_MILLISECOND, PT_MINUTE, PT_MISC_DUMMY, PT_MONTH, PT_NCHAR_STRING, PT_NO_GRANT_OPTION, PT_NO_ISOLATION_LEVEL, PT_NOPUT, PT_NORMAL, PT_ONLY, PT_OPT_COST, PT_OPT_LVL, PT_OUTPUT, PT_PRINT, PT_READ_COMMITTED, PT_REJECT, PT_REPEATABLE_READ, PT_RULE_CASCADE, PT_RULE_NO_ACTION, PT_RULE_RESTRICT, PT_RULE_SET_NULL, PT_SEARCHED_CASE, PT_SECOND, PT_SERIALIZABLE, PT_SHARED, PT_SIMPLE_CASE, PT_SP_FUNCTION, PT_SP_PROCEDURE, PT_TRACE_FORMAT_JSON, PT_TRACE_FORMAT_TEXT, PT_TRACE_OFF, PT_TRACE_ON, PT_TRIGGER_DEPTH, PT_TRIGGER_TRACE, PT_VCLASS, and PT_YEAR.
Referenced by map_iso_levels(), pt_check_alter(), pt_check_create_entity(), pt_check_drop(), pt_check_truncate(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_help_show_create_table(), pt_print_alter(), pt_print_alter_one_clause(), pt_print_alter_trigger(), pt_print_col_def_constraint(), pt_print_constraint(), pt_print_create_entity(), pt_print_create_stored_procedure(), pt_print_create_trigger(), pt_print_drop_stored_procedure(), pt_print_get_opt_lvl(), pt_print_get_trigger(), pt_print_get_xaction(), pt_print_isolation_lvl(), pt_print_query_trace(), pt_print_rename(), pt_print_set_opt_lvl(), pt_print_set_trigger(), pt_print_sp_parameter(), and pt_print_trigger_action().
Definition at line 2888 of file parse_tree_cl.c.
References parser_node::node_type, PT_2PC_ATTACH, PT_ALTER, PT_ALTER_INDEX, PT_ALTER_TRIGGER, PT_ALTER_USER, PT_ATTR_DEF, PT_ATTR_ORDERING, PT_AUTH_CMD, PT_COMMIT_WORK, PT_CONSTRAINT, PT_CREATE_ENTITY, PT_CREATE_INDEX, PT_CREATE_TRIGGER, PT_CREATE_USER, PT_CTE, PT_DATA_DEFAULT, PT_DATA_TYPE, PT_DEALLOCATE_PREPARE, PT_DELETE, PT_DIFFERENCE, PT_DO, PT_DOT_, PT_DROP, PT_DROP_INDEX, PT_DROP_TRIGGER, PT_DROP_USER, PT_EVENT_OBJECT, PT_EVENT_SPEC, PT_EVENT_TARGET, PT_EXECUTE_PREPARE, PT_EXECUTE_TRIGGER, PT_EXPR, PT_FILE_PATH, PT_FUNCTION, PT_GET_OPT_LVL, PT_GET_STATS, PT_GET_XACTION, PT_GRANT, PT_HOST_VAR, PT_INSERT, PT_INTERSECTION, PT_ISOLATION_LVL, PT_MERGE, PT_METHOD_CALL, PT_METHOD_DEF, PT_NAME, PT_NAMED_ARG, PT_NODE_LIST, PT_PARTITION, PT_PARTS, PT_PREPARE_STATEMENT, PT_PREPARE_TO_COMMIT, PT_REMOVE_TRIGGER, PT_RENAME, PT_RESOLUTION, PT_REVOKE, PT_ROLLBACK_WORK, PT_SAVEPOINT, PT_SELECT, PT_SET_NAMES, PT_SET_OPT_LVL, PT_SET_SYS_PARAMS, PT_SET_TIMEZONE, PT_SET_XACTION, PT_SHOWSTMT, PT_SORT_SPEC, PT_SPEC, PT_TIMEOUT, PT_TRIGGER_ACTION, PT_TRIGGER_SPEC_LIST, PT_TRUNCATE, PT_UNION, PT_UPDATE, PT_UPDATE_STATS, PT_VACUUM, PT_VALUE, and PT_WITH_CLAUSE.
Referenced by do_process_prepare_statement().
const char* pt_show_partition_type | ( | PT_PARTITION_TYPE | t | ) |
Definition at line 4124 of file parse_tree_cl.c.
References PT_PARTITION_HASH, PT_PARTITION_LIST, and PT_PARTITION_RANGE.
Referenced by pt_print_partition().
const char* pt_show_priv | ( | PT_PRIV_TYPE | t | ) |
Definition at line 3908 of file parse_tree_cl.c.
References PT_ADD_PRIV, PT_ALL_PRIV, PT_ALTER_PRIV, PT_DELETE_PRIV, PT_DROP_PRIV, PT_EXECUTE_PRIV, PT_INDEX_PRIV, PT_INSERT_PRIV, PT_NO_PRIV, PT_REFERENCES_PRIV, PT_SELECT_PRIV, and PT_UPDATE_PRIV.
Referenced by pt_print_auth_cmd().
const char* pt_show_type_enum | ( | PT_TYPE_ENUM | t | ) |
Definition at line 3948 of file parse_tree_cl.c.
References PT_ADD_ATTR_MTHD, PT_ADD_HASHPARTITION, PT_ADD_PARTITION, PT_ADD_QUERY, PT_ADD_SUPCLASS, PT_ALTER_DEFAULT, PT_ANALYZE_PARTITION, PT_APPLY_PARTITION, PT_COALESCE_PARTITION, PT_DROP_ATTR_MTHD, PT_DROP_CONSTRAINT, PT_DROP_FK_CLAUSE, PT_DROP_INDEX_CLAUSE, PT_DROP_PARTITION, PT_DROP_PRIMARY_CLAUSE, PT_DROP_QUERY, PT_DROP_RESOLUTION, PT_DROP_SUPCLASS, PT_MODIFY_ATTR_MTHD, PT_MODIFY_DEFAULT, PT_MODIFY_QUERY, PT_PROMOTE_PARTITION, PT_REMOVE_PARTITION, PT_RENAME_ATTR_MTHD, PT_RENAME_ENTITY, PT_RENAME_RESOLUTION, PT_REORG_PARTITION, PT_RESET_QUERY, PT_TYPE_BIGINT, PT_TYPE_BIT, PT_TYPE_BLOB, PT_TYPE_CHAR, PT_TYPE_CLOB, PT_TYPE_COMPOUND, PT_TYPE_DATE, PT_TYPE_DATETIME, PT_TYPE_DATETIMELTZ, PT_TYPE_DATETIMETZ, PT_TYPE_DOUBLE, PT_TYPE_ELO, PT_TYPE_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAX, PT_TYPE_MAYBE, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NA, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_STAR, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.
Referenced by check_att_chg_allowed(), check_default_on_update_clause(), do_add_attribute_from_select_column(), do_update_new_notnull_cols_without_default(), get_att_default_from_def(), func_type::Node::invalid_arg_error(), func_type::Node::preprocess(), pt_arg_type_to_string_buffer(), pt_check_cast_op(), pt_check_cume_dist_percent_rank_order_by(), pt_coerce_expression_argument(), pt_coerce_value_internal(), pt_dbval_to_value(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_eval_opt_type(), pt_evaluate_db_value_expr(), pt_get_resolution(), pt_node_to_enumeration_expr(), pt_print_attr_def(), pt_print_create_stored_procedure(), pt_print_datatype(), pt_print_db_value(), pt_print_method_def(), pt_print_sp_parameter(), pt_print_value(), pt_semantic_check_local(), qo_reduce_equality_terms(), and validate_attribute_domain().
PT_NODE* pt_sm_attribute_default_value_to_node | ( | PARSER_CONTEXT * | parser, |
const SM_ATTRIBUTE * | default_value | ||
) |
Definition at line 516 of file parse_dbi.c.
References parser_node::data_type, DB_DEFAULT_NONE, sm_default_value::default_expr, db_default_expr::default_expr_type, default_value, sm_attribute::default_value, pt_statement_info::expr, pr_type::id, parser_node::info, NULL, pt_expr_info::op, parser_free_tree(), parser_new_node(), PT_DATA_TYPE, pt_db_to_type_enum(), pt_dbval_to_value(), PT_EXPR, PT_INTERNAL_ERROR, pt_op_type_from_default_expr_type(), sm_attribute::type, parser_node::type_enum, and sm_default_value::value.
Referenced by pt_resolve_vclass_args().
Definition at line 2484 of file parse_dbi.c.
References pt_value_info::data_value, pt_data_value::i, parser_node::info, parser_node::next, NULL, and pt_statement_info::value.
Referenced by do_alter_one_clause_with_template().
Definition at line 3499 of file parser_support.c.
References pt_sort_spec_info::asc_or_desc, parser_node::info, parser_node::next, NULL, pt_sort_spec_info::nulls_first_or_last, pt_sort_spec_info::pos_descr, qfile_tuple_value_position::pos_no, and pt_statement_info::sort_spec.
Referenced by qo_check_orderby_skip_descending(), qo_plan_is_orderby_skip_candidate(), qo_reduce_order_by(), and qo_top_plan_new().
bool pt_sort_spec_cover_groupby | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | sort_list, | ||
PT_NODE * | group_list, | ||
PT_NODE * | tree | ||
) |
Definition at line 7894 of file parser_support.c.
References pt_sort_spec_info::asc_or_desc, CAST_POINTER_TO_NODE, pt_sort_spec_info::expr, i, parser_node::info, pt_select_info::list, parser_node::next, parser_node::node_type, NULL, pt_sort_spec_info::nulls_first_or_last, qfile_tuple_value_position::pos_no, pt_get_end_path_node(), PT_NAME, pt_name_equal(), PT_NAME_INFO_CONSTANT, PT_NAME_INFO_IS_FLAGED, pt_to_pos_descr(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_statement_info::sort_spec.
Referenced by qo_check_groupby_skip_descending(), and qo_top_plan_new().
PT_NODE* pt_sort_spec_list_to_name_node_list | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | sort_spec_list | ||
) |
Definition at line 17826 of file parse_tree_cl.c.
References pt_sort_spec_info::asc_or_desc, pt_sort_spec_info::expr, parser_node::info, parser_node::next, parser_node::node_type, NULL, parser_append_node(), parser_copy_tree(), PT_DESC, PT_IS_SORT_SPEC_NODE, PT_NAME, PT_NAME_INFO_DESC, PT_NAME_INFO_SET_FLAG, and pt_statement_info::sort_spec.
PT_NODE* pt_spec_to_oid_attr | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | spec, | ||
VIEW_HANDLING | how | ||
) |
Definition at line 101 of file compile.c.
References pt_function_info::arg_list, pt_spec_info::as_attr_list, CLASSOID_NAME, pt_statement_info::data_type, parser_node::data_type, pt_data_type_info::entity, F_CLASS_OF, pt_spec_info::flat_entity_list, pt_statement_info::function, pt_function_info::function_type, HIDDEN_CLASSOID_NAME, pt_function_info::hidden_column, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, mq_is_updatable(), mq_oid(), pt_statement_info::name, parser_node::next, NULL, OID_NAME, pt_name_info::original, parser_copy_tree(), parser_copy_tree_list(), parser_new_node(), PT_DATA_TYPE, PT_FUNCTION, PT_META_CLASS, pt_name(), PT_OID_ATTR, PT_SPEC_IS_DERIVED, PT_TYPE_OBJECT, pt_spec_info::range_var, pt_statement_info::spec, parser_node::type_enum, pt_data_type_info::virt_object, pt_name_info::virt_object, pt_data_type_info::virt_type_enum, and pt_name_info::virt_type_enum.
Referenced by pt_add_oid_to_select_list(), pt_to_constraint_pred(), and pt_to_upd_del_query().
int pt_split_delete_stmt | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | delete_stmt | ||
) |
Definition at line 7415 of file parser_support.c.
References ARG_FILE_LINE, pt_delete_info::del_stmt_list, pt_statement_info::delete_, pt_spec_info::derived_table, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, er_set(), pt_spec_info::flag, parser_node::flag, pt_delete_info::hint, pt_spec_info::id, parser_node::info, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_delete_info::ordered_hint, parser_copy_tree(), parser_free_tree(), parser_walk_tree(), pt_continue_walk(), pt_create_delete_stmt(), PT_DELETE, pt_has_error, PT_HINT_LK_TIMEOUT, PT_HINT_ORDERED, PT_HINT_USE_IDX, PT_HINT_USE_MERGE, PT_HINT_USE_NL, PT_INTERNAL_ERROR, pt_is_spec_referenced(), PT_SPEC_FLAG_DELETE, parser_node::recompile, pt_delete_info::spec, pt_statement_info::spec, pt_delete_info::target_classes, pt_delete_info::use_idx_hint, pt_delete_info::use_merge_hint, pt_delete_info::use_nl_hint, and pt_delete_info::waitsecs_hint.
Referenced by do_prepare_delete(), and pt_compile_trigger_stmt().
void pt_split_join_preds | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | predicates, | ||
PT_NODE ** | join_part, | ||
PT_NODE ** | after_cb_filter | ||
) |
Definition at line 2492 of file parser_support.c.
References assert, parser_node::next, NULL, parser_node::or_next, parser_append_node(), PT_AND, PT_IS_EXPR_NODE, PT_IS_EXPR_NODE_WITH_OPERATOR, pt_is_filtering_expression(), PT_IS_VALUE_NODE, and PT_OR.
Referenced by qo_optimize_queries().
int pt_statement_have_methods | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | statement | ||
) |
Definition at line 204 of file method_transform.c.
References meth_have_methods(), NULL, and parser_walk_tree().
Definition at line 2717 of file parser_support.c.
References parser_node::line_number.
Referenced by db_get_start_line().
int pt_str_compare | ( | const char * | p, |
const char * | q, | ||
CASE_SENSITIVENESS | case_flag | ||
) |
Definition at line 7072 of file name_resolution.c.
References CASE_INSENSITIVE, intl_identifier_casecmp(), and intl_identifier_cmp().
Referenced by gadget_attr_index(), mq_check_delete(), pt_append_omitted_on_update_expr_assignments(), pt_bind_names(), pt_bind_reserved_name(), pt_check_class_eq(), pt_check_create_entity(), pt_check_cyclic_reference_in_view_spec(), pt_check_filter_index_expr_pre(), pt_check_function_index_expr(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_check_path_eq(), pt_check_single_valued_node(), pt_check_unique_attr(), pt_check_unique_exposed(), pt_check_unique_names(), pt_compare_sort_spec_expr(), pt_find_name_in_spec(), pt_find_omitted_default_expr(), pt_is_correlation_name(), pt_is_on_list(), pt_no_double_updates(), pt_number_of_attributes(), pt_resolve_hint_args(), pt_resolve_using_index(), pt_resolve_vclass_args(), pt_semantic_check_local(), pt_to_pos_descr(), pt_to_pos_descr_groupby(), and pt_transform_cnf_post().
Definition at line 2297 of file parser_support.c.
References pt_name_info::db_object, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, PT_NAME, and pt_name_info::resolved.
Referenced by db_parameter_name().
Definition at line 1332 of file parse_dbi.c.
References ARG_FILE_LINE, parser_node::data_type, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, parser_node::node_type, NULL, parser, parser_create_parser(), parser_free_parser(), parser_parse_string(), PT_DATA_TYPE, pt_data_type_to_db_domain(), pt_db_to_type_enum(), pt_domain_to_data_type(), pt_has_error, pt_report_to_ersys(), pt_string_to_db_domain(), PT_SYNTAX, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, strlen, TP_DOMAIN_TYPE, and parser_node::type_enum.
Referenced by db_type_from_string(), get_domain_internal(), init_db_attribute_list(), patchdb(), and pt_string_to_db_domain().
PT_NODE* pt_table_option | ( | PARSER_CONTEXT * | parser, |
const PT_TABLE_OPTION_TYPE | option, | ||
PT_NODE * | val | ||
) |
Definition at line 323 of file parser_support.c.
References parser_node::info, pt_table_option_info::option, parser_new_node(), PT_TABLE_OPTION, pt_statement_info::table_option, and pt_table_option_info::val.
Referenced by pt_check_create_entity().
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().
PT_NODE* pt_top | ( | PARSER_CONTEXT * | parser | ) |
Definition at line 1660 of file parse_tree_cl.c.
References parser_context::node_stack, NULL, and parser_context::stack_top.
PT_NODE* pt_tuple_value | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | name, | ||
CURSOR_ID * | cursor_p, | ||
int | index | ||
) |
Definition at line 444 of file parser_support.c.
References pt_tuple_value_info::cursor_p, pt_tuple_value_info::index, parser_node::info, pt_tuple_value_info::name, parser_new_node(), PT_TUPLE_VALUE, and pt_statement_info::tuple_value.
Referenced by pt_make_tuple_value_reference().
DB_TYPE pt_type_enum_to_db | ( | const PT_TYPE_ENUM | dt | ) |
Definition at line 2314 of file parse_dbi.c.
References DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, 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_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_MIDXKEY, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_RESULTSET, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.
Referenced by check_change_attribute(), jsp_add_stored_procedure(), jsp_add_stored_procedure_argument(), pmeta_get_info_internal(), pt_assignment_compatible(), pt_check_alter_partition(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_data_type_init_value(), pt_data_type_to_db_domain(), pt_db_value_initialize(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_fillin_type_size(), pt_is_json_doc_type(), pt_is_json_value_type(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_node_to_db_type(), pt_to_aggregate_node(), pt_to_upd_del_query(), pt_type_enum_to_db_domain(), qo_get_attr_info_func_index(), and qo_rewrite_subqueries().
DB_DOMAIN* pt_type_enum_to_db_domain | ( | const PT_TYPE_ENUM | t | ) |
Definition at line 1549 of file parse_dbi.c.
References assert, DB_BIGINT_PRECISION, DB_DATE_PRECISION, DB_DATETIME_DECIMAL_SCALE, DB_DATETIME_PRECISION, DB_DATETIMETZ_PRECISION, DB_DEFAULT_NUMERIC_PRECISION, DB_DEFAULT_NUMERIC_SCALE, DB_DOUBLE_DECIMAL_PRECISION, DB_FLOAT_DECIMAL_PRECISION, DB_INTEGER_PRECISION, DB_MONETARY_DECIMAL_PRECISION, DB_SHORT_PRECISION, DB_TIME_PRECISION, DB_TIMESTAMP_PRECISION, DB_TIMESTAMPTZ_PRECISION, DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DB_VALUE, DB_TYPE_DOUBLE, DB_TYPE_ELO, DB_TYPE_ENUMERATION, DB_TYPE_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MONETARY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_TYPE_RESULTSET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SHORT, DB_TYPE_SUB, DB_TYPE_TABLE, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, NULL, pt_type_enum_to_db(), tp_domain_construct(), TP_FLOATING_PRECISION_VALUE, tp_Null_domain, and tp_Variable_domain.
Referenced by do_cast_host_variables_to_expected_domain(), pt_check_partitions(), pt_data_type_to_db_domain(), pt_make_method_call(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_node_to_function_index(), and pt_xasl_type_enum_to_domain().
const char* pt_type_enum_to_db_domain_name | ( | const PT_TYPE_ENUM | t | ) |
Definition at line 1427 of file parse_dbi.c.
References 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_ENUMERATION, PT_TYPE_FLOAT, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_LOGICAL, PT_TYPE_MONETARY, PT_TYPE_MULTISET, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NUMERIC, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_SMALLINT, PT_TYPE_TIME, PT_TYPE_TIMESTAMP, PT_TYPE_TIMESTAMPLTZ, PT_TYPE_TIMESTAMPTZ, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, and PT_TYPE_VARNCHAR.
Referenced by check_change_attribute(), pt_data_type_to_db_domain_name(), pt_node_to_db_domain_name(), pt_print_json_table_column_info(), and pt_set_host_variables().
int pt_type_generic_func | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node | ||
) |
Definition at line 20698 of file type_checking.c.
References pt_function_info::arg_list, pt_value_info::data_value, pt_statement_info::function, pt_function_info::function_type, pt_function_info::generic_name, pt_data_value::i, parser_node::info, parser_node::node_type, NULL, parser_append_node(), parser_new_node(), PT_FUNCTION, PT_GENERIC, PT_TYPE_INTEGER, PT_VALUE, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_bind_names().
PT_NODE* pt_union | ( | PARSER_CONTEXT * | parser_ptr, |
PT_NODE * | expression1, | ||
PT_NODE * | expression2 | ||
) |
Definition at line 246 of file parser_support.c.
References pt_union_info::arg1, pt_union_info::arg2, pt_query_info::correlation_level, pt_query_info::id, parser_node::info, pt_query_info::is_subquery, parser_new_node(), PT_IS_UNION_SUBQUERY, PT_UNION, pt_query_info::q, pt_statement_info::query, and pt_query_info::union_.
Referenced by mq_translate_subqueries(), and mq_union_bump_correlation().
int pt_validate_query_spec | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | s, | ||
struct db_object * | c | ||
) |
Definition at line 13470 of file semantic_check.c.
References ARG_FILE_LINE, assert, db_get_class_name(), db_is_vclass(), er_errid(), ER_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_OBJ_INVALID_ARGUMENTS, er_set(), NO_ERROR, NULL, parser_walk_tree(), pt_check_vclass_query_spec(), pt_get_attributes(), pt_has_error, pt_report_to_ersys(), PT_SEMANTIC, pt_set_is_view_spec(), PT_SYNTAX, and pt_type_cast_vclass_query_spec().
Referenced by db_validate_query_spec(), and pt_check_alter().
DB_VALUE* pt_value_to_db | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | value | ||
) |
Definition at line 1088 of file parse_dbi.c.
References assert, parser_node::data_type, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_ENUMERATION, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, pt_value_info::db_value, DB_VALUE_DOMAIN_TYPE, pt_value_info::db_value_is_initialized, DOMAIN_COMPATIBLE, parser_node::expected_domain, parser_context::flag, pt_statement_info::host_var, parser_context::host_var_count, pt_host_var_info::index, parser_node::info, pt_name_info::meta_class, MSGCAT_RUNTIME_HOSTVAR_INDEX_ERROR, MSGCAT_RUNTIME_PARM_IS_NOT_SET, MSGCAT_SEMANTIC_CANT_COERCE_TO, MSGCAT_SET_PARSER_RUNTIME, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, pr_type_name(), pt_bind_type_from_dbval(), pt_db_value_initialize(), pt_domain_to_data_type(), PT_ERRORmf, PT_ERRORmf2, pt_find_value_of_label(), PT_HOST_IN, PT_HOST_VAR, pt_host_var_db_value(), pt_is_const, PT_NAME, pt_node_to_db_domain(), pt_node_to_db_domain_name(), PT_PARAMETER, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_ENUMERATION, PT_TYPE_MAYBE, PT_TYPE_NCHAR, PT_TYPE_NONE, PT_TYPE_NULL, PT_TYPE_NUMERIC, PT_TYPE_VARBIT, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, parser_context::set_host_var, tp_domain_cache(), TP_DOMAIN_TYPE, tp_value_cast(), tp_value_cast_preserve_domain(), tp_value_coerce(), parser_node::type_enum, pt_statement_info::value, and pt_host_var_info::var_type.
Referenced by call_method(), do_alter_serial(), do_change_auto_increment_serial(), do_create_auto_increment_serial(), do_create_partition(), do_create_serial(), do_drop_session_variables(), do_set_session_variables(), get_priority(), init_update_data(), jsp_call_stored_procedure(), mq_translate_value(), pt_bind_names_post(), pt_bind_value_to_hostvar_local(), pt_check_alter_partition(), pt_check_analytic_function(), pt_check_and_coerce_to_date(), pt_check_and_coerce_to_time(), pt_check_and_replace_hostvar(), pt_check_enum_data_type(), pt_check_group_concat_order_by(), pt_check_order_by(), pt_check_range_partition_strict_increasing(), pt_coerce_node_collection_of_collection(), pt_coerce_value_internal(), pt_compare_bounds_to_value(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_evaluate_function(), pt_evaluate_tree_internal(), pt_expand_analytic_node(), pt_fix_enumeration_comparison(), pt_fold_const_expr(), pt_get_default_expression_from_data_default_node(), pt_node_to_partition_info(), pt_print_node_value(), pt_print_value(), pt_resolve_object(), pt_rewrite_to_auto_param(), pt_to_list_key(), pt_to_merge_update_xasl(), pt_to_odku_info(), pt_to_regu_variable(), pt_to_upd_del_query(), pt_to_update_xasl(), pt_value_links_add(), pt_where_type(), pt_where_type_keep_true(), qo_apply_range_intersection(), qo_apply_range_intersection_helper(), qo_find_like_rewrite_bound(), qo_merge_range_helper(), qo_reduce_comp_pair_terms(), qo_reduce_equality_terms(), qo_reduce_order_by(), uci_static(), and values_list_to_values_array().
Definition at line 2247 of file parser_support.c.
References parser_node::info, pt_statement_info::insert, pt_node_list_info::list_type, pt_statement_info::node_list, parser_node::node_type, NULL, PT_INSERT, PT_IS_SUBQUERY, and pt_insert_info::value_clauses.
Referenced by uci_static().
PT_NODE* pt_where_type | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | where | ||
) |
Definition at line 6701 of file type_checking.c.
References parser_node::column_number, pt_value_info::data_value, pt_statement_info::expr, pt_data_value::i, parser_node::info, parser_node::line_number, pt_expr_info::location, pt_value_info::location, MSGCAT_SEMANTIC_WANT_LOGICAL_WHERE, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, parser_node::node_type, NULL, parser_node::or_next, parser_free_tree(), parser_new_node(), PT_ERRORm, PT_EXPR, pt_has_error, PT_HOST_VAR, PT_INTERNAL_ERROR, PT_TYPE_LOGICAL, PT_TYPE_MAYBE, PT_TYPE_NA, PT_TYPE_NULL, PT_VALUE, pt_value_to_db(), parser_node::type_enum, and pt_statement_info::value.
Referenced by meth_push_conjuncts(), pt_eval_type(), and pt_where_type_keep_true().
PT_NODE* pt_where_type_keep_true | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | where | ||
) |
Definition at line 6895 of file type_checking.c.
References pt_value_info::data_value, pt_data_value::i, parser_node::info, NULL, parser_new_node(), PT_INTERNAL_ERROR, PT_TYPE_LOGICAL, PT_VALUE, pt_value_to_db(), pt_where_type(), parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_eval_type().
PT_NODE* pt_wrap_collection_with_cast_op | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | arg, | ||
PT_TYPE_ENUM | set_type, | ||
PT_NODE * | set_data, | ||
bool | for_collation | ||
) |
Definition at line 8268 of file type_checking.c.
References parser_node::alias_print, pt_expr_info::arg1, pt_function_info::arg_list, assert, pt_expr_info::cast_type, pt_data_type_info::collation_id, parser_node::column_number, pt_statement_info::data_type, parser_node::data_type, parser_node::expected_domain, pt_statement_info::expr, F_MULTISET, F_SEQUENCE, F_SET, parser_node::flag, pt_statement_info::function, pt_function_info::function_type, parser_node::info, parser_node::is_hidden_column, parser_node::line_number, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, parser_copy_tree_list(), parser_new_node(), prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, PT_CAST, PT_DATA_TYPE, pt_data_type_to_db_domain(), PT_ERRORm, PT_EXPR, PT_EXPR_INFO_CAST_NOFAIL, PT_EXPR_INFO_CAST_SHOULD_FOLD, PT_EXPR_INFO_SET_FLAG, PT_FUNCTION, PT_HAS_COLLATION, PT_HOST_VAR, PT_IS_NUMERIC_TYPE, pt_preset_hostvar(), PT_TYPE_MAYBE, pt_wrap_with_cast_op(), and parser_node::type_enum.
Referenced by pt_coerce_expression_argument(), pt_coerce_node_collation(), and pt_coerce_range_expr_arguments().
int pt_wrap_select_list_with_cast_op | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | query, | ||
PT_TYPE_ENUM | new_type, | ||
int | p, | ||
int | s, | ||
PT_NODE * | data_type, | ||
bool | force_wrap | ||
) |
Definition at line 8133 of file type_checking.c.
References pt_union_info::arg1, pt_union_info::arg2, ER_FAILED, err, parser_node::info, pt_node_list_info::list, pt_select_info::list, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, NULL, PT_DIFFERENCE, pt_get_select_list(), PT_INTERSECTION, PT_IS_VALUE_QUERY, PT_SELECT, PT_SET_VALUE_QUERY, PT_UNION, pt_wrap_with_cast_op(), pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_query_info::union_.
Referenced by pt_coerce_node_collation(), and pt_coerce_range_expr_arguments().
PT_NODE* pt_wrap_with_cast_op | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | arg, | ||
PT_TYPE_ENUM | new_type, | ||
int | p, | ||
int | s, | ||
PT_NODE * | desired_dt | ||
) |
Definition at line 8389 of file type_checking.c.
References parser_node::alias_print, pt_expr_info::arg1, assert, pt_expr_info::cast_type, pt_data_type_info::collation_flag, pt_data_type_info::collation_id, parser_node::column_number, pt_statement_info::data_type, parser_node::data_type, pt_data_type_info::dec_precision, pt_statement_info::expr, parser_node::flag, parser_node::info, parser_node::is_hidden_column, LANG_SYS_CODESET, LANG_SYS_COLLATION, parser_node::line_number, parser_node::next, NULL, pt_expr_info::op, p, parser_copy_tree_list(), parser_new_node(), pt_data_type_info::precision, PT_CAST, PT_DATA_TYPE, PT_EXPR, PT_EXPR_INFO_CAST_SHOULD_FOLD, PT_EXPR_INFO_CAST_WRAP, PT_EXPR_INFO_SET_FLAG, PT_HAS_COLLATION, PT_IS_COLLECTION_TYPE, PT_TYPE_MAYBE, TP_DOMAIN_COLL_LEAVE, parser_node::type_enum, and pt_data_type_info::units.
Referenced by func_type::Node::apply_argument(), pt_assignment_compatible(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_eval_expr_type(), pt_eval_function_type_new(), pt_eval_function_type_old(), pt_wrap_collection_with_cast_op(), pt_wrap_expr_w_exp_dom_cast(), pt_wrap_select_list_with_cast_op(), and qo_reduce_equality_terms().
void qo_do_auto_parameterize | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | where | ||
) |
Definition at line 6494 of file query_rewrite.c.
References pt_expr_info::arg1, pt_expr_info::arg2, assert, pt_statement_info::expr, parser_node::info, parser_node::next, parser_node::node_type, pt_expr_info::op, parser_node::or_next, PT_ASSIGN, PT_BETWEEN, PT_EQ, PT_EXPR, PT_EXPR_INFO_DO_NOT_AUTOPARAM, PT_EXPR_INFO_IS_FLAGED, PT_GE, pt_get_first_arg_ignore_prior(), PT_GT, pt_is_attr(), PT_IS_COLLECTION_TYPE, pt_is_const_not_hostvar, pt_is_instnum, PT_IS_NULL_NODE, pt_is_orderbynum, PT_LE, PT_LIKE, PT_LT, PT_RANGE, pt_rewrite_to_auto_param(), and parser_node::type_enum.
Referenced by do_execute_update(), mq_auto_param_merge_clauses(), and qo_optimize_queries().
size_t json_table_column_count |