CUBRID Engine
latest
|
#include "config.h"
#include <assert.h>
#include <stdarg.h>
#include <ctype.h>
#include "porting.h"
#include "error_manager.h"
#include "parser.h"
#include "xasl_generation.h"
#include "parser_message.h"
#include "memory_alloc.h"
#include "language_support.h"
#include "db.h"
#include "schema_manager.h"
#include "cnv.h"
#include "string_opfunc.h"
#include "set_object.h"
#include "intl_support.h"
#include "virtual_object.h"
#include "object_primitive.h"
#include "object_template.h"
#include "db_json.hpp"
#include "dbtype.h"
Go to the source code of this file.
Macros | |
#define | SET_PARSER_ERROR_AND_FREE_NODE(parser, result, default_msg_id) |
#define SET_PARSER_ERROR_AND_FREE_NODE | ( | parser, | |
result, | |||
default_msg_id | |||
) |
Definition at line 55 of file parse_dbi.c.
Referenced by pt_dbval_to_value().
Definition at line 3578 of file parse_dbi.c.
References assert, db_json_get_json_from_str(), db_make_json(), NO_ERROR, and NULL.
Referenced by netval_to_dbval().
void pt_add_type_to_set | ( | PARSER_CONTEXT * | parser, |
const PT_NODE * | typs, | ||
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().
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().
|
static |
Definition at line 2790 of file parse_dbi.c.
References assert, pt_data_type_info::collation_id, db_value::data, pt_statement_info::data_type, parser_node::data_type, db_get_string_codeset(), db_get_string_collation(), DB_IS_NULL, db_json_get_json_body_from_document(), db_json_validate_json(), db_private_free, 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_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, db_value_get_monetary_currency(), DB_VALUE_PRECISION, DB_VALUE_SCALE, pt_data_type_info::dec_precision, db_json::document, parser_node::info, db_data::json, pt_data_type_info::json_schema, NO_ERROR, parser_node::node_type, NULL, parser_free_node(), parser_new_node(), pt_data_type_info::precision, pt_append_bytes(), pt_bind_set_type(), PT_DATA_TYPE, pt_db_to_type_enum(), pt_get_object_data_type(), PT_INTERNAL_ERROR, PT_TYPE_NONE, PT_TYPE_NULL, db_json::schema_raw, strlen, TP_IS_CHAR_TYPE, parser_node::type_enum, and pt_data_type_info::units.
Referenced by pt_bind_set_type(), and pt_bind_type_from_dbval().
|
static |
Definition at line 2995 of file parse_dbi.c.
References assert, parser_node::column_number, parser_node::data_type, db_get_set(), error(), parser_node::line_number, NULL, parser_free_node(), parser_init_node(), pt_add_type_to_set(), pt_bind_helper(), PT_DATA_TYPE, set_iterate(), set_iterator_free(), set_iterator_next(), and set_iterator_value().
Referenced by pt_bind_helper().
PT_NODE* pt_bind_type_from_dbval | ( | PARSER_CONTEXT * | parser, |
PT_NODE * | node, | ||
DB_VALUE * | val | ||
) |
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().
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().
|
static |
Definition at line 1686 of file parse_dbi.c.
References ARG_FILE_LINE, assert, db_enumeration::collation_id, pt_data_type_info::collation_id, db_enumeration::count, pt_statement_info::data_type, pt_value_info::data_value, DB_GET_ENUM_ELEM_STRING, DB_SET_ENUM_ELEM_CODESET, DB_SET_ENUM_ELEM_SHORT, DB_SET_ENUM_ELEM_STRING, DB_SET_ENUM_ELEM_STRING_SIZE, db_enumeration::elements, pt_data_type_info::enumeration, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_WARNING_SEVERITY, err, error(), free_and_init, parser_node::info, parser_node::next, NO_ERROR, 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, pt_data_type_info::units, and pt_statement_info::value.
Referenced by pt_data_type_to_db_domain(), and pt_node_data_type_to_db_domain().
|
static |
Definition at line 415 of file parse_dbi.c.
References assert, pt_statement_info::data_type, db_get_class(), db_get_class_name(), db_get_object(), db_is_vclass(), pt_name_info::db_object, DB_TYPE_OBJECT, db_value_type(), pt_data_type_info::entity, parser_node::info, pt_statement_info::name, NULL, parser_new_node(), PT_DATA_TYPE, PT_INTERNAL_ERROR, pt_name(), PT_TYPE_OBJECT, pt_name_info::spec_id, parser_node::type_enum, pt_data_type_info::virt_object, and pt_data_type_info::virt_type_enum.
Referenced by pt_bind_helper(), and pt_dbval_to_value().
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 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().
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().
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().
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().
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().
|
static |
Definition at line 477 of file parse_dbi.c.
References assert, db_get_set(), db_make_null(), db_set_get(), db_set_size(), db_value_clear(), error(), i, parser_node::next, NO_ERROR, NULL, parser_append_node(), and pt_dbval_to_value().
Referenced by pt_dbval_to_value().
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().
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().
PT_NODE* pt_sm_attribute_default_value_to_node | ( | PARSER_CONTEXT * | parser, |
const SM_ATTRIBUTE * | sm_attr | ||
) |
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 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().
DB_TYPE pt_type_enum_to_db | ( | const PT_TYPE_ENUM | t | ) |
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().
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().