CUBRID Engine
latest
|
#include "config.h"
#include <assert.h>
#include <unordered_map>
#include "authenticate.h"
#include "porting.h"
#include "error_manager.h"
#include "parser.h"
#include "parser_message.h"
#include "semantic_check.h"
#include "dbtype.h"
#include "object_domain.h"
#include "object_primitive.h"
#include "memory_alloc.h"
#include "intl_support.h"
#include "memory_hash.h"
#include "system_parameter.h"
#include "object_print.h"
#include "jsp_cl.h"
#include "execute_schema.h"
#include "schema_manager.h"
#include "transform.h"
#include "execute_statement.h"
#include "show_meta.h"
#include "network_interface_cl.h"
#include "locator_cl.h"
#include "db_json.hpp"
Go to the source code of this file.
Classes | |
struct | extra_specs_frame |
struct | scopes |
struct | pt_bind_names_arg |
struct | natural_join_attr_info |
struct | pt_bind_names_data_type |
Macros | |
#define | PT_NAMES_HASH_SIZE 50 |
Typedefs | |
typedef struct extra_specs_frame | PT_EXTRA_SPECS_FRAME |
typedef struct scopes | SCOPES |
typedef struct pt_bind_names_arg | PT_BIND_NAMES_ARG |
typedef struct natural_join_attr_info | NATURAL_JOIN_ATTR_INFO |
typedef struct pt_bind_names_data_type | PT_BIND_NAMES_DATA_TYPE |
Enumerations | |
enum | { REQUIRE_ALL_MATCH = false, DISCARD_NO_MATCH = true } |
Variables | |
int | parser_function_code |
size_t | json_table_column_count |
static const char * | CPTR_PT_NAME_IN_GROUP_HAVING = "name_in_group_having" |
#define PT_NAMES_HASH_SIZE 50 |
Definition at line 62 of file name_resolution.c.
Referenced by pt_make_subclass_list().
typedef struct natural_join_attr_info NATURAL_JOIN_ATTR_INFO |
Definition at line 89 of file name_resolution.c.
typedef struct pt_bind_names_arg PT_BIND_NAMES_ARG |
Definition at line 81 of file name_resolution.c.
typedef struct pt_bind_names_data_type PT_BIND_NAMES_DATA_TYPE |
Definition at line 106 of file name_resolution.c.
typedef struct extra_specs_frame PT_EXTRA_SPECS_FRAME |
Definition at line 64 of file name_resolution.c.
Definition at line 71 of file name_resolution.c.
anonymous enum |
Enumerator | |
---|---|
REQUIRE_ALL_MATCH | |
DISCARD_NO_MATCH |
Definition at line 98 of file name_resolution.c.
|
static |
Definition at line 1493 of file name_resolution.c.
References pt_expr_info::arg1, assert, pt_insert_info::attr_list, pt_merge_info::attr_list, sm_class::attributes, au_fetch_class_force(), AU_FETCH_READ, DB_IS_DATETIME_DEFAULT_EXPR, db_make_null(), pt_name_info::db_object, sm_default_value::default_expr, db_default_expr::default_expr_type, sm_attribute::default_value, pt_spec_info::entity_name, pt_statement_info::expr, parser_node::flag, sm_attribute::header, parser_node::info, pt_merge_info::insert, pt_statement_info::insert, pt_merge_info::into, pt_node_list_info::list, pt_node_list_info::list_type, pt_statement_info::merge, pt_statement_info::name, sm_component::next, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, pt_expr_info::op, parser_append_node(), parser_copy_tree(), parser_free_node(), parser_free_tree(), parser_new_node(), PT_DEFAULTF, PT_ERROR, PT_EXPR, PT_INSERT, PT_IS_DEFAULT_VALUE, PT_IS_VALUE, PT_MERGE, pt_set_fill_default_in_path_expression(), parser_node::si_datetime, pt_insert_info::spec, pt_statement_info::spec, parser_context::sys_datetime, pt_insert_info::value_clauses, and pt_merge_info::value_clauses.
Referenced by pt_bind_names().
|
static |
Definition at line 7230 of file name_resolution.c.
References natural_join_attr_info::next, and NULL.
Referenced by generate_natural_join_attrs_from_db_attrs(), generate_natural_join_attrs_from_subquery(), and pt_resolve_natural_join_internal().
|
static |
Definition at line 7332 of file name_resolution.c.
References db_attribute_is_shared(), db_attribute_name(), db_attribute_next(), db_attribute_type(), ER_OUT_OF_VIRTUAL_MEMORY, free_natural_join_attrs(), natural_join_attr_info::meta_class, natural_join_attr_info::name, natural_join_attr_info::next, NO_ERROR, NULL, pt_db_to_type_enum(), PT_NORMAL, PT_SHARED, and natural_join_attr_info::type_enum.
Referenced by get_natural_join_attrs_from_pt_spec().
|
static |
Definition at line 7251 of file name_resolution.c.
References parser_node::alias_print, ER_OUT_OF_VIRTUAL_MEMORY, free_natural_join_attrs(), parser_node::info, natural_join_attr_info::meta_class, pt_name_info::meta_class, natural_join_attr_info::name, pt_statement_info::name, natural_join_attr_info::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, PT_NAME, PT_NORMAL, natural_join_attr_info::type_enum, and parser_node::type_enum.
Referenced by get_natural_join_attrs_from_pt_spec().
|
static |
Definition at line 7380 of file name_resolution.c.
References pt_spec_info::as_attr_list, assert, db_get_attributes(), pt_name_info::db_object, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_spec_info::entity_name, generate_natural_join_attrs_from_db_attrs(), generate_natural_join_attrs_from_subquery(), parser_node::info, pt_select_info::list, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, PT_ERRORm, PT_IS_SUBQUERY, PT_SELECT, PT_SPEC, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, pt_query_info::q, pt_statement_info::query, pt_query_info::select, and pt_statement_info::spec.
Referenced by pt_resolve_natural_join_internal().
Definition at line 7719 of file name_resolution.c.
References CPTR_PT_NAME_IN_GROUP_HAVING, parser_node::etc, intl_identifier_casecmp(), parser_node::node_type, NULL, and PT_NAME.
Referenced by pt_bind_name_or_path_in_scope().
|
static |
Definition at line 7201 of file name_resolution.c.
References assert, intl_identifier_casecmp(), natural_join_attr_info::name, and NULL.
Referenced by pt_resolve_natural_join_internal().
PT_NODE* pt_add_class_to_entity_list | ( | PARSER_CONTEXT * | parser, |
DB_OBJECT * | class_, | ||
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().
|
static |
Definition at line 9857 of file name_resolution.c.
References parser_node::node_type, NULL, pt_bind_spec_attrs(), PT_LIST_WALK, PT_SPEC, and PT_SPEC_IS_CTE.
Referenced by pt_bind_names_in_cte().
|
static |
Definition at line 672 of file name_resolution.c.
References pt_dot_info::arg2, scopes::correlation_level, pt_name_info::correlation_level, pt_statement_info::dot, er_errid(), er_msg(), er_stack_pop(), er_stack_push(), parser_node::info, is_pt_name_in_group_having(), pt_spec_info::location, pt_name_info::location, pt_name_info::meta_class, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SEMANTIC_OUTERJOIN_PATH_EXPR, MSGCAT_SEMANTIC_OUTERJOIN_SCOPE, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, scopes::next, NO_ERROR, parser_node::node_type, NULL, pt_bind_parameter_path(), PT_DOT_, PT_ERRORc, PT_ERRORmf, pt_expand_external_path(), pt_find_outer_entity_in_scopes(), pt_get_resolution(), pt_has_error, PT_HINT_NAME, PT_INDEX_NAME, PT_NAME, pt_resolved(), pt_short_print(), pt_bind_names_arg::scopes, pt_statement_info::spec, pt_name_info::spec_id, and scopes::specs.
Referenced by pt_bind_names().
|
static |
Definition at line 10150 of file name_resolution.c.
References assert, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, pt_name_info::original, PT_NAME, PT_NORMAL, pt_resolved(), PT_SPEC, pt_spec_info::range_var, REINTERPRET_CAST, pt_name_info::resolved, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_bind_scope().
|
static |
Definition at line 1638 of file name_resolution.c.
References pt_statement_info::alter, pt_dot_info::arg1, pt_expr_info::arg1, pt_union_info::arg1, pt_dot_info::arg2, pt_expr_info::arg2, pt_union_info::arg2, pt_function_info::arg_list, pt_method_call_info::arg_list, assert, pt_merge_info::assignment, pt_insert_info::attr_list, pt_merge_info::attr_list, pt_method_call_info::call_or_expr, CASE_INSENSITIVE, pt_delete_info::class_specs, pt_insert_info::class_specs, pt_update_info::class_specs, scopes::correlation_level, pt_query_info::correlation_level, pt_alter_info::create_index, pt_name_info::custom_print, parser_context::custom_print, parser_node::data_type, pt_value_info::data_value, db_is_system_class(), pt_name_info::db_object, pt_statement_info::delete_, pt_statement_info::dot, pt_spec_info::entity_name, parser_node::etc, EXCLUDE_HIDDEN_COLUMNS, pt_statement_info::expr, extra_specs_frame::extra_specs, F_TOP_TABLE_FUNC, fill_in_insert_default_function_arguments(), pt_spec_info::flag, pt_spec_info::flat_entity_list, pt_scope_info::from, pt_select_info::from, pt_statement_info::function, pt_function_info::function_type, pt_function_info::generic_name, pt_select_info::hint, i, pt_spec_info::id, pt_statement_info::index, pt_index_info::indexed_class, parser_node::info, pt_merge_info::insert, pt_statement_info::insert, pt_merge_info::into, pt_spec_info::join_type, jsp_is_exist_stored_procedure(), pt_node_list_info::list, pt_select_info::list, scopes::location, pt_spec_info::location, pt_name_info::location, pt_statement_info::merge, pt_name_info::meta_class, pt_statement_info::method_call, pt_method_call_info::method_name, MSGCAT_SEMANTIC_INVALID_INTERNAL_FUNCTION, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SEMANTIC_METH_DOESNT_EXIST, MSGCAT_SEMANTIC_NO_ATTRIBUTES_IN_CLS, MSGCAT_SEMANTIC_NOT_ATTRIBUTE_OF, MSGCAT_SEMANTIC_OUTERJOIN_JOIN_COND_SUBQ, MSGCAT_SEMANTIC_OUTERJOIN_PATH_EXPR, MSGCAT_SEMANTIC_PREFIX_IN_FUNC_INDX_NOT_ALLOWED, MSGCAT_SEMANTIC_UNKNOWN_FUNCTION, MSGCAT_SEMANTIC_WANT_SINGLE_TABLE_IN, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, extra_specs_frame::next, scopes::next, parser_node::next, NO_ERROR, pt_statement_info::node_list, parser_node::node_type, NULL, pt_insert_info::odku_assignments, pt_method_call_info::on_call_target, pt_spec_info::on_cond, pt_expr_info::op, semantic_chk_info::Oracle_outerjoin_attr_num, semantic_chk_info::Oracle_outerjoin_path_num, semantic_chk_info::Oracle_outerjoin_spec, semantic_chk_info::Oracle_outerjoin_subq_num, pt_query_info::order_by, pt_name_info::original, parser_append_node(), parser_copy_tree_list(), parser_free_node(), parser_free_tree(), parser_function_code, parser_walk_leaves(), parser_walk_tree(), prm_get_bool_value(), PRM_ID_ORACLE_STYLE_OUTERJOIN, PT_ALTER, PT_ALTER_INDEX, pt_bind_name_or_path_in_scope(), pt_bind_names_in_cte(), pt_bind_names_in_with_clause(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_names_post(), pt_bind_scope(), pt_bind_type_of_host_var(), pt_check_Oracle_outerjoin(), pt_clear_Oracle_outerjoin_spec_id(), pt_cnf(), PT_CONTINUE_WALK, pt_continue_walk(), PT_CREATE_INDEX, PT_CTE, PT_CURRENT_VALUE, PT_DATA_TYPE, PT_DELETE, PT_DIFFERENCE, PT_DOT_, PT_DROP_INDEX, PT_EMPTY, PT_ERROR, PT_ERRORf, PT_ERRORm, PT_ERRORmf, PT_ERRORmf2, PT_EXPR, PT_EXPR_INFO_IS_FLAGED, PT_EXPR_INFO_LEFT_OUTER, PT_EXPR_INFO_RIGHT_OUTER, pt_find_entity_in_scopes(), pt_find_function_type(), PT_FUNCTION, pt_function_name_is_spec_attr(), PT_GENERIC, pt_has_error, PT_HINT_SELECT_BTREE_NODE_INFO, PT_HINT_SELECT_KEY_INFO, PT_HINT_SELECT_PAGE_INFO, PT_HINT_SELECT_RECORD_INFO, PT_HOST_VAR, PT_IDX_HINT_FORCE, PT_INDEX_NAME, PT_INSERT, PT_INTERNAL_ERROR, PT_INTERSECTION, pt_is_attr(), PT_IS_CALL_STMT, pt_is_const, PT_IS_NAME_NODE, PT_IS_SELECT, PT_JOIN_INNER, PT_JOIN_LEFT_OUTER, PT_JOIN_NONE, PT_JOIN_RIGHT_OUTER, pt_length_of_select_list(), PT_LIST_WALK, pt_make_method_call(), pt_mark_location(), PT_MERGE, PT_METHOD, PT_METHOD_CALL, PT_NAME, PT_NEXT_VALUE, pt_no_double_insert_assignments(), PT_NODE_INIT_OUTERLINK, PT_PARAMETER, pt_resolve_hint(), pt_resolve_method_type(), pt_resolve_star(), pt_resolve_vclass_args(), PT_SCOPE, PT_SELECT, PT_SELECT_INFO_ANSI_JOIN, PT_SELECT_INFO_IS_FLAGED, PT_SELECT_INFO_ORACLE_OUTER, pt_short_print(), PT_SPEC, PT_SPEC_FLAG_BTREE_NODE_INFO_SCAN, PT_SPEC_FLAG_KEY_INFO_SCAN, PT_SPEC_FLAG_PAGE_INFO_SCAN, PT_SPEC_FLAG_RECORD_INFO_SCAN, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, PT_STOP_WALK, pt_str_compare(), PT_SUPPRESS_RESOLVED, pt_type_generic_func(), PT_TYPE_MAYBE, PT_TYPE_OBJECT, PT_TYPE_SEQUENCE, PT_TYPE_STAR, pt_undef_names_post(), pt_undef_names_pre(), PT_UNION, PT_UPDATE, PT_VALUE, PT_WITH_CLAUSE, pt_query_info::q, pt_statement_info::query, pt_name_info::resolved, pt_bind_names_arg::sc_info, pt_statement_info::scope, pt_bind_names_arg::scopes, pt_query_info::select, pt_data_value::set, pt_delete_info::spec, pt_insert_info::spec, pt_update_info::spec, pt_statement_info::spec, pt_bind_names_arg::spec_frames, pt_name_info::spec_id, scopes::specs, semantic_chk_info::system_class, semantic_chk_info::top_node, parser_node::type_enum, pt_query_info::union_, pt_merge_info::update, pt_statement_info::update, pt_merge_info::using_clause, pt_select_info::using_index, pt_statement_info::value, pt_insert_info::value_clauses, pt_merge_info::value_clauses, and pt_select_info::where.
Referenced by pt_bind_names_in_cte(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_scope(), pt_get_resolution(), pt_make_method_call(), pt_quick_resolve_names(), and pt_resolve_names().
|
static |
Definition at line 9761 of file name_resolution.c.
References pt_cte_info::as_attr_list, assert, pt_statement_info::cte, semantic_chk_info::donot_fold, parser_node::info, pt_cte_info::name, parser_node::next, parser_node::node_type, pt_cte_info::non_recursive_part, NULL, parser_walk_tree(), pt_bind_cte_self_references_types(), pt_bind_names(), pt_bind_names_post(), PT_CTE, pt_get_attr_list_of_derived_table(), PT_IS_SUBQUERY, pt_semantic_type(), pt_set_attr_list_types(), pt_cte_info::recursive_part, and pt_bind_names_arg::sc_info.
Referenced by pt_bind_names(), and pt_bind_names_in_with_clause().
|
static |
Definition at line 9706 of file name_resolution.c.
References assert, pt_with_clause_info::cte_definition_list, pt_statement_info::delete_, parser_node::info, parser_node::next, parser_node::node_type, NULL, pt_bind_names_in_cte(), PT_DELETE, PT_DIFFERENCE, pt_has_error, PT_INTERSECTION, PT_SELECT, PT_UNION, PT_UPDATE, pt_statement_info::query, 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_bind_names().
|
static |
Definition at line 9396 of file name_resolution.c.
References assert, pt_merge_info::attr_list, pt_statement_info::expr, extra_specs_frame::extra_specs, parser_node::info, pt_merge_info::insert, pt_merge_info::into, pt_node_list_info::list, pt_statement_info::merge, extra_specs_frame::next, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, pt_expr_info::op, parser_walk_tree(), pt_bind_names(), pt_bind_names_post(), pt_bind_scope(), PT_DEFAULTF, PT_EXPR, pt_has_error, PT_MERGE, pt_bind_names_arg::scopes, pt_merge_info::search_cond, pt_bind_names_arg::spec_frames, scopes::specs, pt_merge_info::using_clause, and pt_merge_info::value_clauses.
Referenced by pt_bind_names().
|
static |
Definition at line 9492 of file name_resolution.c.
References pt_expr_info::arg1, pt_expr_info::arg2, assert, pt_merge_info::assignment, pt_statement_info::expr, extra_specs_frame::extra_specs, parser_node::info, pt_merge_info::into, pt_statement_info::merge, extra_specs_frame::next, parser_node::next, NULL, parser_walk_tree(), pt_bind_names(), pt_bind_names_post(), pt_bind_scope(), pt_has_error, PT_IS_N_COLUMN_UPDATE_EXPR, pt_bind_names_arg::scopes, pt_bind_names_arg::spec_frames, scopes::specs, pt_merge_info::update, and pt_merge_info::using_clause.
Referenced by pt_bind_names().
|
static |
Definition at line 1131 of file name_resolution.c.
References pt_expr_info::arg1, pt_function_info::arg_list, assert, pt_update_info::assignment, pt_merge_info::assignment, au_fetch_class_force(), AU_FETCH_READ, btree_get_index_key_type(), classobj_find_class_index(), pt_bind_names_data_type::data_type, pt_value_info::data_value, pt_name_info::db_object, pt_spec_info::entity_name, error(), pt_statement_info::expr, F_MULTISET, F_SEQUENCE, F_SET, pt_select_info::from, pt_statement_info::function, pt_function_info::function_type, sm_class_constraint::index_btid, parser_node::info, pt_merge_info::into, pt_statement_info::merge, pt_name_info::meta_class, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, parser_free_tree(), parser_walk_tree(), PT_CONTINUE_WALK, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_ERRORm, PT_ERRORmf, PT_EXPR, pt_find_name_in_spec(), PT_FUNCTION, pt_instnum_compatibility(), PT_INTERNAL_ERROR, PT_IS_N_COLUMN_UPDATE_EXPR, pt_is_set_type, pt_mark_function_index_expression(), PT_MERGE, PT_NAME, PT_OID_ATTR, PT_SELECT, pt_semantic_type(), pt_set_reserved_name_key_type(), pt_short_print(), PT_SPEC_SPECIAL_INDEX_SCAN, PT_TYPE_MULTISET, PT_TYPE_NONE, PT_TYPE_SEQUENCE, PT_TYPE_SET, PT_TYPE_STAR, PT_UPDATE, PT_VALUE, pt_value_to_db(), pt_query_info::q, pt_statement_info::query, pt_name_info::resolved, pt_bind_names_arg::sc_info, pt_query_info::select, pt_data_value::set, pt_update_info::spec, pt_statement_info::spec, pt_name_info::spec_id, TP_DOMAIN_TYPE, pt_bind_names_data_type::type_enum, parser_node::type_enum, pt_merge_info::update, pt_statement_info::update, pt_merge_info::using_clause, pt_select_info::using_index, and pt_statement_info::value.
Referenced by pt_bind_names(), pt_bind_names_in_cte(), pt_bind_names_merge_insert(), pt_bind_names_merge_update(), pt_bind_scope(), pt_get_resolution(), pt_make_method_call(), pt_quick_resolve_names(), and pt_resolve_names().
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().
|
static |
Definition at line 436 of file name_resolution.c.
References assert, parser_node::data_type, DB_FETCH_READ, db_get_object(), DB_TYPE_OBJECT, DB_VALUE_TYPE, er_errid(), parser_node::info, LC_DOESNOT_EXIST, LC_ERROR, LC_EXIST, locator_does_exist_object(), pt_name_info::meta_class, pt_statement_info::name, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, parser_free_tree(), pt_dbval_to_value(), pt_find_value_of_label(), PT_NAME, PT_PARAMETER, PT_TYPE_NONE, and parser_node::type_enum.
Referenced by pt_bind_param_node(), pt_bind_parameter_path(), and pt_get_resolution().
|
static |
Definition at line 510 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, parser_node::data_type, pt_statement_info::dot, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, parser_free_tree(), pt_bind_parameter(), PT_DOT_, pt_eval_value_path(), PT_NAME, PT_PARAMETER, and parser_node::type_enum.
Referenced by pt_bind_name_or_path_in_scope(), and pt_get_resolution().
|
static |
Definition at line 576 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, assert, CASE_INSENSITIVE, parser_node::data_type, pt_name_info::db_object, pt_statement_info::dot, pt_spec_info::entity_name, i, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, parser_free_tree(), PT_CHECK_RESERVED_NAME_BIND, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_DOT_, PT_NAME, PT_NODE_MOVE_NUMBER_OUTERLINK, PT_RESERVED, pt_Reserved_name_table, pt_str_compare(), PT_TYPE_OBJECT, pt_spec_info::range_var, RESERVED_ATTR_COUNT, pt_name_info::reserved_id, pt_name_info::resolved, pt_statement_info::spec, pt_name_info::spec_id, tp_domain_resolve(), and parser_node::type_enum.
Referenced by pt_get_resolution().
|
static |
Definition at line 965 of file name_resolution.c.
References assert, pt_spec_info::derived_table, pt_spec_info::derived_table_type, semantic_chk_info::donot_fold, pt_json_table_info::expr, parser_node::info, pt_statement_info::json_table_info, parser_node::next, parser_node::node_type, NULL, parser_walk_tree(), pt_bind_name_to_spec(), pt_bind_names(), pt_bind_names_post(), pt_bind_spec_attrs(), PT_DERIVED_JSON_TABLE, pt_has_error, PT_JSON_TABLE, pt_semantic_type(), PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, pt_bind_names_arg::sc_info, pt_bind_names_arg::scopes, pt_statement_info::spec, scopes::specs, and pt_json_table_info::tree.
Referenced by pt_bind_names(), pt_bind_names_merge_insert(), and pt_bind_names_merge_update().
|
static |
Definition at line 873 of file name_resolution.c.
References pt_cte_info::as_attr_list, pt_spec_info::as_attr_list, assert, pt_statement_info::cte, pt_spec_info::cte_pointer, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_spec_info::id, parser_node::info, MSGCAT_SEMANTIC_ATT_CNT_NE_DERIVED_C, MSGCAT_SET_PARSER_SEMANTIC, pt_pointer_info::node, parser_node::node_type, NULL, parser_copy_tree_list(), parser_free_tree(), pt_statement_info::pointer, PT_ERRORmf3, pt_get_attr_list_of_derived_table(), PT_INTERNAL_ERROR, pt_length_of_list(), PT_NORMAL, pt_set_attr_list_types(), pt_short_print(), PT_SPEC, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, pt_spec_info::range_var, pt_statement_info::spec, and parser_node::type_enum.
Referenced by pt_bind_cte_self_references_types(), and pt_bind_scope().
|
static |
Definition at line 842 of file name_resolution.c.
References NULL, pt_bind_type_from_dbval(), and pt_host_var_db_value().
Referenced by pt_bind_names().
|
static |
Definition at line 3190 of file name_resolution.c.
References pt_statement_info::host_var, parser_node::info, parser_node::node_type, parser_free_tree(), prm_get_bool_value(), PRM_ID_HOSTVAR_LATE_BINDING, pt_dbval_to_value(), PT_HOST_IN, PT_HOST_VAR, PT_NODE_MOVE_NUMBER_OUTERLINK, pt_value_to_db(), and pt_host_var_info::var_type.
Referenced by pt_bind_values_to_hostvars().
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().
|
static |
Definition at line 1365 of file name_resolution.c.
References pt_spec_info::id, parser_node::info, pt_statement_info::name, parser_node::node_type, semantic_chk_info::Oracle_outerjoin_attr_num, semantic_chk_info::Oracle_outerjoin_path_num, semantic_chk_info::Oracle_outerjoin_spec, semantic_chk_info::Oracle_outerjoin_subq_num, PT_DOT_, PT_NAME, PT_SELECT, PT_STOP_WALK, pt_bind_names_arg::sc_info, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_bind_names().
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().
|
static |
Definition at line 3787 of file name_resolution.c.
References CASE_INSENSITIVE, parser_node::info, pt_name_info::meta_class, MSGCAT_SEMANTIC_AMBIGUOUS_EXPOSED_NM, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, pt_name_info::original, PT_ERRORmf, PT_META_CLASS, pt_str_compare(), pt_spec_info::range_var, and pt_statement_info::spec.
Referenced by pt_flat_spec_pre().
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.
|
static |
Definition at line 1420 of file name_resolution.c.
References parser_node::info, pt_statement_info::name, parser_node::node_type, PT_NAME, PT_STOP_WALK, pt_bind_names_arg::sc_info, and pt_name_info::spec_id.
Referenced by pt_bind_names().
|
static |
Definition at line 3913 of file name_resolution.c.
References parser_node::next, NULL, parser_append_node(), pt_check_same_datatype(), and pt_is_on_list().
Referenced by pt_resolve_star().
|
static |
Definition at line 8465 of file name_resolution.c.
References pt_statement_info::data_type, db_get_class_name(), pt_name_info::db_object, pt_data_type_info::entity, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, parser_copy_tree_list(), PT_DATA_TYPE, pt_name(), and pt_data_type_info::virt_object.
Referenced by pt_insert_entity(), and pt_make_flat_list_from_data_types().
|
static |
Definition at line 8227 of file name_resolution.c.
References assert, parser_node::node_type, NULL, pt_node_etc(), pt_null_etc(), PT_SPEC, and PT_SPEC_IS_CTE.
Referenced by pt_resolve_cte_specs().
|
static |
Definition at line 10136 of file name_resolution.c.
References parser_node::info, parser_node::node_type, NULL, PT_IS_QUERY_NODE_TYPE, pt_statement_info::query, and pt_query_info::with.
Referenced by pt_resolve_cte_specs().
|
static |
Definition at line 7550 of file name_resolution.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_statement_info::expr, parser_node::info, NULL, pt_expr_info::op, parser_new_node(), PT_AND, PT_EXPR, PT_TYPE_LOGICAL, and parser_node::type_enum.
Referenced by pt_resolve_natural_join_internal().
|
static |
Definition at line 7472 of file name_resolution.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_statement_info::expr, parser_node::info, NULL, pt_expr_info::op, parser_new_node(), PT_EQ, PT_EXPR, PT_TYPE_LOGICAL, and parser_node::type_enum.
Referenced by pt_resolve_natural_join_internal().
|
static |
Definition at line 7500 of file name_resolution.c.
References assert, pt_statement_info::cte, pt_spec_info::cte_pointer, pt_spec_info::entity_name, pt_spec_info::id, parser_node::info, natural_join_attr_info::meta_class, pt_name_info::meta_class, natural_join_attr_info::name, pt_cte_info::name, pt_statement_info::name, pt_pointer_info::node, NULL, pt_name_info::original, parser_new_node(), pt_statement_info::pointer, pt_append_string(), PT_IS_SPEC_REAL_TABLE, PT_NAME, PT_NAME_DEFAULTF_ACCEPTS, PT_NAME_INFO_SET_FLAG, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, pt_name_info::resolved, pt_statement_info::spec, pt_name_info::spec_id, natural_join_attr_info::type_enum, and parser_node::type_enum.
Referenced by pt_resolve_natural_join_internal().
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_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().
|
static |
Definition at line 5354 of file name_resolution.c.
References parser_node::alias_print, pt_dot_info::arg1, pt_dot_info::arg2, pt_statement_info::data_type, parser_node::data_type, db_get_attribute_force(), pt_name_info::db_object, pt_statement_info::dot, pt_data_type_info::entity, parser_node::info, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, parser_copy_tree_list(), parser_new_node(), pt_append_string(), PT_DOT_, pt_find_attr_in_class_list(), pt_insert_entity(), PT_IS_DOT_NODE, PT_IS_NAME_NODE, pt_name(), PT_NAME, PT_NAME_INFO_EXTERNAL, PT_NAME_INFO_IS_FLAGED, PT_NODE_COPY_NUMBER_OUTERLINK, PT_NODE_INIT_OUTERLINK, PT_TYPE_OBJECT, and parser_node::type_enum.
Referenced by pt_bind_name_or_path_in_scope().
|
static |
Definition at line 3378 of file name_resolution.c.
References assert, parser_node::data_type, pt_value_info::data_value, DB_DEFAULT_NONE, db_get_attribute_force(), pt_name_info::db_object, 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_AU_AUTHORIZATION_FAILURE, ER_AU_SELECT_FAILURE, er_errid(), er_msg(), 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, parser_node::next, 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_ERRORc, PT_ERRORm, pt_expression_0(), pt_get_attr_data_type(), PT_INTERNAL_ERROR, pt_make_string_value(), PT_META_CLASS, PT_NAME, PT_NAME_INFO_FILL_DEFAULT, PT_NAME_INFO_IS_FLAGED, PT_OID_ATTR, pt_op_type_from_default_expr_type(), PT_TO_CHAR, PT_TYPE_INTEGER, PT_VALUE, pt_name_info::spec_id, TP_DOMAIN_TYPE, parser_node::type_enum, sm_default_value::value, and pt_statement_info::value.
Referenced by pt_expand_external_path(), pt_find_name_in_spec(), and pt_get_resolution().
|
static |
Definition at line 3521 of file name_resolution.c.
References db_get_class_attribute(), pt_name_info::db_object, ER_AU_AUTHORIZATION_FAILURE, ER_AU_SELECT_FAILURE, er_errid(), er_msg(), parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::node_type, pt_name_info::original, PT_ERRORc, pt_get_attr_data_type(), pt_has_error, PT_META_ATTR, PT_NAME, and pt_name_info::spec_id.
Referenced by pt_find_name_in_spec(), and pt_get_resolution().
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().
|
static |
Definition at line 9076 of file name_resolution.c.
References scopes::next, NULL, pt_find_entity(), and scopes::specs.
Referenced by pt_bind_names(), and pt_make_method_call().
Definition at line 1044 of file name_resolution.c.
References F_TABLE_MULTISET, F_TABLE_SEQUENCE, F_TABLE_SET, intl_mbs_casecmp(), and PT_GENERIC.
Referenced by pt_bind_names().
|
static |
Definition at line 3570 of file name_resolution.c.
References pt_spec_info::as_attr_list, assert, CASE_INSENSITIVE, parser_node::data_type, db_make_null(), pt_name_info::default_value, pt_spec_info::derived_table_type, pt_spec_info::entity_name, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, pt_spec_info::meta_class, pt_name_info::meta_class, pt_statement_info::name, NULL, pt_name_info::original, parser_copy_tree_list(), PT_CLASS, pt_dbval_to_value(), PT_DERIVED_JSON_TABLE, pt_find_attr_in_class_list(), pt_find_class_attribute(), pt_is_on_list(), PT_META_CLASS, PT_NAME_DEFAULTF_ACCEPTS, PT_NAME_INFO_SET_FLAG, PT_NORMAL, PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_SPEC_IS_ENTITY, pt_str_compare(), 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 pt_bind_names_post(), pt_function_name_is_spec_attr(), and pt_get_resolution().
|
static |
Definition at line 9101 of file name_resolution.c.
References pt_spec_info::id, parser_node::info, pt_spec_info::join_type, pt_spec_info::location, parser_node::next, parser_node::node_type, NULL, PT_INTERNAL_ERROR, PT_JOIN_NONE, PT_SPEC, pt_statement_info::spec, and scopes::specs.
Referenced by pt_bind_name_or_path_in_scope().
|
static |
Definition at line 5538 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 pt_unwhacked_spec().
PT_NODE* pt_flat_spec_pre | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
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().
|
static |
Definition at line 9269 of file name_resolution.c.
References assert, ER_FAILED, pt_statement_info::function, pt_function_info::generic_name, parser_node::info, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, scopes::next, parser_node::next, NO_ERROR, parser_node::node_type, NULL, parser_free_node(), PT_ERRORm, pt_find_name_in_spec(), PT_FUNCTION, pt_name(), pt_bind_names_arg::scopes, and scopes::specs.
Referenced by pt_bind_names().
|
static |
Definition at line 4281 of file name_resolution.c.
References parser_node::column_number, db_attribute_name(), db_attribute_next(), db_get_attributes_force(), db_get_class_attributes(), pt_name_info::db_object, pt_spec_info::entity_name, pt_spec_info::id, parser_node::info, parser_node::line_number, pt_spec_info::meta_class, pt_name_info::meta_class, when_desc::name, pt_statement_info::name, parser_node::node_type, NULL, on_error, parser_free_tree(), pt_get_attr_data_type(), pt_has_error, PT_META_ATTR, PT_META_CLASS, pt_name(), PT_NAME, PT_SPEC, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_resolve_star().
|
static |
Definition at line 4400 of file name_resolution.c.
References assert, parser_node::data_type, i, parser_node::info, pt_statement_info::name, parser_node::next, NULL, parser_copy_tree(), parser_walk_tree(), pt_json_table_gather_attribs(), pt_name(), pt_name_info::resolved, and parser_node::type_enum.
Referenced by pt_get_attr_list_of_derived_table().
|
static |
Definition at line 4458 of file name_resolution.c.
References db_attribute_name(), db_attribute_next(), parser_node::info, parser_node::node_type, NULL, on_error, parser_append_node(), parser_free_tree(), pt_get_attr_data_type(), pt_name(), PT_SHOWSTMT, pt_showstmt_info::show_type, pt_statement_info::showstmt, and showstmt_get_attributes().
Referenced by pt_get_attr_list_of_derived_table().
|
static |
Definition at line 4507 of file name_resolution.c.
References parser_node::data_type, db_attribute_domain(), db_attribute_is_shared(), parser_node::etc, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_NORMAL, PT_SHARED, PT_TYPE_BIT, PT_TYPE_CHAR, PT_TYPE_ENUMERATION, PT_TYPE_JSON, 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, TP_DOMAIN_TYPE, and parser_node::type_enum.
Referenced by pt_find_attr_in_class_list(), pt_find_class_attribute(), pt_get_all_attributes_and_types(), and pt_get_all_showstmt_attributes_and_types().
|
static |
Definition at line 9883 of file name_resolution.c.
References parser_node::alias_print, assert, parser_varchar::bytes, parser_node::data_type, i, parser_node::info, pt_statement_info::json_table_info, mq_generate_name(), pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, parser_append_node(), parser_copy_tree_list(), PT_DERIVED_JSON_TABLE, PT_EXPR, PT_FUNCTION, pt_get_all_json_table_attributes_and_types(), pt_get_all_showstmt_attributes_and_types(), pt_get_select_list(), PT_INTERNAL_ERROR, PT_IS_CSELECT, PT_IS_SET_EXPR, PT_IS_SHOWSTMT, PT_IS_SUBQUERY, PT_JSON_TABLE, pt_name(), PT_NAME, pt_print_bytes(), PT_VALUE, pt_value_info::text, pt_json_table_info::tree, parser_node::type_enum, and pt_statement_info::value.
Referenced by pt_bind_names_in_cte(), and pt_bind_spec_attrs().
|
static |
Definition at line 4747 of file name_resolution.c.
References parser_node::alias_print, pt_dot_info::arg1, pt_expr_info::arg1, pt_dot_info::arg2, pt_statement_info::data_type, parser_node::data_type, pt_name_info::db_object, pt_spec_info::derived_table, pt_spec_info::derived_table_type, pt_statement_info::dot, pt_data_type_info::entity, pt_spec_info::entity_name, pt_statement_info::expr, extra_specs_frame::extra_specs, pt_spec_info::flat_entity_list, pt_flat_spec_info::for_update, pt_spec_info::id, parser_node::info, pt_spec_info::meta_class, pt_name_info::meta_class, pt_statement_info::method_call, pt_method_call_info::method_name, MSGCAT_SEMANTIC_AMBIGUOUS_REF_TO, MSGCAT_SEMANTIC_CLASS_DOES_NOT_HAVE, MSGCAT_SEMANTIC_CLASS_HAS_NO_ATTR, MSGCAT_SEMANTIC_CLASSES_HAVE_NO_ATTR, MSGCAT_SEMANTIC_CYCLIC_SELECTOR, MSGCAT_SEMANTIC_DOM_OBJ_HASNO_ATT_X, MSGCAT_SEMANTIC_IS_NOT_OBJECT_TYPE, MSGCAT_SEMANTIC_PATH_CORR_OUTSIDE, MSGCAT_SEMANTIC_SELECTOR_DEFINE_SELF, MSGCAT_SEMANTIC_SELECTOR_NOT_SUBCLASS, MSGCAT_SEMANTIC_SELECTOR_REDEFINED, MSGCAT_SEMANTIC_SELECTOR_TO_NON_CLS, MSGCAT_SEMANTIC_SELECTOR_UNRESOLVED, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_spec_info::only_all, pt_name_info::original, parser_append_node(), parser_copy_tree(), parser_copy_tree_list(), parser_free_tree(), parser_new_node(), parser_walk_tree(), pt_name_info::partition, pt_spec_info::path_conjuncts, pt_name_info::path_correlation, pt_spec_info::path_entities, pt_bind_names(), pt_bind_names_post(), pt_bind_parameter(), pt_bind_parameter_path(), pt_bind_reserved_name(), pt_continue_walk(), PT_DATA_TYPE, PT_DOT_, PT_ERRORmf, PT_ERRORmf2, PT_ERRORmf3, pt_eval_value_path(), pt_find_attr_in_class_list(), pt_find_class_attribute(), pt_find_entity(), pt_find_name_in_spec(), pt_find_users_class(), pt_flat_spec_pre(), PT_FUNCTION, pt_has_error, pt_insert_entity(), PT_INTERNAL_ERROR, pt_is_correlation_name(), PT_IS_SPEC_FLAG_SET, PT_IS_SPEC_REAL_TABLE, PT_IS_WHACKED_SPEC, PT_META_CLASS, PT_METHOD_CALL, pt_name(), PT_NAME, PT_NAME_DEFAULTF_ACCEPTS, pt_name_equal(), PT_NAME_INFO_DOT_NAME, PT_NAME_INFO_IS_FLAGED, PT_NAME_INFO_SET_FLAG, pt_object_to_data_type(), PT_OID_ATTR, PT_ONLY, PT_PARAMETER, pt_resolve_correlation(), pt_short_print(), pt_short_print_l(), PT_SHOULD_BIND_RESERVED_NAME, pt_show_type_enum(), PT_SPEC, PT_SPEC_FLAG_RECORD_INFO_SCAN, pt_spec_in_domain(), PT_TYPE_OBJECT, pt_unwhacked_spec(), PT_VALUE, pt_spec_info::range_var, pt_name_info::resolved, pt_statement_info::spec, pt_bind_names_arg::spec_frames, pt_name_info::spec_id, pt_flat_spec_info::spec_parent, parser_node::type_enum, and pt_data_type_info::virt_type_enum.
Referenced by pt_bind_name_or_path_in_scope(), and pt_resolve_star().
|
static |
Definition at line 7101 of file name_resolution.c.
References assert, i, parser_node::node_type, NULL, pt_append_string(), pt_name_occurs_in_from_list(), and PT_SPEC.
Referenced by pt_must_have_exposed_name().
|
static |
Definition at line 8628 of file name_resolution.c.
References pt_dot_info::arg1, pt_expr_info::arg1, pt_dot_info::arg2, pt_expr_info::arg2, assert, parser_node::column_number, pt_statement_info::data_type, parser_node::data_type, pt_name_info::db_object, pt_statement_info::dot, pt_data_type_info::entity, pt_statement_info::expr, pt_spec_info::flat_entity_list, parser_node::info, parser_node::line_number, pt_name_info::meta_class, pt_statement_info::method_call, pt_method_call_info::method_name, MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_expr_info::op, pt_name_info::original, parser_copy_tree(), parser_copy_tree_list(), parser_new_node(), pt_spec_info::path_conjuncts, PT_DOT_, PT_EQ, PT_ERROR, PT_EXPR, PT_INTERNAL_ERROR, PT_METHOD_CALL, PT_NAME, PT_OID_ATTR, PT_SPEC, pt_name_info::resolved, pt_statement_info::spec, pt_name_info::spec_id, and parser_node::type_enum.
Referenced by pt_insert_entity().
PT_NODE* pt_insert_entity | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | path, | ||
PT_NODE * | prev_entity, | ||
PT_NODE * | correlation_entity | ||
) |
Definition at line 8495 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, assert, parser_node::column_number, pt_statement_info::data_type, parser_node::data_type, pt_spec_info::derived_table_type, pt_statement_info::dot, pt_data_type_info::entity, pt_spec_info::entity_name, pt_spec_info::flat_entity_list, pt_spec_info::flavor, pt_spec_info::id, parser_node::info, parser_node::line_number, pt_spec_info::meta_class, pt_name_info::meta_class, mq_regenerate_if_ambiguous(), MSGCAT_CATALOG_CUBRID, msgcat_message(), MSGCAT_SEMANTIC_INCONSISTENT_PATH, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_spec_info::only_all, pt_name_info::original, parser_copy_tree(), parser_free_tree(), parser_new_node(), pt_spec_info::path_entities, PT_ALL, PT_CLASS, pt_copy_data_type_entity(), PT_DATA_TYPE, PT_DOT_, PT_ERROR, PT_ERRORmf3, pt_insert_conjunct(), PT_INTERNAL_ERROR, pt_lookup_entity(), pt_make_flat_list_from_data_types(), PT_METHOD_CALL, PT_METHOD_ENTITY, PT_NAME, PT_NORMAL, PT_PATH_INNER, pt_short_print(), PT_SPEC, pt_spec_info::range_var, pt_name_info::resolved, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by mq_push_arg2(), mq_push_dot_in_query(), pt_expand_external_path(), and pt_get_resolution().
|
static |
Definition at line 5438 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, assert, CASE_INSENSITIVE, pt_statement_info::dot, pt_spec_info::entity_name, parser_node::info, pt_spec_info::meta_class, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, PT_DOT_, PT_INTERNAL_ERROR, PT_META_CLASS, PT_NAME, PT_PARAMETER, PT_SPEC, pt_str_compare(), pt_spec_info::range_var, pt_name_info::resolved, and pt_statement_info::spec.
Referenced by pt_get_resolution().
|
static |
Definition at line 5574 of file name_resolution.c.
References CASE_INSENSITIVE, parser_node::info, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, PT_INTERNAL_ERROR, PT_NAME, and pt_str_compare().
Referenced by pt_common_attribute(), pt_find_name_in_spec(), pt_make_flat_name_list(), pt_name_list_diff(), and pt_name_list_union().
|
static |
Definition at line 4380 of file name_resolution.c.
References parser_node::data_type, pt_json_table_column_info::index, parser_node::info, pt_name_info::json_table_column_index, pt_statement_info::json_table_column_info, pt_json_table_column_info::name, pt_statement_info::name, parser_node::node_type, NULL, parser_append_node(), parser_copy_tree(), PT_JSON_TABLE_COLUMN, and parser_node::type_enum.
Referenced by pt_get_all_json_table_attributes_and_types().
|
static |
Definition at line 8716 of file name_resolution.c.
References pt_dot_info::arg1, pt_expr_info::arg1, pt_dot_info::arg2, pt_statement_info::dot, pt_statement_info::expr, parser_node::info, intl_identifier_casecmp(), pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, pt_spec_info::path_conjuncts, PT_DOT_, PT_METHOD_CALL, PT_NAME, and pt_statement_info::spec.
Referenced by pt_insert_entity().
|
static |
Definition at line 9157 of file name_resolution.c.
References pt_spec_info::entity_name, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, NULL, pt_name_info::original, PT_CLASS, pt_copy_data_type_entity(), PT_IS_SPEC_REAL_TABLE, PT_NAME_DEFAULTF_ACCEPTS, PT_NAME_INFO_SET_FLAG, pt_name_list_union(), pt_name_info::resolved, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_insert_entity().
|
static |
Definition at line 5879 of file name_resolution.c.
References AU_ALTER, au_fetch_class(), AU_FETCH_READ, AU_FETCH_UPDATE, AU_SELECT, parser_node::column_number, db_error_string(), db_find_class_with_purpose(), pt_name_info::db_object, pt_spec_info::entity_name, pt_spec_info::except_list, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, parser_node::line_number, pt_spec_info::meta_class, pt_name_info::meta_class, MSGCAT_SEMANTIC_EXCEPTSPEC_NOT_HEIR, MSGCAT_SEMANTIC_INVALID_PARTITION_REQUEST, MSGCAT_SEMANTIC_SPEC_EXCLUDES_ALL, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_spec_info::only_all, pt_name_info::original, parser_append_node(), sm_class::partition, pt_spec_info::partition, pt_name_info::partition, sm_partition::pname, PT_ALL, PT_ALTER_INDEX, PT_CREATE_INDEX, PT_DELETE, PT_DROP_INDEX, PT_ERRORc, PT_ERRORm, PT_ERRORmf, pt_find_users_class(), PT_INSERT, PT_INTERNAL_ERROR, pt_is_on_list(), pt_make_subclass_list(), PT_MERGE, pt_name(), PT_NAME, pt_name_list_diff(), pt_name_list_union(), PT_ONLY, pt_resolve_partition_spec(), PT_SELECT, PT_SPEC, PT_UPDATE, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_flat_spec_pre(), and pt_resolve_partition_spec().
|
static |
Definition at line 8945 of file name_resolution.c.
References pt_function_info::arg_list, pt_method_call_info::arg_list, pt_method_call_info::call_or_expr, pt_method_call_info::class_or_inst, parser_node::data_type, error(), extra_specs_frame::extra_specs, pt_statement_info::function, pt_function_info::generic_name, pt_spec_info::id, parser_node::info, jsp_get_return_type(), jsp_is_exist_stored_procedure(), pt_name_info::meta_class, pt_statement_info::method_call, pt_method_call_info::method_id, pt_method_call_info::method_name, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_method_call_info::on_call_target, pt_name_info::original, parser_copy_tree_list(), parser_new_node(), parser_walk_leaves(), pt_bind_names(), pt_bind_names_post(), pt_db_to_type_enum(), pt_domain_to_data_type(), pt_find_entity_in_scopes(), PT_INTERNAL_ERROR, PT_IS_CLASS_MTHD, PT_IS_MTHD_EXPR, PT_METHOD, PT_METHOD_CALL, PT_NAME, PT_NODE_COPY_NUMBER_OUTERLINK, PT_PARAMETER, pt_resolve_method_type(), PT_SPEC, pt_type_enum_to_db_domain(), pt_bind_names_arg::scopes, pt_statement_info::spec, pt_bind_names_arg::spec_frames, pt_name_info::spec_id, tp_domain_cache(), and parser_node::type_enum.
Referenced by pt_bind_names().
|
static |
Definition at line 5709 of file name_resolution.c.
References assert, au_fetch_class_force(), AU_FETCH_READ, parser_node::column_number, db_get_class_name(), db_get_subclasses(), pt_name_info::db_object, er_msg(), parser_node::info, parser_node::line_number, pt_name_info::meta_class, mht_4strhash(), mht_compare_strings_are_equal(), mht_create(), mht_destroy(), mht_get(), mht_put(), pt_statement_info::name, db_objlist::next, NO_ERROR, NULL, db_objlist::op, parser_append_node(), sm_class::partition, pt_name_info::partition, sm_partition::pname, PT_ERRORc, pt_has_error, PT_INTERNAL_ERROR, pt_name(), PT_NAMES_HASH_SIZE, and pt_name_info::spec_id.
Referenced by pt_add_class_to_entity_list(), and pt_make_flat_name_list().
|
static |
Definition at line 9320 of file name_resolution.c.
References pt_name_info::db_object, pt_spec_info::derived_table, sm_function_info::expr_str, pt_spec_info::flat_entity_list, sm_class_constraint::func_index_info, parser_node::info, intl_identifier_casecmp(), pt_spec_info::meta_class, pt_statement_info::name, scopes::next, sm_class_constraint::next, parser_node::next, parser_node::node_type, NULL, parser_print_function_index_expr(), PT_CLASS, PT_EXPR, PT_EXPR_INFO_FUNCTION_INDEX, PT_EXPR_INFO_SET_FLAG, PT_INTERNAL_ERROR, PT_NAME, pt_bind_names_arg::scopes, sm_class_constraints(), pt_statement_info::spec, and scopes::specs.
Referenced by pt_bind_names_post().
|
static |
Definition at line 7765 of file name_resolution.c.
References pt_select_info::group_by, pt_select_info::having, parser_node::info, parser_node::node_type, NULL, pt_query_info::order_by, parser_walk_tree(), PT_CONTINUE_WALK, pt_mark_pt_name(), PT_SELECT, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_IS_FLAGED, pt_query_info::q, pt_statement_info::query, and pt_query_info::select.
Referenced by pt_resolve_names().
|
static |
Definition at line 1074 of file name_resolution.c.
References pt_statement_info::expr, parser_node::info, pt_expr_info::location, pt_name_info::location, pt_value_info::location, pt_statement_info::name, parser_node::node_type, PT_EXPR, PT_NAME, PT_VALUE, and pt_statement_info::value.
Referenced by pt_bind_names().
|
static |
Definition at line 7743 of file name_resolution.c.
References CPTR_PT_NAME_IN_GROUP_HAVING, parser_node::etc, parser_node::node_type, NULL, pt_append_string(), PT_CONTINUE_WALK, and PT_NAME.
Referenced by pt_mark_group_having_pt_name().
|
static |
Definition at line 6117 of file name_resolution.c.
References parser_node::column_number, pt_spec_info::cte_name, pt_spec_info::entity_name, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, parser_node::line_number, pt_spec_info::meta_class, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, p, parser_copy_tree(), parser_new_node(), pt_get_unique_exposed_name(), PT_INTERNAL_ERROR, PT_IS_SPEC_REAL_TABLE, PT_NAME, PT_NAME_DEFAULTF_ACCEPTS, PT_NAME_INFO_SET_FLAG, PT_SPEC, pt_spec_info::range_var, pt_name_info::resolved, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_flat_spec_pre().
|
static |
Definition at line 5660 of file name_resolution.c.
References parser_node::next, NULL, parser_append_node(), parser_free_node(), parser_free_tree(), and pt_is_on_list().
Referenced by pt_make_flat_name_list().
|
static |
Definition at line 5615 of file name_resolution.c.
References parser_node::next, NULL, parser_append_node(), parser_free_node(), and pt_is_on_list().
Referenced by pt_add_class_to_entity_list(), pt_domain_to_data_type(), pt_make_flat_list_from_data_types(), and pt_make_flat_name_list().
|
static |
Definition at line 6203 of file name_resolution.c.
References parser_node::column_number, pt_statement_info::data_type, pt_data_type_info::entity, parser_node::info, parser_node::line_number, NULL, parser_copy_tree_list(), parser_new_node(), PT_DATA_TYPE, PT_INTERNAL_ERROR, PT_TYPE_OBJECT, parser_node::type_enum, and pt_data_type_info::virt_type_enum.
Referenced by pt_get_resolution(), and pt_resolve_correlation().
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().
int pt_quick_resolve_names | ( | PARSER_CONTEXT * | parser, |
PT_NODE ** | spec_p, | ||
PT_NODE ** | node_p, | ||
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().
|
static |
Definition at line 4589 of file name_resolution.c.
References pt_dot_info::arg1, pt_dot_info::arg2, parser_node::data_type, pt_statement_info::dot, pt_spec_info::flat_entity_list, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, MSGCAT_SEMANTIC_PATH_CORR_OUTSIDE, MSGCAT_SEMANTIC_WANT_NO_REF_TO_DRVTB, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, parser_node::or_next, pt_name_info::original, parser_free_tree(), pt_name_info::path_correlation, PT_DOT_, PT_ERRORmf, PT_INTERNAL_ERROR, PT_IS_SPEC_REAL_TABLE, PT_META_CLASS, pt_name(), PT_NAME, PT_NAME_ALLOW_REUSABLE_OID, PT_NAME_DEFAULTF_ACCEPTS, PT_NAME_FOR_UPDATE, PT_NAME_INFO_GENERATED_OID, PT_NAME_INFO_IS_FLAGED, PT_NAME_INFO_SET_FLAG, PT_NODE_COPY_NUMBER_OUTERLINK, pt_object_to_data_type(), PT_OID_ATTR, pt_short_print(), PT_SPEC_IS_CTE, PT_SPEC_IS_DERIVED, PT_TYPE_OBJECT, pt_unwhacked_spec(), 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 pt_get_resolution().
PT_NODE* pt_resolve_cte_specs | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
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().
|
static |
Definition at line 7966 of file name_resolution.c.
References pt_select_info::group_by, pt_select_info::having, parser_node::info, pt_select_info::list, parser_node::next, parser_node::node_type, NULL, pt_query_info::order_by, PT_CONTINUE_WALK, pt_resolve_group_having_alias_internal(), PT_SELECT, PT_SELECT_FULL_INFO_COLS_SCHEMA, PT_SELECT_INFO_COLS_SCHEMA, PT_SELECT_INFO_IS_FLAGED, pt_query_info::q, pt_statement_info::query, and pt_query_info::select.
Referenced by pt_resolve_names().
|
static |
Definition at line 7933 of file name_resolution.c.
References assert, NULL, PT_EXPR, PT_NAME, pt_resolve_group_having_alias_pt_expr(), pt_resolve_group_having_alias_pt_name(), pt_resolve_group_having_alias_pt_sort_spec(), and PT_SORT_SPEC.
Referenced by pt_resolve_group_having_alias(), and pt_resolve_group_having_alias_pt_sort_spec().
|
static |
Definition at line 7875 of file name_resolution.c.
References pt_expr_info::arg1, pt_expr_info::arg2, pt_expr_info::arg3, pt_statement_info::expr, parser_node::info, parser_node::node_type, NULL, PT_EXPR, PT_NAME, and pt_resolve_group_having_alias_pt_name().
Referenced by pt_resolve_group_having_alias_internal().
|
static |
Definition at line 7822 of file name_resolution.c.
References parser_node::alias_print, assert, for(), parser_node::info, intl_identifier_casecmp(), MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::next, parser_node::node_type, NULL, pt_name_info::original, parser_copy_tree(), parser_free_node(), PT_ERRORmf, PT_NAME, pt_short_print(), and pt_name_info::resolved.
Referenced by pt_resolve_group_having_alias_internal(), and pt_resolve_group_having_alias_pt_expr().
|
static |
Definition at line 7806 of file name_resolution.c.
References pt_sort_spec_info::expr, parser_node::info, parser_node::node_type, NULL, pt_resolve_group_having_alias_internal(), PT_SORT_SPEC, and pt_statement_info::sort_spec.
Referenced by pt_resolve_group_having_alias_internal().
|
static |
Definition at line 6720 of file name_resolution.c.
References pt_statement_info::delete_, DISCARD_NO_MATCH, ER_FAILED, pt_select_info::from, pt_delete_info::hint, pt_select_info::hint, pt_update_info::hint, pt_select_info::index_ls, pt_select_info::index_ss, parser_node::info, NO_ERROR, parser_node::node_type, NULL, pt_select_info::ordered, pt_delete_info::ordered_hint, pt_update_info::ordered_hint, parser_free_tree(), PT_DELETE, PT_HINT_INDEX_LS, PT_HINT_INDEX_SS, PT_HINT_NONE, PT_HINT_ORDERED, PT_HINT_USE_HASH, PT_HINT_USE_IDX, PT_HINT_USE_MERGE, PT_HINT_USE_NL, PT_INTERNAL_ERROR, pt_resolve_hint_args(), PT_SELECT, PT_UPDATE, pt_query_info::q, pt_statement_info::query, REQUIRE_ALL_MATCH, pt_query_info::select, pt_delete_info::spec, pt_update_info::spec, pt_statement_info::update, pt_select_info::use_idx, pt_delete_info::use_idx_hint, pt_update_info::use_idx_hint, pt_select_info::use_merge, pt_delete_info::use_merge_hint, pt_update_info::use_merge_hint, pt_select_info::use_nl, pt_delete_info::use_nl_hint, and pt_update_info::use_nl_hint.
Referenced by pt_bind_names().
|
static |
Definition at line 6642 of file name_resolution.c.
References CASE_INSENSITIVE, ER_FAILED, pt_spec_info::id, parser_node::info, pt_name_info::meta_class, pt_statement_info::name, parser_node::next, NO_ERROR, parser_node::node_type, NULL, pt_name_info::original, parser_free_node(), PT_HINT_NAME, PT_INTERNAL_ERROR, PT_NAME, PT_SPEC, pt_str_compare(), pt_spec_info::range_var, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_resolve_hint().
|
static |
Definition at line 8862 of file name_resolution.c.
References pt_method_call_info::call_or_expr, pt_method_call_info::class_or_inst, pt_statement_info::data_type, parser_node::data_type, db_get_class_method(), db_get_method(), db_method_arg_domain(), pt_name_info::db_object, pt_data_type_info::entity, er_clear(), er_errid(), ER_OBJ_INVALID_METHOD, parser_node::info, pt_statement_info::method_call, pt_method_call_info::method_id, pt_method_call_info::method_name, MSGCAT_SEMANTIC_METH_NOT_TYPED, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NULL, pt_method_call_info::on_call_target, pt_name_info::original, pt_db_to_type_enum(), pt_domain_to_data_type(), PT_ERRORmf, PT_IS_CALL_STMT, PT_IS_CLASS_MTHD, PT_IS_INST_MTHD, 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, TP_DOMAIN_TYPE, and parser_node::type_enum.
Referenced by pt_bind_names(), and pt_make_method_call().
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().
|
static |
Definition at line 7690 of file name_resolution.c.
References parser_node::info, pt_spec_info::natural, parser_node::next, parser_node::node_type, NULL, PT_CONTINUE_WALK, pt_resolve_natural_join_internal(), PT_SPEC, and pt_statement_info::spec.
Referenced by pt_resolve_names().
|
static |
Definition at line 7578 of file name_resolution.c.
References assert, free_natural_join_attrs(), get_natural_join_attrs_from_pt_spec(), parser_node::info, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, natural_join_equal_attr(), natural_join_attr_info::next, NULL, pt_spec_info::on_cond, pt_create_pt_expr_and_node(), pt_create_pt_expr_equal_node(), pt_create_pt_name(), PT_ERRORm, and pt_statement_info::spec.
Referenced by pt_resolve_natural_join().
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().
|
static |
Definition at line 9561 of file name_resolution.c.
References au_fetch_class_force(), AU_FETCH_READ, AU_FETCH_UPDATE, db_find_class_with_purpose(), pt_name_info::db_object, pt_spec_info::entity_name, er_msg(), pt_spec_info::flat_entity_list, parser_node::info, sm_class::inheritance, MSGCAT_SEMANTIC_PARTITION_DOES_NOT_EXIST, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, NO_ERROR, NULL, db_objlist::op, pt_name_info::original, parser_free_tree(), sm_class::partition, pt_spec_info::partition, PT_ERRORc, PT_ERRORmf, PT_INTERNAL_ERROR, pt_make_flat_name_list(), pt_partition_name(), pt_spec_info::range_var, pt_statement_info::spec, and sm_class::users.
Referenced by pt_make_flat_name_list().
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().
|
static |
Definition at line 8141 of file name_resolution.c.
References assert, pt_statement_info::cte, pt_spec_info::cte_name, pt_spec_info::cte_pointer, pt_pointer_info::do_walk, pt_spec_info::entity_name, parser_node::info, pt_cte_info::name, parser_node::next, parser_node::node_type, NULL, pt_statement_info::pointer, pt_name_equal(), pt_point(), PT_SPEC, PT_SPEC_IS_ENTITY, and pt_statement_info::spec.
Referenced by pt_resolve_cte_specs(), and pt_resolve_spec_to_cte_and_count().
|
static |
Definition at line 8188 of file name_resolution.c.
References assert, parser_node::etc, parser_node::node_type, NULL, pt_resolve_spec_to_cte(), PT_SPEC, PT_SPEC_IS_CTE, and PT_SPEC_IS_ENTITY.
Referenced by pt_resolve_cte_specs().
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().
|
static |
Definition at line 6233 of file name_resolution.c.
References assert, parser_node::data_type, pt_name_info::db_object, pt_spec_info::entity_name, i, pt_spec_info::id, pt_reserved_name::id, parser_node::info, pt_name_info::meta_class, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, pt_name_info::original, parser_append_node(), parser_free_tree(), pt_db_to_type_enum(), pt_domain_to_data_type(), PT_ERRORm, PT_GET_RESERVED_NAME_FIRST_AND_LAST, pt_name(), PT_RESERVED, pt_Reserved_name_table, PT_SPEC, PT_SPEC_GET_RESERVED_NAME_TYPE, PT_TYPE_OBJECT, pt_spec_info::range_var, pt_name_info::reserved_id, RESERVED_NAME_INVALID, pt_name_info::resolved, pt_statement_info::spec, pt_name_info::spec_id, tp_domain_resolve(), and parser_node::type_enum.
Referenced by pt_resolve_star().
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().
|
static |
Definition at line 6442 of file name_resolution.c.
References pt_insert_info::attr_list, CASE_INSENSITIVE, db_attribute_next(), DB_DEFAULT_NONE, db_get_attributes_force(), DB_IS_NULL, db_is_vclass(), pt_name_info::db_object, pt_spec_info::entity_name, ER_GENERIC_ERROR, er_msg(), error(), pt_statement_info::expr, parser_node::info, pt_statement_info::insert, pt_node_list_info::list, pt_node_list_info::list_type, MSGCAT_SET_ERROR, pt_statement_info::name, parser_node::next, pt_statement_info::node_list, parser_node::node_type, NULL, pt_expr_info::op, parser_append_node(), parser_copy_tree_list(), parser_free_tree(), parser_new_node(), pt_append_query_select_list(), pt_append_string(), PT_DEFAULTF, PT_ERROR, PT_ERRORc, PT_ERRORm, PT_EXPR, pt_has_error, PT_INSERT, PT_IS_SUBQUERY, PT_IS_VALUE, PT_NAME, pt_sm_attribute_default_value_to_node(), pt_str_compare(), pt_insert_info::spec, pt_statement_info::spec, and pt_insert_info::value_clauses.
Referenced by pt_bind_names().
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().
|
static |
Definition at line 9992 of file name_resolution.c.
References assert, parser_node::column_number, parser_node::data_type, INCLUDE_HIDDEN_COLUMNS, parser_node::line_number, MSGCAT_SEMANTIC_ATT_CNT_NE_DERIVED_C, MSGCAT_SEMANTIC_GT_1_DERIVED_COL_NAM, MSGCAT_SEMANTIC_GT_1_SET_ELEM_TYPE, MSGCAT_SEMANTIC_MUST_BE_SET_MSET_SEQ, MSGCAT_SEMANTIC_NO_DERIVED_COL_NAM, MSGCAT_SET_PARSER_SEMANTIC, parser_node::next, NULL, p, parser_copy_tree_list(), parser_free_tree(), PT_DERIVED_JSON_TABLE, PT_ERRORmf, PT_ERRORmf3, pt_get_select_list(), PT_INTERNAL_ERROR, PT_IS_CSELECT, PT_IS_NULL_NODE, PT_IS_SET_EXPR, pt_is_set_type, PT_IS_SHOWSTMT, PT_IS_SUBQUERY, pt_length_of_list(), pt_length_of_select_list(), pt_short_print(), pt_short_print_l(), PT_TYPE_NULL, and parser_node::type_enum.
Referenced by pt_bind_names_in_cte(), and pt_bind_spec_attrs().
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().
PT_NODE* pt_set_is_view_spec | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
void * | arg, | ||
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().
|
static |
Definition at line 9673 of file name_resolution.c.
References pt_bind_names_data_type::data_type, parser_node::data_type, parser_node::info, pt_name_info::meta_class, MSGCAT_SEMANTIC_OUT_OF_MEMORY, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, parser_copy_tree_list(), PT_ERRORm, PT_NAME, PT_RESERVED, PT_STOP_WALK, RESERVED_BT_NODE_FIRST_KEY, RESERVED_BT_NODE_LAST_KEY, pt_name_info::reserved_id, RESERVED_KEY_KEY, pt_bind_names_data_type::type_enum, and parser_node::type_enum.
Referenced by pt_bind_names_post().
Definition at line 4698 of file name_resolution.c.
References pt_name_info::db_object, pt_spec_info::flat_entity_list, parser_node::info, pt_statement_info::name, parser_node::next, parser_node::node_type, PT_NAME, PT_SPEC, and pt_statement_info::spec.
Referenced by pt_get_resolution().
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().
|
static |
Definition at line 319 of file name_resolution.c.
References parser_node::etc, if(), parser_node::node_type, NULL, PT_DIFFERENCE, PT_INSERT, PT_INTERSECTION, PT_SELECT, and PT_UNION.
Referenced by pt_bind_names().
|
static |
Definition at line 260 of file name_resolution.c.
References parser_context::custom_print, parser_node::etc, pt_spec_info::id, parser_node::info, MSGCAT_SEMANTIC_IS_NOT_DEFINED, MSGCAT_SET_PARSER_SEMANTIC, pt_statement_info::name, parser_node::node_type, NULL, PT_DIFFERENCE, PT_ERRORmf, PT_INSERT, PT_INTERSECTION, PT_NAME, PT_NAME_INFO_FILL_DEFAULT, PT_NAME_INFO_IS_FLAGED, PT_SELECT, pt_short_print(), PT_STOP_WALK, PT_SUPPRESS_RESOLVED, PT_UNION, pt_statement_info::spec, and pt_name_info::spec_id.
Referenced by pt_bind_names().
|
static |
Definition at line 4558 of file name_resolution.c.
References pt_spec_info::derived_table_type, parser_node::info, pt_spec_info::meta_class, pt_find_path_entity(), PT_IS_WHACKED_SPEC, PT_PATH_INNER, and pt_statement_info::spec.
Referenced by pt_get_resolution(), and pt_resolve_correlation().
|
static |
Definition at line 104 of file name_resolution.c.
Referenced by is_pt_name_in_group_having(), and pt_mark_pt_name().
size_t json_table_column_count |
int parser_function_code |
Referenced by pt_bind_names().