CUBRID Engine
latest
|
Go to the source code of this file.
Classes | |
struct | tp_domain |
struct | tp_alloc_context |
Typedefs | |
typedef struct tp_domain | TP_DOMAIN |
typedef struct tp_alloc_context | TP_ALLOC_CONTEXT |
typedef enum tp_domain_status | TP_DOMAIN_STATUS |
typedef enum tp_match | TP_MATCH |
Enumerations | |
enum | TP_DOMAIN_COLL_ACTION { TP_DOMAIN_COLL_NORMAL = 0, TP_DOMAIN_COLL_ENFORCE = 1, TP_DOMAIN_COLL_LEAVE = 2 } |
enum | tp_domain_status { DOMAIN_COMPATIBLE = 0, DOMAIN_INCOMPATIBLE, DOMAIN_OVERFLOW, DOMAIN_ERROR } |
enum | tp_match { TP_ANY_MATCH, TP_EXACT_MATCH, TP_STR_MATCH, TP_SET_MATCH } |
#define DOM_GET_ENUM_ELEM | ( | dom, | |
idx | |||
) | ((dom)->enumeration.elements[idx - 1]) |
Definition at line 44 of file object_domain.h.
Referenced by object_printer::describe_domain(), emit_domain_def(), mr_setval_enumeration_internal(), pr_complete_enum_value(), pt_domain_to_data_type(), tp_domain_select(), and tp_value_cast_internal().
#define DOM_GET_ENUM_ELEMENTS | ( | dom | ) | ((dom)->enumeration.elements) |
Definition at line 40 of file object_domain.h.
Referenced by or_put_domain().
#define DOM_GET_ENUM_ELEMS_COUNT | ( | dom | ) | ((dom)->enumeration.count) |
Definition at line 42 of file object_domain.h.
Referenced by object_printer::describe_domain(), emit_domain_def(), mr_setval_enumeration_internal(), pr_complete_enum_value(), pt_domain_to_data_type(), tp_domain_select(), and tp_value_cast_internal().
#define DOM_GET_ENUMERATION | ( | dom | ) | ((dom)->enumeration) |
Definition at line 38 of file object_domain.h.
Referenced by construct_index_key_domain(), disk_to_domain2(), domain_size(), domain_to_disk(), or_get_domain_internal(), or_packed_domain_size(), or_put_domain(), tp_domain_copy(), tp_domain_find_enumeration(), tp_domain_free(), tp_domain_match_internal(), tp_is_domain_cached(), and unpack_domain_2().
#define DOM_SET_ENUM | ( | dom, | |
elems, | |||
cnt | |||
) |
Definition at line 51 of file object_domain.h.
Referenced by or_get_domain_internal(), tp_domain_init(), and tp_init().
#define DOM_SET_ENUM_ELEMENTS | ( | dom, | |
elems | |||
) | ((dom)->enumeration.elements = (elems)) |
Definition at line 47 of file object_domain.h.
Referenced by pt_data_type_to_db_domain(), pt_node_data_type_to_db_domain(), and unpack_domain().
#define DOM_SET_ENUM_ELEMS_COUNT | ( | dom, | |
cnt | |||
) | ((dom)->enumeration.count = (cnt)) |
Definition at line 49 of file object_domain.h.
Referenced by pt_data_type_to_db_domain(), pt_node_data_type_to_db_domain(), and unpack_domain().
#define TP_ALLOC | ( | con, | |
size | |||
) | (*(con)->alloc_func)(size, (con)->alloc_args) |
Definition at line 136 of file object_domain.h.
#define TP_ARE_COMPARABLE_KEY_TYPES | ( | key1_type, | |
key2_type | |||
) |
Definition at line 356 of file object_domain.h.
Referenced by btree_compare_key(), btree_fix_root_for_delete(), btree_fix_root_for_insert(), and locator_update_index().
#define TP_BIGINT_AS_CHAR_LENGTH 20 |
Definition at line 327 of file object_domain.h.
Referenced by pt_character_length_for_node().
#define TP_BIGINT_PRECISION 19 |
Definition at line 325 of file object_domain.h.
Referenced by build_att_type_change_map(), pt_coerce_range_expr_arguments(), pt_upd_domain_info(), and tp_value_cast_internal().
#define TP_BIGINT_SCALE 0 |
Definition at line 326 of file object_domain.h.
#define TP_DATE_AS_CHAR_LENGTH 10 |
Definition at line 339 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_character_length_for_node().
#define TP_DATE_PRECISION 8 |
Definition at line 338 of file object_domain.h.
#define TP_DATETIME_AS_CHAR_LENGTH 26 |
Definition at line 346 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_character_length_for_node().
#define TP_DATETIME_PRECISION 17 |
Definition at line 345 of file object_domain.h.
#define TP_DATETIMETZ_AS_CHAR_LENGTH 64 |
Definition at line 347 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_character_length_for_node().
#define TP_DOMAIN_CODESET | ( | dom | ) | (((dom) ? (INTL_CODESET)(dom)->codeset : LANG_SYS_CODESET)) |
Definition at line 373 of file object_domain.h.
Referenced by build_att_coll_change_map(), date_to_char(), db_add_time(), db_date_dbval(), db_date_format(), db_time_dbval(), db_time_format(), db_value_to_enumeration_value(), heap_attrvalue_get_key(), heap_object_upgrade_domain(), make_desired_string_db_value(), mr_cmpdisk_bit_internal(), mr_cmpdisk_char_internal(), mr_cmpdisk_nchar_internal(), mr_data_cmpdisk_varnchar(), mr_data_lengthmem_bit(), mr_data_lengthmem_char(), mr_data_lengthmem_nchar(), mr_data_readmem_bit(), mr_data_readmem_char(), mr_data_readmem_nchar(), mr_data_writemem_bit(), mr_data_writemem_char(), mr_data_writemem_nchar(), mr_getmem_bit(), mr_getmem_char(), mr_getmem_nchar(), mr_getmem_string(), mr_getmem_varnchar(), mr_index_lengthmem_bit(), mr_index_lengthmem_char(), mr_index_lengthmem_nchar(), mr_initmem_bit(), mr_initmem_char(), mr_initmem_nchar(), mr_readval_bit_internal(), mr_readval_char_internal(), mr_readval_nchar_internal(), mr_readval_string_internal(), mr_readval_varnchar_internal(), mr_setmem_bit(), mr_setmem_char(), mr_setmem_nchar(), mr_setval_enumeration_internal(), number_to_char(), or_get_value(), pt_domain_to_data_type(), pt_get_collation_info(), pt_make_regu_hostvar(), pt_to_aggregate_node(), qdata_group_concat_first_value(), qdata_group_concat_value(), qdata_list_dbs(), qexec_resolve_domains_for_group_by(), tp_can_steal_string(), tp_value_cast_internal(), and tp_value_slam_domain().
#define TP_DOMAIN_COLLATION | ( | dom | ) | ((dom) ? (dom)->collation_id : LANG_SYS_COLLATION) |
Definition at line 374 of file object_domain.h.
Referenced by build_att_coll_change_map(), build_attr_change_map(), date_to_char(), db_add_time(), db_date_dbval(), db_date_format(), db_time_dbval(), db_time_format(), db_value_to_enumeration_value(), fetch_peek_dbval(), heap_attrvalue_get_key(), make_desired_string_db_value(), mr_getmem_char(), mr_getmem_nchar(), mr_getmem_string(), mr_getmem_varnchar(), mr_readval_char_internal(), mr_readval_nchar_internal(), mr_readval_string_internal(), mr_readval_varnchar_internal(), mr_setval_enumeration_internal(), number_to_char(), or_get_value(), pt_coerce_node_collation(), pt_domain_to_data_type(), pt_get_collation_info(), pt_make_regu_hostvar(), pt_to_aggregate_node(), qdata_group_concat_first_value(), qdata_group_concat_value(), qdata_list_dbs(), qexec_resolve_domains_for_group_by(), qo_check_coll_optimization(), qo_plan_print_sort_spec_helper(), smt_check_foreign_key(), tp_can_steal_string(), tp_value_cast_internal(), and tp_value_slam_domain().
#define TP_DOMAIN_COLLATION_FLAG | ( | dom | ) | ((dom) ? (dom)->collation_flag: TP_DOMAIN_COLL_NORMAL) |
Definition at line 376 of file object_domain.h.
Referenced by db_cp_query_type_helper(), domain_to_disk(), fetch_peek_dbval(), heap_attrvalue_get_key(), mr_getmem_char(), mr_getmem_nchar(), mr_getmem_string(), mr_getmem_varnchar(), mr_readval_char_internal(), mr_readval_nchar_internal(), mr_readval_string_internal(), mr_readval_varnchar_internal(), pt_coerce_node_collation(), pt_get_collation_info(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), qdata_update_agg_interpolation_func_value_and_domain(), qexec_end_one_iteration(), qexec_initialize_analytic_state(), qexec_resolve_domains_for_aggregation(), qexec_resolve_domains_for_group_by(), qexec_resolve_domains_on_sort_list(), qexec_topn_cmpval(), qfile_unify_types(), qo_plan_print_sort_spec_helper(), and resolve_domains_on_list_scan().
#define TP_DOMAIN_SELF_REF -1 |
Definition at line 60 of file object_domain.h.
Referenced by pt_data_type_to_db_domain(), and tp_domain_construct().
#define TP_DOMAIN_TYPE | ( | dom | ) | ((dom) ? (dom)->type->id : DB_TYPE_NULL) |
Definition at line 367 of file object_domain.h.
Referenced by assign_set_value(), btree_build_nleafs(), btree_coerce_key(), btree_compare_key(), btree_construct_leafs(), btree_dump_root_header(), btree_find_min_or_max_key(), btree_generate_prefix_domain(), btree_get_prefix_separator(), btree_get_stats(), btree_get_unique_statistics(), btree_merge_node(), btree_node_is_compressed(), btree_prepare_bts(), build_att_coll_change_map(), build_att_type_change_map(), build_attr_change_map(), catalog_fetch_btree_statistics(), catalog_get_cardinality(), check_att_domain(), check_referenced_domain(), class_attr_info(), class_referenced_by_domain(), classobj_capture_representation(), classobj_find_cons_index2_col_type_list(), compare_domains(), compare_driver(), construct_index_key_domain(), copy_column_spec_to_sqlda(), cursor_has_first_hidden_oid(), cursor_prefetch_column_oids(), cursor_prefetch_first_hidden_oid(), db_add_time(), db_domain_set(), db_domain_type(), db_round_dbval(), db_str_to_date(), db_string_extract_dbval(), db_time_dbval(), db_to_number(), object_printer::describe_domain(), do_add_attribute_from_select_column(), do_alter_one_clause_with_template(), do_cast_host_variables_to_expected_domain(), do_evaluate_default_expr(), domain_to_disk(), emit_domain_def(), export_serial(), fetch_method(), fetch_peek_arith(), fetch_peek_dbval(), fn_collection(), get_attr_type(), get_domain_str(), get_object_value(), get_set_domain(), get_set_value(), heap_attrvalue_get_key(), heap_attrvalue_read(), heap_eval_function_index(), heap_object_upgrade_domain(), key_type_to_string(), ldr_act_add_attr(), ldr_act_class_attr(), ldr_bstr_elem(), ldr_collection_db_collection(), ldr_double_elem(), ldr_float_elem(), ldr_real_db_double(), ldr_real_db_float(), ldr_xstr_elem(), locator_update_index(), mr_data_cmpdisk_resultset(), mr_data_cmpdisk_sequence(), mr_data_cmpdisk_set(), mr_data_cmpdisk_vobj(), mr_data_readval_set(), mr_index_readval_midxkey(), mr_readval_bit_internal(), mr_readval_char_internal(), mr_readval_nchar_internal(), mr_readval_string_internal(), mr_readval_varbit_internal(), mr_readval_varnchar_internal(), numeric_coerce_string_to_num(), numeric_common_prec_scale(), numeric_db_value_add(), numeric_db_value_div(), numeric_db_value_sub(), obj_assign_value(), obj_get_value(), obt_apply_assignment(), oid_attr_info_set(), optimize_sets(), or_get_value(), or_packed_domain_size(), or_put_domain(), or_put_set(), orc_diskrep_from_record(), partition_prune_hash(), pr_midxkey_compare(), pr_midxkey_element_disk_size(), prepare_column_list_info_set(), pt_agg_orderby_to_sort_list(), pt_assignment_compatible(), pt_bind_names_post(), pt_check_const_fold_op_w_args(), pt_check_expr_collation(), pt_coerce_node_collation(), pt_domain_to_data_type(), pt_eval_expr_type(), pt_eval_method_call_type(), pt_evaluate_db_value_expr(), pt_find_attr_in_class_list(), pt_fold_const_expr(), pt_get_attr_data_type(), pt_get_collation_info(), pt_get_collation_info_for_collection_type(), pt_infer_common_type(), pt_make_regu_arith(), pt_make_regu_hostvar(), pt_make_regu_pred(), pt_print_host_var(), pt_resolve_default_value(), pt_resolve_method_type(), pt_set_host_variables(), pt_string_to_db_domain(), pt_to_outlist(), pt_to_sort_list(), pt_update_host_var_data_type(), pt_value_to_db(), pt_wrap_type_for_collation(), qdata_add_dbval(), qdata_add_sequence_to_dbval(), qdata_aggregate_interpolation(), qdata_aggregate_value_to_accumulator(), qdata_analytic_interpolation(), qdata_apply_interpolation_function_coercion(), qdata_bit_and_dbval(), qdata_bit_not_dbval(), qdata_bit_or_dbval(), qdata_bit_shift_dbval(), qdata_bit_xor_dbval(), qdata_concatenate_dbval(), qdata_convert_table_to_set(), qdata_divide_dbval(), qdata_divmod_dbval(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), qdata_get_dbval_from_constant_regu_variable(), qdata_get_single_tuple_from_list_id(), qdata_group_concat_first_value(), qdata_group_concat_value(), qdata_interpolation_function_values(), qdata_list_dbs(), qdata_multiply_dbval(), qdata_strcat_dbval(), qdata_subtract_dbval(), qdata_update_agg_interpolation_func_value_and_domain(), qdump_print_domain_list(), qdump_print_tuple_value_position(), qexec_cmp_tpl_vals_merge(), qexec_compare_valptr_with_tuple(), qexec_end_one_iteration(), qexec_execute_insert(), qexec_initialize_analytic_state(), qexec_resolve_domains_for_aggregation(), qexec_resolve_domains_for_group_by(), qexec_resolve_domains_on_sort_list(), qexec_setup_topn_proc(), qexec_topn_cmpval(), qfile_compare_tuple_values(), qfile_print_list_cache_entry(), qfile_unify_types(), qfile_update_domains_on_type_list(), qo_check_coll_optimization(), qo_check_plan_index_for_multi_range_opt(), qo_check_type_index_covering(), qo_index_has_bit_attr(), qo_plan_compute_iscan_sort_list(), qo_plan_print_sort_spec_helper(), qo_rewrite_like_terms(), qo_seg_width(), REGU_VARIABLE_GET_TYPE(), resolve_class_domain(), resolve_domains_on_list_scan(), rm_api_get_info(), scan_dbvals_to_midxkey(), scan_get_next_iss_value(), scan_open_index_scan(), select_set_domain(), set_op(), setobj_create_with_domain(), smt_add_attribute_any(), smt_add_set_argument_domain(), smt_add_set_attribute_domain(), smt_change_attribute(), smt_delete_set_attribute_domain(), stats_client_unpack_statistics(), tp_can_steal_string(), tp_check_value_size(), tp_domain_add(), tp_domain_cache(), tp_domain_copy(), tp_domain_drop(), tp_domain_filter_list(), tp_domain_find_compatible(), tp_domain_match_internal(), tp_domain_references_objects(), tp_domain_resolve_value(), tp_domain_select(), tp_domain_select_type(), tp_domain_status_er_set(), tp_is_domain_cached(), tp_setdomain_size(), tp_swizzle_oid(), tp_value_cast_internal(), tp_value_coerce_strict(), tp_value_slam_domain(), cubxasl::json_table::column::trigger_on_error(), ux_get_generated_keys_client_insert(), ux_get_generated_keys_server_insert(), ux_get_parameter_info(), ux_make_out_rs(), vid_fetch_instance(), vt_api_init_domain(), and xstats_get_statistics_from_server().
#define TP_DOUBLE_AS_CHAR_LENGTH |
Definition at line 305 of file object_domain.h.
Referenced by numeric_internal_real_to_num(), pt_character_length_for_node(), and tp_dtoa().
#define TP_DOUBLE_BINARY_PRECISION TP_DOUBLE_MANTISA_BINARY_PRECISION |
Definition at line 297 of file object_domain.h.
#define TP_DOUBLE_DECIMAL_PRECISION TP_DOUBLE_MANTISA_DECIMAL_PRECISION |
Definition at line 301 of file object_domain.h.
#define TP_DOUBLE_EXPONENT_BINARY_PRECISION 11 |
Definition at line 296 of file object_domain.h.
#define TP_DOUBLE_EXPONENT_DECIMAL_PRECISION 3 /* 3.311 */ |
Definition at line 300 of file object_domain.h.
#define TP_DOUBLE_MANTISA_BINARY_PRECISION 53 |
Definition at line 295 of file object_domain.h.
#define TP_DOUBLE_MANTISA_DECIMAL_PRECISION 16 /* 15.955 */ |
Definition at line 299 of file object_domain.h.
Referenced by numeric_internal_real_to_num(), and tp_dtoa().
#define TP_FLOAT_AS_CHAR_LENGTH |
Definition at line 321 of file object_domain.h.
Referenced by pt_character_length_for_node(), and tp_ftoa().
#define TP_FLOAT_BINARY_PRECISION TP_FLOAT_MANTISA_BINARY_PRECISION |
Definition at line 316 of file object_domain.h.
#define TP_FLOAT_DECIMAL_PRECISION TP_FLOAT_MANTISA_DECIMAL_PRECISION |
Definition at line 320 of file object_domain.h.
#define TP_FLOAT_EXPONENT_BINARY_PRECISION 8 |
Definition at line 315 of file object_domain.h.
#define TP_FLOAT_EXPONENT_DECIMAL_PRECISION 2 /* 2.408 */ |
Definition at line 319 of file object_domain.h.
#define TP_FLOAT_MANTISA_BINARY_PRECISION 24 |
Definition at line 314 of file object_domain.h.
#define TP_FLOAT_MANTISA_DECIMAL_PRECISION 7 /* 7.225 */ |
Definition at line 318 of file object_domain.h.
Referenced by numeric_internal_real_to_num(), and tp_ftoa().
#define TP_FLOATING_PRECISION_VALUE -1 |
Definition at line 119 of file object_domain.h.
Referenced by func_type::Node::apply_argument(), bfmt_value(), build_att_type_change_map(), coerce_binary_to_dbvalue(), coerce_char_to_dbvalue(), coerce_date_to_dbvalue(), coerce_datetime_to_dbvalue(), coerce_time_to_dbvalue(), coerce_timestamp_to_dbvalue(), db_bit_string_coerce(), db_char_string_coerce(), db_compress_like_pattern(), db_string_concatenate(), db_string_insert_substring(), db_string_lower(), db_string_quote(), db_string_replace(), db_string_substring_index(), db_string_upper(), db_time_dbval(), db_tz_offset(), db_value_alloc_and_copy(), db_value_domain_init(), object_printer::describe_domain(), emit_domain_def(), ldr_bstr_elem(), ldr_nstr_elem(), ldr_xstr_elem(), mr_index_readval_midxkey(), mr_readval_bit_internal(), mr_readval_char_internal(), mr_readval_nchar_internal(), mr_readval_string_internal(), mr_readval_varbit_internal(), mr_readval_varnchar_internal(), mr_setval_char(), or_packed_domain_size(), or_packed_enumeration_size(), or_put_domain(), or_put_enumeration(), pt_character_length_for_node(), pt_coerce_expression_argument(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_db_value_initialize(), pt_eval_expr_type(), pt_eval_function_type_old(), pt_fixup_column_type(), pt_print_attr_def(), pt_print_datatype(), pt_print_value(), pt_set_default_data_type(), pt_type_enum_to_db_domain(), pt_upd_domain_info(), put_string(), qdata_get_tuple_value_size_from_dbval(), qexec_setup_topn_proc(), qo_reduce_equality_terms(), qstr_coerce(), func_type::Node::set_return_type(), string_disk_size(), cubload::to_db_varbit_from_bin_str(), cubload::to_db_varbit_from_hex_str(), tp_can_steal_string(), tp_check_value_size(), tp_domain_disk_size(), tp_domain_match_internal(), tp_domain_memory_size(), tp_domain_resolve_value(), tp_infer_common_domain(), tp_is_domain_cached(), tp_value_cast_internal(), unpack_domain(), and unpack_domain_2().
#define TP_FREE | ( | con, | |
mem | |||
) | (*(con)->free_func)(mem, (con)->free_args) |
Definition at line 139 of file object_domain.h.
#define TP_INTEGER_AS_CHAR_LENGTH 11 |
Definition at line 330 of file object_domain.h.
Referenced by pt_character_length_for_node().
#define TP_INTEGER_PRECISION 10 |
Definition at line 329 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_upd_domain_info().
#define TP_IS_BIT_TYPE | ( | typeid | ) | (((typeid) == DB_TYPE_VARBIT) || ((typeid) == DB_TYPE_BIT)) |
Definition at line 233 of file object_domain.h.
Referenced by allocate_index(), check_att_domain(), db_ascii(), db_conv(), db_hex(), scan_regu_key_to_index_key(), sm_load_online_index(), smt_add_constraint(), tp_check_value_size(), tp_domain_init(), and tp_infer_common_domain().
#define TP_IS_CHAR_BIT_TYPE | ( | typeid | ) |
Definition at line 256 of file object_domain.h.
Referenced by build_attr_change_map(), qdata_add_dbval(), and tp_can_steal_string().
#define TP_IS_CHAR_TYPE | ( | typeid | ) |
Definition at line 241 of file object_domain.h.
Referenced by allocate_index(), check_att_domain(), db_ascii(), db_conv(), db_evaluate_json_valid(), db_get_cs_coll_info(), db_hex(), db_mod_string(), db_string_put_cs_and_collation(), db_time_format(), db_to_char(), db_value_to_json_path(), disk_to_attribute(), do_cast_host_variables_to_expected_domain(), do_evaluate_default_expr(), eval_value_rel_cmp(), fetch_peek_arith(), fetch_peek_dbval(), heap_object_upgrade_domain(), or_get_current_representation(), or_get_value(), pt_bind_helper(), pt_coerce_node_collation(), pt_make_regu_hostvar(), pt_set_host_variables(), pt_update_host_var_data_type(), pt_wrap_type_for_collation(), qdata_add_dbval(), qdata_divide_dbval(), qdata_evaluate_analytic_func(), qdata_multiply_dbval(), qdata_strcat_dbval(), qdata_subtract_dbval(), qexec_execute_insert(), qexec_resolve_domains_for_aggregation(), qo_rewrite_one_like_term(), scan_regu_key_to_index_key(), sm_load_online_index(), smt_add_constraint(), tp_can_steal_string(), tp_infer_common_domain(), tp_value_cast_internal(), tp_value_compare_with_error(), and tp_value_str_auto_cast_to_number().
#define TP_IS_DATE_OR_TIME_TYPE | ( | typeid | ) | (((typeid) == DB_TYPE_TIME) || TP_IS_DATE_TYPE(typeid)) |
Definition at line 279 of file object_domain.h.
Referenced by btree_coerce_key(), date_to_char(), db_time_format(), db_to_char(), eval_value_rel_cmp(), pt_evaluate_db_value_expr(), qdata_add_dbval(), qdata_apply_interpolation_function_coercion(), qdata_interpolation_function_values(), qdata_strcat_dbval(), qdata_subtract_dbval(), qdata_update_agg_interpolation_func_value_and_domain(), and tp_value_compare_with_error().
#define TP_IS_DATE_TYPE | ( | typeid | ) |
Definition at line 275 of file object_domain.h.
Referenced by db_trunc_dbval(), pt_evaluate_db_value_expr(), qdata_is_zero_value_date(), and tp_infer_common_domain().
#define TP_IS_DATE_WITH_TZ_TYPE | ( | typeid | ) |
Definition at line 270 of file object_domain.h.
#define TP_IS_DOUBLE_ALIGN_TYPE | ( | typeid | ) | ((typeid) == DB_TYPE_DOUBLE || (typeid) == DB_TYPE_BIGINT) |
Definition at line 267 of file object_domain.h.
#define TP_IS_FIXED_LEN_CHAR_TYPE | ( | typeid | ) | (((typeid) == DB_TYPE_CHAR) || ((typeid) == DB_TYPE_NCHAR)) |
Definition at line 245 of file object_domain.h.
#define TP_IS_FLOATING_NUMBER_TYPE | ( | typeid | ) |
Definition at line 282 of file object_domain.h.
Referenced by qdata_add_dbval(), and qdata_subtract_dbval().
#define TP_IS_NUMERIC_TYPE | ( | typeid | ) |
Definition at line 261 of file object_domain.h.
Referenced by btree_coerce_key(), db_conv(), db_hex(), db_round_dbval(), db_value_alloc_and_copy(), db_value_domain_default(), db_value_domain_zero(), eval_value_rel_cmp(), pt_eval_expr_type(), qdata_add_dbval(), qdata_apply_interpolation_function_coercion(), qdata_divide_dbval(), qdata_evaluate_analytic_func(), qdata_interpolation_function_values(), qdata_multiply_dbval(), qdata_strcat_dbval(), qdata_subtract_dbval(), qdata_update_agg_interpolation_func_value_and_domain(), qexec_resolve_domains_for_aggregation(), tp_infer_common_domain(), tp_value_coerce_strict(), and tp_value_compare_with_error().
#define TP_IS_SET_TYPE | ( | typenum | ) |
Definition at line 224 of file object_domain.h.
Referenced by api_collection_create_from_db_value(), api_collection_set_to_db_value(), au_get_set(), build_attr_change_map(), catcls_get_or_value_from_attribute(), class_attr_info(), classobj_clear_attribute_value(), cursor_fetch_page_having_tuple(), db_value_type_is_collection(), dbval_to_net_buf(), do_add_attribute_from_select_column(), eval_pred(), eval_pred_alsm4(), eval_pred_comp2(), ex_contains_object_reference(), fetch_method(), get_att_default_from_def(), get_attr_type(), heap_attrinfo_set(), heap_get_referenced_by(), ldr_act_add_attr(), obj_assign_value(), obj_get_path(), obj_get_value(), obt_apply_assignment(), obt_final_check(), obt_free_assignment(), oid_attr_info_set(), optimize_sets(), pr_is_set_type(), prepare_column_list_info_set(), cubload::server_object_loader::process_collection_constant(), pt_check_and_replace_hostvar(), pt_check_expr_collation(), pt_coerce_node_collation(), pt_evaluate_db_value_expr(), pt_get_collation_info_for_collection_type(), qdata_add_dbval(), qdata_add_sequence_to_dbval(), qdata_multiply_dbval(), qdata_multiply_sequence_to_dbval(), qdata_strcat_dbval(), qdata_subtract_dbval(), qdata_subtract_sequence_to_dbval(), qexec_setup_topn_proc(), select_set_domain(), serialize_collection_as_string(), set_extended_cas_type(), setobj_create(), setobj_get_element(), setobj_sort(), tp_domain_find_compatible(), tp_domain_resolve_value(), tp_domain_select(), tp_domain_select_type(), tp_infer_common_domain(), tp_swizzle_oid(), tp_value_cast_internal(), ux_get_parameter_info(), ux_make_out_rs(), and vid_fetch_instance().
#define TP_IS_STRING_TYPE | ( | typeid | ) | TP_IS_CHAR_BIT_TYPE((typeid)) |
Definition at line 259 of file object_domain.h.
Referenced by btree_compare_key(), db_date_dbval(), pt_eval_expr_type(), pt_metadomains_compatible(), qexec_initialize_analytic_state(), scan_dbvals_to_midxkey(), and tp_value_change_coll_and_codeset().
#define TP_IS_VAR_LEN_CHAR_TYPE | ( | typeid | ) | (((typeid) == DB_TYPE_VARCHAR) || ((typeid) == DB_TYPE_VARNCHAR)) |
Definition at line 248 of file object_domain.h.
#define TP_MONETARY_AS_CHAR_LENGTH TP_DOUBLE_AS_CHAR_LENGTH |
Definition at line 312 of file object_domain.h.
Referenced by pt_character_length_for_node().
#define TP_MONETARY_EXPONENT_PRECISION TP_DOUBLE_EXPONENT_DECIMAL_PRECISION |
Definition at line 310 of file object_domain.h.
#define TP_MONETARY_MANTISA_PRECISION TP_DOUBLE_MANTISA_DECIMAL_PRECISION |
Definition at line 309 of file object_domain.h.
#define TP_MONETARY_PRECISION TP_DOUBLE_DECIMAL_PRECISION |
Definition at line 311 of file object_domain.h.
#define TP_SMALLINT_AS_CHAR_LENGTH 6 |
Definition at line 333 of file object_domain.h.
Referenced by pt_character_length_for_node().
#define TP_SMALLINT_PRECISION 5 |
Definition at line 332 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_upd_domain_info().
#define TP_TIME_AS_CHAR_LENGTH 11 |
Definition at line 336 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_character_length_for_node().
#define TP_TIME_PRECISION 6 |
Definition at line 335 of file object_domain.h.
#define TP_TIMESTAMP_AS_CHAR_LENGTH 22 |
Definition at line 342 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_character_length_for_node().
#define TP_TIMESTAMP_PRECISION 14 |
Definition at line 341 of file object_domain.h.
#define TP_TIMESTAMPTZ_AS_CHAR_LENGTH 64 |
Definition at line 343 of file object_domain.h.
Referenced by build_att_type_change_map(), and pt_character_length_for_node().
#define TP_TYPE_HAS_COLLATION | ( | typeid | ) | (TP_IS_CHAR_TYPE(typeid) || (typeid) == DB_TYPE_ENUMERATION) |
Definition at line 370 of file object_domain.h.
Referenced by build_att_coll_change_map(), db_cp_query_type_helper(), db_get_cs_coll_info(), fetch_peek_arith(), pt_assignment_compatible(), pt_coerce_node_collation(), pt_eval_expr_type(), pt_get_collation_info(), pt_make_regu_hostvar(), qexec_resolve_domains_for_group_by(), qo_check_coll_optimization(), qo_plan_print_sort_spec_helper(), smt_check_foreign_key(), tp_domain_init(), tp_domain_match_internal(), tp_domain_resolve(), tp_domain_resolve_default_w_coll(), and tp_value_compare_with_error().
#define TP_TYPE_NOT_SUPPORT_COVERING | ( | typeid | ) | ((typeid) == DB_TYPE_TIMESTAMPTZ || (typeid) == DB_TYPE_DATETIMETZ) |
Definition at line 379 of file object_domain.h.
Referenced by qo_check_type_index_covering().
typedef struct tp_alloc_context TP_ALLOC_CONTEXT |
typedef enum tp_domain_status TP_DOMAIN_STATUS |
Enumerator | |
---|---|
TP_DOMAIN_COLL_NORMAL | |
TP_DOMAIN_COLL_ENFORCE | |
TP_DOMAIN_COLL_LEAVE |
Definition at line 62 of file object_domain.h.
enum tp_domain_status |
Enumerator | |
---|---|
DOMAIN_COMPATIBLE | |
DOMAIN_INCOMPATIBLE | |
DOMAIN_OVERFLOW | |
DOMAIN_ERROR |
Definition at line 187 of file object_domain.h.
enum tp_match |
Enumerator | |
---|---|
TP_ANY_MATCH | |
TP_EXACT_MATCH | |
TP_STR_MATCH | |
TP_SET_MATCH |
Definition at line 200 of file object_domain.h.
void tp_apply_sys_charset | ( | void | ) |
Definition at line 677 of file object_domain.c.
References tp_domain::codeset, tp_domain::collation_id, LANG_SYS_CODESET, LANG_SYS_COLLATION, and NULL.
Referenced by lang_set_charset(), and lang_set_charset_lang().
void tp_area_init | ( | void | ) |
Definition at line 4563 of file object_domain.c.
References ARG_FILE_LINE, tp_domain::collation_flag, DB_GET_COMPRESSED_STRING, db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_length(), db_get_string_size(), DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_NCHAR, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), INTL_CAN_STEAL_CS, LANG_IS_COERCIBLE_COLL, NO_ERROR, NULL, tp_domain::precision, TP_DOMAIN_CODESET, TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLLATION, TP_DOMAIN_TYPE, TP_FLOATING_PRECISION_VALUE, TP_IS_CHAR_BIT_TYPE, and TP_IS_CHAR_TYPE.
Referenced by tp_value_cast_internal().
TP_DOMAIN_STATUS tp_check_value_size | ( | TP_DOMAIN * | domain, |
DB_VALUE * | value | ||
) |
Definition at line 11119 of file object_domain.c.
References assert, tp_domain::class_mop, tp_domain::class_oid, tp_domain::collation_id, db_get_class_name(), db_get_string(), db_get_string_length(), db_get_string_size(), DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_SUB, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARIABLE, DB_TYPE_VARNCHAR, db_value_precision(), DOMAIN_COMPATIBLE, DOMAIN_OVERFLOW, lang_get_collation_name(), pr_type::name, tp_domain::next, NULL, OID_ISNULL, db_identifier::pageid, tp_domain::precision, tp_domain::scale, tp_domain::setdomain, db_identifier::slotid, TP_DOMAIN_TYPE, TP_FLOATING_PRECISION_VALUE, TP_IS_BIT_TYPE, tp_domain::type, and db_identifier::volid.
Referenced by check_constraints(), and smt_set_attribute_default().
Definition at line 3545 of file object_domain.c.
References tp_domain::class_mop, 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_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, 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_TYPE_VOBJ, error(), tp_domain::next, NO_ERROR, NULL, tp_domain::precision, tp_domain::scale, tp_domain_free(), and TP_DOMAIN_TYPE.
Referenced by pt_coerce_node_collation(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), setobj_build_domain_from_col(), smt_add_set_argument_domain(), smt_add_set_attribute_domain(), and tp_value_cast_internal().
Definition at line 3663 of file object_domain.c.
References error(), tp_domain::next, NO_ERROR, and NULL.
Referenced by pt_node_to_db_domain().
Definition at line 2932 of file object_domain.c.
References tp_domain::is_cached, tp_domain::next_list, NULL, pthread_mutex_lock, pthread_mutex_unlock, rv, tp_domain_free(), tp_domain_get_list_ptr(), TP_DOMAIN_TYPE, TP_EXACT_MATCH, tp_is_domain_cached(), and tp_swizzle_oid().
Referenced by catcls_get_or_value_from_domain(), construct_index_key_domain(), disk_to_domain(), do_create_midxkey_for_constraint(), fixup_attribute_self_domain(), fixup_method_self_domains(), heap_attrvalue_get_key(), heap_eval_function_index(), heap_midxkey_key_get(), init_db_attribute_list(), locator_add_or_remove_index_internal(), or_get_domain(), or_get_domain_and_cache(), or_unpack_query_format(), pt_assignment_compatible(), pt_check_partitions(), pt_coerce_expression_argument(), pt_coerce_insert_values(), pt_coerce_node_collation(), pt_coerce_value_internal(), pt_eval_expr_type(), pt_eval_type(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_make_method_call(), pt_make_regu_hostvar(), pt_node_to_function_index(), pt_to_regu_variable(), pt_value_to_db(), pt_xasl_data_type_to_domain(), pt_xasl_node_to_domain(), pt_xasl_type_enum_to_domain(), qo_reduce_equality_terms(), qo_seg_width(), scan_dbvals_to_midxkey(), smt_add_set_attribute_domain(), tp_domain_resolve(), tp_domain_resolve_default_w_coll(), tp_domain_resolve_value(), tp_infer_common_domain(), tp_value_change_coll_and_codeset(), tp_value_compare_with_error(), and unpack_domain().
TP_DOMAIN_STATUS tp_domain_check | ( | const TP_DOMAIN * | domain, |
const DB_VALUE * | value, | ||
TP_MATCH | exact_match | ||
) |
Definition at line 4516 of file object_domain.c.
References DOMAIN_COMPATIBLE, DOMAIN_INCOMPATIBLE, NULL, and tp_domain_select().
Referenced by assign_set_value(), check_att_domain(), heap_attrinfo_set(), setobj_check_domain(), setobj_ismember(), smt_change_attribute_w_dflt_w_order(), smt_change_class_shared_attribute_domain(), smt_set_attribute_default(), and tp_domain_resolve_value().
void tp_domain_clear_enumeration | ( | DB_ENUMERATION * | enumeration | ) |
Definition at line 793 of file object_domain.c.
References db_enumeration::count, DB_GET_ENUM_ELEM_STRING, db_enumeration::elements, free_and_init, i, and NULL.
Referenced by pt_data_type_to_db_domain(), pt_node_data_type_to_db_domain(), tp_domain_free(), and unpack_domain().
Definition at line 4046 of file object_domain.c.
References tp_domain::next, and NULL.
Referenced by build_attr_change_map(), setobj_check_domain(), tp_domain_find_compatible(), and tp_value_cast_internal().
TP_DOMAIN* tp_domain_construct | ( | DB_TYPE | domain_type, |
DB_OBJECT * | class_obj, | ||
int | precision, | ||
int | scale, | ||
TP_DOMAIN * | setdomain | ||
) |
Definition at line 1074 of file object_domain.c.
References assert, assert_release, tp_domain::class_mop, tp_domain::class_oid, DB_DEFAULT_PRECISION, DB_TYPE_MIDXKEY, tp_domain::is_cached, tp_domain::json_validator, tp_domain::next, NULL, vid_oid::oid, db_object::oid_info, tp_domain::precision, tp_domain::scale, tp_domain::self_ref, tp_domain::setdomain, tp_domain_new(), TP_DOMAIN_SELF_REF, tp_domain_size(), and tp_get_fixed_precision().
Referenced by catcls_get_or_value_from_domain(), construct_index_key_domain(), do_create_midxkey_for_constraint(), get_domain_internal(), heap_attrvalue_get_key(), heap_midxkey_key_get(), locator_add_or_remove_index_internal(), pt_data_type_to_db_domain(), pt_node_data_type_to_db_domain(), pt_node_to_db_domain(), pt_type_enum_to_db_domain(), scan_dbvals_to_midxkey(), unpack_domain(), and unpack_domain_2().
Definition at line 1270 of file object_domain.c.
References tp_domain::class_mop, tp_domain::class_oid, tp_domain::codeset, tp_domain::collation_id, CONST_CAST, db_json_copy_validator(), DB_TYPE_ENUMERATION, DB_TYPE_JSON, DOM_GET_ENUMERATION, error(), pr_type::id, tp_domain::is_cached, tp_domain::is_desc, tp_domain::is_parameterized, tp_domain::json_validator, tp_domain::next, NO_ERROR, NULL, tp_domain::precision, tp_domain::scale, tp_domain::self_ref, tp_domain::setdomain, tp_domain_copy(), tp_domain_copy_enumeration(), tp_domain_free(), tp_domain_new(), TP_DOMAIN_TYPE, and tp_domain::type.
Referenced by classobj_copy_method_arg(), classobj_init_attribute(), construct_index_key_domain(), do_alter_index_rebuild(), do_create_midxkey_for_constraint(), heap_midxkey_key_get(), locator_add_or_remove_index_internal(), pt_assignment_compatible(), pt_coerce_node_collation(), pt_make_regu_hostvar(), scan_dbvals_to_midxkey(), setobj_build_domain_from_col(), sm_save_function_index_info(), smt_add_set_attribute_domain(), tp_domain_copy(), tp_domain_resolve_default_w_coll(), tp_infer_common_domain(), tp_value_cast_internal(), tp_value_change_coll_and_codeset(), and tp_value_compare_with_error().
int tp_domain_copy_enumeration | ( | DB_ENUMERATION * | dest, |
const DB_ENUMERATION * | src | ||
) |
Definition at line 1155 of file object_domain.c.
References ARG_FILE_LINE, assert, db_enumeration::collation_id, db_enumeration::count, DB_GET_ENUM_ELEM_CODESET, DB_GET_ENUM_ELEM_SHORT, DB_GET_ENUM_ELEM_STRING, DB_GET_ENUM_ELEM_STRING_SIZE, DB_SET_ENUM_ELEM_CODESET, DB_SET_ENUM_ELEM_SHORT, DB_SET_ENUM_ELEM_STRING, DB_SET_ENUM_ELEM_STRING_SIZE, db_enumeration::elements, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_WARNING_SEVERITY, error(), free_and_init, i, NO_ERROR, and NULL.
Referenced by construct_index_key_domain(), and tp_domain_copy().
int tp_domain_disk_size | ( | TP_DOMAIN * | domain | ) |
Definition at line 11038 of file object_domain.c.
References assert, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_NCHAR, pr_type::get_disk_size_of_mem(), pr_type::get_id(), pr_type::is_always_variable(), NULL, tp_domain::precision, TP_FLOATING_PRECISION_VALUE, and tp_domain::type.
Referenced by classobj_install_template(), get_desc_current(), heap_attrinfo_get_disksize(), heap_attrinfo_transform_to_disk_internal(), heap_attrvalue_read(), la_get_current(), object_disk_size(), or_disk_set_size(), or_get_all_representation(), or_get_current_representation(), or_get_old_representation(), or_get_set(), or_packed_set_info(), order_atts_by_alignment(), put_attributes(), put_varinfo(), qo_seg_width(), and tf_compile_meta_classes().
Definition at line 3694 of file object_domain.c.
References tp_domain::class_mop, 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_ERROR, DB_TYPE_FLOAT, DB_TYPE_INTEGER, 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_TYPE_VOBJ, tp_domain::next, NULL, tp_domain::precision, tp_domain::scale, tp_domain_free(), and TP_DOMAIN_TYPE.
Referenced by smt_delete_set_attribute_domain().
int tp_domain_filter_list | ( | TP_DOMAIN * | dlist, |
int * | list_changes | ||
) |
Definition at line 3867 of file object_domain.c.
References tp_domain::class_mop, error(), tp_domain::next, NO_ERROR, NULL, pr_is_set_type(), tp_domain::setdomain, tp_domain_check_class(), tp_domain_filter_list(), tp_domain_free(), TP_DOMAIN_TYPE, tp_Type_object, and tp_domain::type.
Referenced by sm_filter_domain(), and tp_domain_filter_list().
TP_DOMAIN* tp_domain_find_charbit | ( | DB_TYPE | type, |
int | codeset, | ||
int | collation_id, | ||
unsigned char | collation_flag, | ||
int | precision, | ||
bool | is_desc | ||
) |
Definition at line 2647 of file object_domain.c.
References assert, tp_domain::codeset, tp_domain::collation_flag, tp_domain::collation_id, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_NCHAR, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, tp_domain::is_desc, tp_domain::next_list, NULL, tp_domain::precision, and tp_domain_get_list().
Referenced by heap_attrvalue_get_key(), and unpack_domain().
TP_DOMAIN* tp_domain_find_enumeration | ( | const DB_ENUMERATION * | enumeration, |
bool | is_desc | ||
) |
Definition at line 2901 of file object_domain.c.
References DB_TYPE_ENUMERATION, DOM_GET_ENUMERATION, tp_domain::is_desc, tp_domain::next_list, NULL, tp_domain_get_list(), and tp_enumeration_match().
Referenced by unpack_domain().
Definition at line 2572 of file object_domain.c.
References tp_domain::is_desc, tp_domain::next_list, NULL, and tp_domain_get_list().
Referenced by unpack_domain().
Definition at line 2601 of file object_domain.c.
References assert, DB_TYPE_NUMERIC, tp_domain::is_desc, tp_domain::next_list, NULL, tp_domain::precision, tp_domain::scale, and tp_domain_get_list().
Referenced by unpack_domain().
TP_DOMAIN* tp_domain_find_object | ( | DB_TYPE | type, |
OID * | class_oid, | ||
struct db_object * | class_, | ||
bool | is_desc | ||
) |
Definition at line 2728 of file object_domain.c.
References assert_release, tp_domain::class_mop, tp_domain::class_oid, tp_domain::is_desc, tp_domain::next_list, NULL, OID_EQ, tp_domain_get_list(), and WS_OID.
Referenced by unpack_domain().
Definition at line 2793 of file object_domain.c.
References d1, DB_TYPE_MIDXKEY, DB_TYPE_SEQUENCE, i, tp_domain::is_desc, tp_domain::is_visited, tp_domain::next, tp_domain::next_list, NULL, tp_domain::setdomain, tp_domain_get_list(), tp_domain_match(), tp_domain_size(), TP_EXACT_MATCH, and tp_setdomain_size().
Referenced by unpack_domain().
void tp_domain_free | ( | TP_DOMAIN * | dom | ) |
Definition at line 941 of file object_domain.c.
References area_free(), tp_domain::class_mop, db_json_delete_validator(), DB_TYPE_ENUMERATION, DB_TYPE_JSON, DOM_GET_ENUMERATION, pr_type::id, tp_domain::is_cached, tp_domain::json_validator, tp_domain::next, NULL, tp_domain::setdomain, tp_domain_clear_enumeration(), tp_domain_free(), and tp_domain::type.
Referenced by btree_prepare_bts(), build_attr_change_map(), catcls_get_or_value_from_indexes(), classobj_clear_attribute(), classobj_free_function_index_ref(), classobj_free_method_arg(), construct_index_key_domain(), db_type_from_string(), db_unpack_prepare_info(), db_width_bucket(), disk_to_domain2(), do_cast_host_variables_to_expected_domain(), do_create_midxkey_for_constraint(), heap_midxkey_key_get(), locator_add_or_remove_index_internal(), or_get_domain(), or_get_domain_internal(), or_unpack_query_format(), pt_check_enum_data_type(), scan_dbvals_to_midxkey(), sm_free_function_index_info(), smt_add_set_attribute_domain(), tp_domain_add(), tp_domain_cache(), tp_domain_copy(), tp_domain_drop(), tp_domain_filter_list(), tp_domain_free(), tp_domain_resolve_value(), tp_final(), unpack_domain(), and unpack_domain_2().
Definition at line 985 of file object_domain.c.
References assert, tp_domain::built_in_index, tp_domain::class_mop, tp_domain::class_oid, tp_domain::codeset, tp_domain::collation_flag, tp_domain::collation_id, db_enumeration::collation_id, DB_TYPE_ENUMERATION, DB_TYPE_LAST, DOM_SET_ENUM, tp_domain::enumeration, INTL_CODESET_RAW_BITS, tp_domain::is_cached, tp_domain::is_desc, tp_domain::is_parameterized, tp_domain::json_validator, LANG_SYS_CODESET, LANG_SYS_COLLATION, tp_domain::next, tp_domain::next_list, NULL, OID_SET_NULL, pr_type_from_id(), tp_domain::precision, tp_domain::scale, tp_domain::self_ref, tp_domain::setdomain, TP_DOMAIN_COLL_NORMAL, TP_IS_BIT_TYPE, TP_TYPE_HAS_COLLATION, and tp_domain::type.
Referenced by pt_get_src_domain(), pt_set_domain_class_list(), regu_init(), tp_domain_new(), and tp_domain_resolve_value().
Definition at line 1465 of file object_domain.c.
References tp_domain_match_internal().
Referenced by build_attr_change_map(), build_storage_order(), or_get_domain(), pr_midxkey_compare(), tp_domain_find_compatible(), tp_domain_find_set(), tp_domain_match_internal(), tp_domain_select(), and tp_is_domain_cached().
Definition at line 1478 of file object_domain.c.
References tp_domain_match_internal().
Referenced by scan_dbvals_to_midxkey().
int tp_domain_memory_size | ( | TP_DOMAIN * | domain | ) |
Definition at line 11064 of file object_domain.c.
References DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_NCHAR, pr_type::get_id(), pr_type::get_mem_size_of_mem(), NULL, tp_domain::precision, TP_FLOATING_PRECISION_VALUE, and tp_domain::type.
Referenced by classobj_fixup_loaded_class(), and qexec_setup_topn_proc().
Definition at line 3947 of file object_domain.c.
References pr_type::name, and tp_domain::type.
Referenced by check_args(), db_width_bucket(), and do_set_trigger().
Definition at line 1043 of file object_domain.c.
References area_alloc(), NULL, and tp_domain_init().
Referenced by construct_index_key_domain(), db_width_bucket(), disk_to_domain2(), or_get_domain_internal(), pt_data_type_to_db_domain(), pt_node_data_type_to_db_domain(), tp_domain_construct(), tp_domain_copy(), tp_domain_resolve(), and tp_domain_resolve_value().
Definition at line 11399 of file object_domain.c.
References DB_TYPE_MULTISET, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_VOBJ, tp_domain::next, tp_domain::setdomain, tp_domain_references_objects(), and TP_DOMAIN_TYPE.
Referenced by heap_attrinfo_start_refoids(), and tp_domain_references_objects().
TP_DOMAIN* tp_domain_resolve | ( | DB_TYPE | domain_type, |
DB_OBJECT * | class_obj, | ||
int | precision, | ||
int | scale, | ||
TP_DOMAIN * | setdomain, | ||
int | collation | ||
) |
Definition at line 3053 of file object_domain.c.
References tp_domain::class_mop, tp_domain::codeset, lang_collation::codeset, tp_domain::collation_id, lang_get_collation(), NULL, tp_domain::precision, tp_domain::scale, tp_domain::setdomain, tp_domain_cache(), tp_domain_new(), and TP_TYPE_HAS_COLLATION.
Referenced by btree_generate_prefix_domain(), pt_assignment_compatible(), pt_bind_reserved_name(), pt_resolve_star_reserved_names(), pt_to_index_info(), and qexec_resolve_domains_for_aggregation().
Definition at line 3092 of file object_domain.c.
References assert_release, and NULL.
Referenced by catcls_get_or_value_from_attribute(), catcls_get_or_value_from_domain(), db_cp_query_type_helper(), db_hex(), db_round_dbval(), db_time_format(), db_to_number(), db_trunc_dbval(), db_type_to_db_domain(), db_width_bucket(), do_evaluate_default_expr(), eval_value_rel_cmp(), export_serial(), get_savepoint_name_from_db_value(), heap_midxkey_key_generate(), heap_object_upgrade_domain(), numeric_coerce_string_to_num(), numeric_common_prec_scale(), numeric_db_value_add(), numeric_db_value_div(), numeric_db_value_sub(), or_get_all_representation(), or_get_current_representation(), or_get_old_representation(), pt_assignment_compatible(), pt_check_alter_partition(), pt_coerce_node_collation(), pt_coerce_range_expr_arguments(), pt_create_iss_range(), pt_eval_expr_type(), pt_evaluate_db_value_expr(), pt_get_query_limit_from_limit(), pt_get_query_limit_from_orderby_for(), pt_instnum_to_key_limit(), pt_make_regu_constant(), pt_make_regu_pred(), pt_to_cume_dist_percent_rank_regu_variable(), pt_to_key_limit(), pt_to_upd_del_query(), qdata_add_bigint_to_timestamptz(), qdata_add_datetimetz_to_dbval(), qdata_add_dbval(), qdata_add_int_to_timestamptz(), qdata_add_short_to_timestamptz(), qdata_add_timestamptz_to_dbval(), qdata_aggregate_accumulator_to_accumulator(), qdata_divide_dbval(), qdata_evaluate_aggregate_list(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qdata_multiply_dbval(), qdata_subtract_datetimetz_to_dbval(), qdata_subtract_dbval(), qdata_subtract_timestampltz_to_dbval(), qdata_update_agg_interpolation_func_value_and_domain(), qdata_update_interpolation_func_value_and_domain(), qexec_execute_insert(), qexec_fill_sort_limit(), qexec_init_instnum_val(), qexec_resolve_domains_for_aggregation(), qexec_resolve_domains_for_group_by(), qo_get_key_limit_from_instnum(), qo_get_key_limit_from_ordbynum(), qo_get_limit_from_eval_term(), scan_get_next_iss_value(), scan_init_index_key_limit(), session_set_cur_insert_id(), tf_compile_meta_classes(), tp_domain_resolve_default_w_coll(), tp_domain_resolve_value(), tp_set_compare(), tp_value_cast_internal(), tp_value_compare_with_error(), tp_value_str_auto_cast_to_number(), unpack_domain(), and unpack_domain_2().
TP_DOMAIN* tp_domain_resolve_default_w_coll | ( | DB_TYPE | type, |
int | coll_id, | ||
TP_DOMAIN_COLL_ACTION | coll_flag | ||
) |
Definition at line 3115 of file object_domain.c.
References assert, tp_domain::codeset, lang_collation::codeset, tp_domain::collation_flag, tp_domain::collation_id, lang_get_collation(), tp_domain_cache(), TP_DOMAIN_COLL_ENFORCE, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLL_NORMAL, tp_domain_copy(), tp_domain_resolve_default(), and TP_TYPE_HAS_COLLATION.
Referenced by pt_coerce_expression_argument(), and pt_coerce_node_collation().
Definition at line 3159 of file object_domain.c.
References assert, db_domain_info::char_info, tp_domain::codeset, tp_domain::collation_id, DB_DEFAULT_NUMERIC_PRECISION, DB_DEFAULT_NUMERIC_SCALE, db_get_json_schema, db_get_midxkey(), db_get_object(), db_get_set(), db_get_string_codeset(), db_get_string_collation(), db_json_load_validator(), DB_MAX_VARBIT_PRECISION, DB_MAX_VARCHAR_PRECISION, DB_MAX_VARNCHAR_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, DB_VALUE_DOMAIN_TYPE, db_value_precision(), db_value_scale(), DB_VALUE_TYPE, db_midxkey::domain, db_value::domain, DOMAIN_COMPATIBLE, tp_domain::is_cached, tp_domain::json_validator, db_domain_info::char_info::length, NO_ERROR, NULL, tp_domain::precision, tp_domain::scale, set_get_domain(), tp_domain::setdomain, setobj_build_domain_from_col(), tp_domain_cache(), tp_domain_check(), tp_domain_free(), tp_domain_init(), tp_domain_new(), tp_domain_resolve_default(), TP_DOMAIN_TYPE, TP_EXACT_MATCH, TP_FLOATING_PRECISION_VALUE, TP_IS_SET_TYPE, tp_Object_domain, tp_Vobj_domain, WS_IS_DELETED, and WS_ISVID.
Referenced by btree_range_opt_check_add_index_key(), do_evaluate_default_expr(), fetch_peek_arith(), fetch_peek_dbval(), ldr_bstr_elem(), ldr_xstr_elem(), or_pack_mem_value(), or_packed_value_size(), or_put_value(), pt_evaluate_db_value_expr(), pt_to_regu_variable(), qdata_evaluate_analytic_func(), qdata_strcat_dbval(), qexec_execute_insert(), qexec_resolve_domains_for_aggregation(), scan_dbvals_to_midxkey(), setobj_build_domain_from_col(), cubload::to_db_varbit_from_bin_str(), cubload::to_db_varbit_from_hex_str(), tp_domain_select(), tp_value_cast_internal(), and tp_value_change_coll_and_codeset().
TP_DOMAIN* tp_domain_select | ( | const TP_DOMAIN * | domain_list, |
const DB_VALUE * | value, | ||
int | allow_coercion, | ||
TP_MATCH | exact_match | ||
) |
Definition at line 4100 of file object_domain.c.
References ARG_FILE_LINE, assert, obj_template::classobj, db_get_enum_collation(), DB_GET_ENUM_ELEM_STRING, DB_GET_ENUM_ELEM_STRING_SIZE, db_get_enum_short(), db_get_enum_string(), db_get_enum_string_size(), db_get_object(), db_get_oid(), db_get_pointer(), db_get_set(), db_make_null(), db_make_object(), db_on_server, DB_TYPE_CHAR, DB_TYPE_ENUMERATION, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_POINTER, DB_VALUE_TYPE, DOM_GET_ENUM_ELEM, DOM_GET_ENUM_ELEMS_COUNT, DOMAIN_COMPATIBLE, ER_ERROR_SEVERITY, ER_GENERIC_ERROR, er_set(), i, NULL, OID_ISNULL, prm_get_bool_value(), PRM_ID_IGNORE_TRAILING_SPACE, QSTR_COMPARE, set_check_domain(), sm_check_class_domain(), sm_check_object_domain(), tp_domain_match(), tp_domain_resolve_value(), TP_DOMAIN_TYPE, TP_IS_SET_TYPE, tp_domain::type, and ws_mop().
Referenced by check_args(), obj_find_object_by_cons_and_key(), pt_fix_enumeration_comparison(), tp_domain_check(), and tp_value_cast_internal().
TP_DOMAIN* tp_domain_select_type | ( | const TP_DOMAIN * | domain_list, |
DB_TYPE | type, | ||
DB_OBJECT * | class_mop, | ||
int | allow_coercion | ||
) |
Definition at line 4413 of file object_domain.c.
References DB_TYPE_NULL, DB_TYPE_OBJECT, DB_TYPE_VARIABLE, i, tp_domain::next, NULL, sm_check_class_domain(), TP_DOMAIN_TYPE, TP_IS_SET_TYPE, and tp_domain::type.
Referenced by check_object_domain().
Definition at line 1382 of file object_domain.c.
References tp_domain_size_internal().
Referenced by catalog_fetch_btree_statistics(), catalog_get_cardinality(), or_put_domain(), orc_diskrep_from_record(), stats_client_unpack_statistics(), tp_domain_construct(), tp_domain_find_set(), tp_domain_get_list_ptr(), tp_domain_match_internal(), tp_is_domain_cached(), tp_setdomain_size(), unpack_domain(), unpack_domain_2(), and xstats_get_statistics_from_server().
int tp_domain_status_er_set | ( | TP_DOMAIN_STATUS | status, |
const char * | file_name, | ||
const int | line_no, | ||
const DB_VALUE * | src, | ||
const TP_DOMAIN * | domain | ||
) |
Definition at line 11628 of file object_domain.c.
References assert, DB_VALUE_DOMAIN_TYPE, DOMAIN_ERROR, DOMAIN_INCOMPATIBLE, DOMAIN_OVERFLOW, er_errid(), ER_ERROR_SEVERITY, ER_IT_DATA_OVERFLOW, ER_JSON_INVALID_JSON, er_set(), ER_TP_CANT_COERCE, error(), NO_ERROR, NULL, pr_type_name(), and TP_DOMAIN_TYPE.
Referenced by check_att_domain(), db_value_coerce(), do_evaluate_default_expr(), do_set_trigger(), fetch_peek_arith(), heap_attrinfo_set(), heap_object_upgrade_domain(), pt_check_json_table_node(), pt_evaluate_db_value_expr(), pt_to_update_xasl(), qdata_add_dbval(), qdata_cast_to_domain(), qdata_coerce_result_to_domain(), qdata_concatenate_dbval(), qdata_divide_dbval(), qdata_evaluate_analytic_func(), qdata_get_dbval_from_constant_regu_variable(), qdata_multiply_dbval(), qdata_strcat_dbval(), qdata_subtract_dbval(), qexec_analytic_evaluate_offset_function(), qexec_execute_insert(), qexec_fill_sort_limit(), qexec_init_instnum_val(), scan_init_index_key_limit(), and tp_value_str_auto_cast_to_number().
Definition at line 5577 of file object_domain.c.
References assert, DB_DEFAULT_PRECISION, db_get_enum_codeset(), db_get_enum_collation(), db_get_enum_string(), db_get_enum_string_size(), db_make_varchar(), ER_FAILED, error(), NO_ERROR, and NULL.
Referenced by db_value_printer::describe_value(), and tp_value_cast_internal().
void tp_final | ( | void | ) |
Definition at line 708 of file object_domain.c.
References area_destroy(), assert, tp_domain::built_in_index, i, tp_domain::is_cached, tp_domain::next_list, NULL, tp_domain_free(), and tp_Initialized.
Referenced by boot_client_all_finalize(), boot_initialize_client(), boot_restart_client(), boot_server_all_finalize(), and patchdb().
int tp_get_fixed_precision | ( | DB_TYPE | domain_type | ) |
Definition at line 877 of file object_domain.c.
References DB_BIGINT_PRECISION, DB_DATE_PRECISION, DB_DATETIME_PRECISION, DB_DATETIMETZ_PRECISION, DB_DEFAULT_PRECISION, 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_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, and DB_TYPE_TIMESTAMPTZ.
Referenced by tp_domain_construct(), unpack_domain(), and unpack_domain_2().
Definition at line 11534 of file object_domain.c.
References assert, DB_MAX_NUMERIC_PRECISION, DB_TYPE_NULL, DB_TYPE_NUMERIC, db_type_to_db_domain(), DB_TYPE_VARCHAR, pr_type::id, tp_domain::precision, tp_domain::scale, tp_domain_cache(), tp_domain_copy(), TP_FLOATING_PRECISION_VALUE, TP_IS_BIT_TYPE, TP_IS_CHAR_TYPE, TP_IS_DATE_TYPE, TP_IS_NUMERIC_TYPE, TP_IS_SET_TYPE, tp_more_general_type(), and tp_domain::type.
Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().
int tp_init | ( | void | ) |
Definition at line 611 of file object_domain.c.
References area_create(), assert, tp_domain::built_in_index, tp_domain::class_mop, tp_domain::class_oid, DOM_SET_ENUM, er_errid(), i, tp_domain::is_cached, tp_domain::is_desc, tp_domain::next_list, NO_ERROR, NULL, db_identifier::pageid, tp_domain::self_ref, tp_domain::setdomain, db_identifier::slotid, tp_Initialized, and db_identifier::volid.
Referenced by boot_initialize_client(), boot_restart_client(), boot_restart_server(), patchdb(), xboot_emergency_patch(), xboot_initialize_server(), and xboot_restart_from_backup().
Definition at line 11091 of file object_domain.c.
References DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, DB_TYPE_NULL, db_value_domain_init(), pr_type::initval(), NULL, tp_domain::precision, tp_domain::scale, and tp_domain::type.
Referenced by or_get_value(), and or_unpack_mem_value().
Definition at line 10348 of file object_domain.c.
References DB_TYPE_LAST, db_type_rank, and i.
Referenced by btree_coerce_key(), eval_value_rel_cmp(), pt_eval_expr_type(), tp_infer_common_domain(), tp_set_compare(), and tp_value_compare_with_error().
DB_VALUE_COMPARE_RESULT tp_set_compare | ( | const DB_VALUE * | value1, |
const DB_VALUE * | value2, | ||
int | allow_coercion, | ||
int | total_order | ||
) |
Definition at line 10401 of file object_domain.c.
References DB_EQ, db_get_set(), DB_GT, DB_IS_NULL, DB_LT, db_make_null(), DB_NE, DB_TYPE_MULTISET, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_UNK, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, pr_clear_value(), set_compare(), tp_domain_resolve_default(), tp_more_general_type(), and tp_value_coerce().
Referenced by db_set_compare(), and eval_value_rel_cmp().
Definition at line 1393 of file object_domain.c.
References assert, DB_TYPE_MIDXKEY, NULL, tp_domain::precision, tp_domain::setdomain, tp_domain_size(), tp_domain_size_internal(), and TP_DOMAIN_TYPE.
Referenced by tp_domain_find_set(), and tp_is_domain_cached().
int tp_valid_indextype | ( | DB_TYPE | type | ) |
Definition at line 11357 of file object_domain.c.
References DB_TYPE_BIGINT, DB_TYPE_BIT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NCHAR, DB_TYPE_NUMERIC, DB_TYPE_OBJECT, DB_TYPE_OID, DB_TYPE_SHORT, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARBIT, and DB_TYPE_VARNCHAR.
Referenced by allocate_index(), btree_compare_key(), btree_find_min_or_max_key(), btree_get_stats(), check_change_attribute(), key_type_to_string(), mr_data_cmpdisk_resultset(), mr_data_cmpdisk_sequence(), mr_data_cmpdisk_set(), mr_data_cmpdisk_vobj(), patchdb(), qo_rewrite_subqueries(), sm_load_online_index(), smt_add_constraint(), and tp_domain_match_internal().
TP_DOMAIN_STATUS tp_value_auto_cast | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain | ||
) |
Definition at line 11458 of file object_domain.c.
References db_make_null(), DOMAIN_COMPATIBLE, er_clear(), pr_clear_value(), prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, and tp_value_cast().
Referenced by db_hex(), db_time_format(), fetch_peek_arith(), heap_attrinfo_set(), pt_to_update_xasl(), qdata_add_dbval(), qdata_divide_dbval(), qdata_get_dbval_from_constant_regu_variable(), qdata_multiply_dbval(), qdata_strcat_dbval(), qdata_subtract_dbval(), and tp_value_str_auto_cast_to_number().
TP_DOMAIN_STATUS tp_value_cast | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain, | ||
bool | implicit_coercion | ||
) |
Definition at line 10199 of file object_domain.c.
References mode, TP_EXPLICIT_COERCION, TP_IMPLICIT_COERCION, and tp_value_cast_internal().
Referenced by assign_set_value(), btree_store_overflow_key(), check_args(), check_att_domain(), db_bit_count_dbval(), db_date_format(), db_time_format(), db_unix_timestamp(), db_value_alloc_and_copy(), db_value_to_enumeration_value(), db_value_to_json_key(), db_value_to_json_value(), do_evaluate_default_expr(), cubxasl::json_table::column::evaluate_exists(), cubxasl::json_table::column::evaluate_extract(), fetch_peek_arith(), get_savepoint_name_from_db_value(), heap_object_upgrade_domain(), ldr_act_class_attr(), ldr_bstr_elem(), ldr_xstr_elem(), partition_prune_hash(), pt_check_json_table_node(), pt_coerce_value_internal(), pt_evaluate_db_value_expr(), pt_make_regu_hostvar(), pt_to_odku_info(), pt_value_to_db(), qdata_cast_to_domain(), qdata_concatenate_dbval(), qdata_evaluate_aggregate_list(), qdata_evaluate_analytic_func(), qdata_update_interpolation_func_value_and_domain(), qexec_execute_insert(), qexec_resolve_domains_for_aggregation(), qexec_schema_get_type_desc(), qexec_setup_topn_proc(), qfile_compare_with_interpolation_domain(), session_set_cur_insert_id(), smt_change_class_shared_attribute_domain(), smt_set_attribute_default(), cubload::to_db_varbit_from_bin_str(), cubload::to_db_varbit_from_hex_str(), tp_value_auto_cast(), tp_value_change_coll_and_codeset(), and tp_value_coerce().
TP_DOMAIN_STATUS tp_value_cast_force | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain, | ||
bool | implicit_coercion | ||
) |
Definition at line 10208 of file object_domain.c.
References mode, TP_FORCE_COERCION, and tp_value_cast_internal().
Referenced by db_value_coerce(), fetch_peek_arith(), and qo_reduce_equality_terms().
TP_DOMAIN_STATUS tp_value_cast_no_domain_select | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain, | ||
bool | implicit_coercion | ||
) |
Definition at line 10248 of file object_domain.c.
References mode, TP_EXPLICIT_COERCION, TP_IMPLICIT_COERCION, and tp_value_cast_internal().
TP_DOMAIN_STATUS tp_value_cast_preserve_domain | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain, | ||
bool | implicit_coercion, | ||
bool | preserve_domain | ||
) |
Definition at line 10228 of file object_domain.c.
References mode, TP_EXPLICIT_COERCION, TP_IMPLICIT_COERCION, and tp_value_cast_internal().
Referenced by do_cast_host_variables_to_expected_domain(), pt_set_host_variables(), and pt_value_to_db().
TP_DOMAIN_STATUS tp_value_change_coll_and_codeset | ( | DB_VALUE * | src, |
DB_VALUE * | dest, | ||
int | coll_id, | ||
int | codeset | ||
) |
Definition at line 10267 of file object_domain.c.
References assert, tp_domain::codeset, tp_domain::collation_id, db_get_string_codeset(), db_get_string_collation(), DB_VALUE_TYPE, DOMAIN_COMPATIBLE, DOMAIN_ERROR, tp_domain::is_cached, NULL, tp_domain_cache(), tp_domain_copy(), tp_domain_resolve_value(), TP_IS_STRING_TYPE, and tp_value_cast().
Referenced by fetch_peek_arith().
TP_DOMAIN_STATUS tp_value_coerce | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain | ||
) |
Definition at line 5793 of file object_domain.c.
References tp_value_cast().
Referenced by btree_coerce_key(), check_args(), db_gadget_bind(), db_round_dbval(), db_trunc_dbval(), db_width_bucket(), do_set_trigger(), eval_value_rel_cmp(), get_priority(), pt_evaluate_db_value_expr(), pt_get_query_limit_from_limit(), pt_get_query_limit_from_orderby_for(), pt_to_merge_update_xasl(), pt_value_to_db(), qdata_add_sequence_to_dbval(), qdata_aggregate_value_to_accumulator(), qdata_coerce_result_to_domain(), qdata_copy_hscan_key(), qdata_copy_hscan_key_without_alloc(), qdata_evaluate_analytic_func(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qexec_analytic_evaluate_offset_function(), qexec_fill_sort_limit(), qexec_init_instnum_val(), scan_init_index_key_limit(), setobj_ismember(), tp_set_compare(), tp_value_cast_internal(), and tp_value_compare_with_error().
int tp_value_coerce_strict | ( | const DB_VALUE * | src, |
DB_VALUE * | dest, | ||
const TP_DOMAIN * | desired_domain | ||
) |
Definition at line 5807 of file object_domain.c.
References db_monetary::amount, DATA_STATUS_NOT_CONSUMED, DATA_STATUS_OK, DATA_STATUS_TRUNCATED, db_datetime::date, db_datetimetz::datetime, DB_CURRENCY_DEFAULT, DB_DATETIMETZ_INITIALIZER, db_get_bigint(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_double(), db_get_float(), db_get_int(), db_get_monetary(), db_get_short(), db_get_timestamp(), db_get_timestamptz(), db_make_bigint(), db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_double(), db_make_float(), db_make_int(), db_make_monetary(), db_make_null(), db_make_short(), db_make_timestamp(), db_make_timestampltz(), db_make_timestamptz(), db_time_encode(), db_timestamp_decode_ses(), db_timestamp_decode_utc(), db_timestamp_decode_w_tz_id(), db_timestamp_encode_ses(), db_timestamp_encode_utc(), DB_TYPE_BIGINT, DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_DOUBLE, DB_TYPE_FLOAT, DB_TYPE_INTEGER, DB_TYPE_MONETARY, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_NUMERIC, DB_TYPE_SHORT, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, db_value_domain_init(), db_value_put_encoded_date(), db_value_put_encoded_time(), DB_VALUE_TYPE, er_clear(), ER_FAILED, err, i, NO_ERROR, NULL, numeric_db_value_coerce_from_num_strict(), numeric_db_value_coerce_to_num(), OR_CHECK_BIGINT_OVERFLOW, OR_CHECK_FLOAT_OVERFLOW, OR_CHECK_INT_OVERFLOW, OR_CHECK_SHORT_OVERFLOW, pr_clone_value(), tp_domain::precision, tp_domain::scale, db_datetime::time, db_timestamptz::timestamp, tp_atodate(), tp_atodatetimetz(), tp_atof(), tp_atonumeric(), tp_atotime(), tp_atotimestamptz(), tp_atoudatetime(), tp_atoutime(), TP_DOMAIN_TYPE, TP_IS_DATETIME_TYPE, TP_IS_NUMERIC_TYPE, tz_create_datetimetz_from_ses(), tz_create_session_tzid_for_datetime(), tz_create_session_tzid_for_timestamp(), tz_get_utc_tz_id(), db_timestamptz::tz_id, db_datetimetz::tz_id, and tz_utc_datetimetz_to_local().
Referenced by btree_coerce_key(), and scan_dbvals_to_midxkey().
DB_VALUE_COMPARE_RESULT tp_value_compare | ( | const DB_VALUE * | value1, |
const DB_VALUE * | value2, | ||
int | allow_coercion, | ||
int | total_order | ||
) |
Definition at line 10533 of file object_domain.c.
References NULL, and tp_value_compare_with_error().
Referenced by btree_get_stats_midxkey(), btree_get_unique_statistics(), catcls_apply_resolutions(), catcls_update_instance(), col_bsearch(), col_find(), col_value_compare(), db_value_compare(), do_create_auto_increment_serial(), do_update_maxvalue_of_auto_increment_serial(), eliminate_duplicated_keys(), mht_compare_dbvalues_are_equal(), mr_cmpval_object(), partition_do_regu_variables_match(), partition_prune_range(), pt_evaluate_db_value_expr(), qdata_agg_hkey_compare(), qdata_evaluate_aggregate_hierarchy(), qdata_hscan_key_compare(), qexec_check_limit_clause(), qexec_cmp_tpl_vals_merge(), qexec_get_orderbynum_upper_bound(), qexec_groupby_index(), qexec_topn_cmpval(), qo_compare_dbvalue_with_optype(), scan_key_compare(), setobj_compare(), setobj_compare_order(), setobj_difference(), setobj_intersection(), setobj_issome(), setobj_union(), setvobj_compare(), and tp_value_equal().
DB_VALUE_COMPARE_RESULT tp_value_compare_with_error | ( | const DB_VALUE * | value1, |
const DB_VALUE * | value2, | ||
int | allow_coercion, | ||
int | total_order, | ||
bool * | can_compare | ||
) |
Definition at line 10561 of file object_domain.c.
References ARE_COMPARABLE, ARG_FILE_LINE, assert, assert_release, pr_type::cmpval(), tp_domain::codeset, lang_collation::codeset, tp_domain::collation_id, d1, DATA_STATUS_OK, db_char_string_coerce(), DB_EQ, db_get_enum_codeset(), db_get_enum_collation(), db_get_object(), db_get_oid(), db_get_string_codeset(), db_get_string_collation(), DB_GT, DB_IS_NULL, DB_LT, db_make_null(), db_string_put_cs_and_collation(), DB_TYPE_DOUBLE, DB_TYPE_ENUMERATION, DB_TYPE_MIDXKEY, DB_TYPE_OBJECT, DB_TYPE_OID, DB_UNK, db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, er_clear(), ER_ERROR_SEVERITY, ER_MR_NULL_DOMAIN, ER_QSTR_INCOMPATIBLE_COLLATIONS, er_set(), ER_TP_CANT_COERCE, pr_type::id, lang_get_collation(), LANG_RT_COMMON_COLL, NO_ERROR, NULL, oidcmp(), pr_clear_value(), pr_type_from_id(), pr_type_name(), tp_domain_cache(), tp_domain_copy(), tp_domain_resolve_default(), TP_IS_CHAR_TYPE, TP_IS_DATE_OR_TIME_TYPE, TP_IS_NUMERIC_TYPE, tp_more_general_type(), TP_TYPE_HAS_COLLATION, tp_value_coerce(), and WS_OID.
Referenced by btree_compare_key(), db_least_or_greatest(), eval_value_rel_cmp(), fetch_peek_arith(), mr_cmpval_json(), pr_midxkey_compare_element(), and tp_value_compare().
Definition at line 3967 of file object_domain.c.
References DB_VALUE_TYPE, and pr_type_name().
Referenced by check_args(), and do_set_trigger().
Definition at line 11015 of file object_domain.c.
References DB_EQ, and tp_value_compare().
Referenced by db_value_equal(), setobj_find_seq_element(), vid_compare_non_updatable_objects(), and ws_vmop().
Definition at line 11489 of file object_domain.c.
References ARG_FILE_LINE, assert, db_make_null(), DB_TYPE_DOUBLE, DB_VALUE_DOMAIN_TYPE, DOMAIN_COMPATIBLE, ER_FAILED, NO_ERROR, NULL, pr_clear_value(), tp_domain_resolve_default(), tp_domain_status_er_set(), TP_IS_CHAR_TYPE, and tp_value_auto_cast().
Referenced by db_abs_dbval(), db_ceil_dbval(), db_floor_dbval(), db_mod_bigint(), db_mod_double(), db_mod_float(), db_mod_int(), db_mod_monetary(), db_mod_numeric(), db_mod_short(), db_mod_string(), db_round_dbval(), and qdata_unary_minus_dbval().
Definition at line 5715 of file object_domain.c.
References db_make_double(), DB_VALUE_TYPE, ER_FAILED, NO_ERROR, tp_atof(), and TP_IS_CHAR_STRING.
Referenced by db_round_dbvalue_to_int().
TP_DOMAIN tp_Bit_domain |
Definition at line 302 of file object_domain.c.
Referenced by pt_add_pseudocolumns_placeholders(), qdata_evaluate_connect_by_root(), qdata_evaluate_qprior(), qdata_evaluate_sys_connect_by_path(), qexec_check_for_cycle(), qexec_execute_connect_by(), and qexec_recalc_tuples_parent_pos_in_list().
TP_DOMAIN tp_Blob_domain |
Definition at line 266 of file object_domain.c.
TP_DOMAIN tp_Char_domain |
Definition at line 310 of file object_domain.c.
TP_DOMAIN tp_Clob_domain |
Definition at line 267 of file object_domain.c.
TP_DOMAIN tp_Date_domain |
Definition at line 272 of file object_domain.c.
Referenced by round_date().
TP_DOMAIN tp_Double_domain |
Definition at line 238 of file object_domain.c.
Referenced by db_bit_count_dbval(), get_priority(), qdata_evaluate_analytic_func(), qexec_analytic_evaluate_offset_function(), qexec_resolve_domains_for_aggregation(), and round_double().
TP_DOMAIN tp_Elo_domain |
Definition at line 265 of file object_domain.c.
TP_DOMAIN tp_Enumeration_domain |
Definition at line 294 of file object_domain.c.
TP_DOMAIN tp_Error_domain |
Definition at line 290 of file object_domain.c.
TP_DOMAIN tp_Float_domain |
Definition at line 237 of file object_domain.c.
Referenced by check_timeout_value().
TP_DOMAIN tp_Integer_domain |
Definition at line 235 of file object_domain.c.
Referenced by do_set_trigger(), fetch_peek_arith(), pt_add_pseudocolumns_placeholders(), pt_evaluate_db_value_expr(), pt_make_regu_iscycle(), pt_make_regu_isleaf(), pt_make_regu_level(), pt_set_connect_by_xasl(), pt_to_aggregate_node(), qdata_load_agg_hentry_from_tuple(), qexec_alloc_agg_hash_context(), qexec_analytic_evaluate_offset_function(), qexec_execute_connect_by(), qexec_initialize_analytic_function_state(), qexec_recalc_tuples_parent_pos_in_list(), qexec_resolve_domains_for_aggregation(), qexec_resolve_domains_for_group_by(), qexec_setup_topn_proc(), regu_init(), and stx_build().
TP_DOMAIN tp_Json_domain |
Definition at line 322 of file object_domain.c.
Referenced by db_value_to_json_value(), and qexec_resolve_domains_for_aggregation().
TP_DOMAIN tp_Midxkey_domain |
TP_DOMAIN tp_Monetary_domain |
Definition at line 240 of file object_domain.c.
TP_DOMAIN tp_Multiset_domain |
Definition at line 249 of file object_domain.c.
Referenced by col_new(), set_op(), and setobj_get_domain().
TP_DOMAIN tp_NChar_domain |
Definition at line 314 of file object_domain.c.
TP_DOMAIN tp_Null_domain |
Definition at line 233 of file object_domain.c.
Referenced by btree_range_opt_check_add_index_key(), catalog_fetch_btree_statistics(), or_pack_mem_value(), or_packed_value_size(), or_put_value(), pt_to_analytic_node(), pt_type_enum_to_db_domain(), qexec_resolve_domains_for_aggregation(), and qexec_resolve_domains_for_group_by().
TP_DOMAIN tp_Numeric_domain |
Definition at line 298 of file object_domain.c.
TP_DOMAIN tp_Object_domain |
Definition at line 246 of file object_domain.c.
Referenced by put_object_set(), qexec_setup_list_id(), and tp_domain_resolve_value().
TP_DOMAIN tp_Oid_domain |
Definition at line 292 of file object_domain.c.
TP_DOMAIN tp_Pointer_domain |
Definition at line 289 of file object_domain.c.
TP_DOMAIN tp_Sequence_domain |
Definition at line 251 of file object_domain.c.
Referenced by col_new(), mr_data_readval_vobj(), and setobj_get_domain().
TP_DOMAIN tp_Set_domain |
Definition at line 247 of file object_domain.c.
Referenced by col_new(), and setobj_get_domain().
TP_DOMAIN tp_Short_domain |
Definition at line 234 of file object_domain.c.
TP_DOMAIN tp_String_domain |
Definition at line 242 of file object_domain.c.
Referenced by db_value_to_json_key(), pt_add_pseudocolumns_placeholders(), qdata_evaluate_sys_connect_by_path(), qexec_execute_connect_by(), qexec_get_index_pseudocolumn_value_from_tuple(), and qexec_schema_get_type_desc().
TP_DOMAIN tp_Substructure_domain |
Definition at line 288 of file object_domain.c.
TP_DOMAIN tp_Time_domain |
Definition at line 268 of file object_domain.c.
TP_DOMAIN tp_Utime_domain |
Definition at line 269 of file object_domain.c.
TP_DOMAIN tp_VarBit_domain |
Definition at line 306 of file object_domain.c.
TP_DOMAIN tp_Variable_domain |
Definition at line 286 of file object_domain.c.
Referenced by pt_type_enum_to_db_domain(), and qexec_alloc_agg_hash_context().
TP_DOMAIN tp_VarNChar_domain |
Definition at line 318 of file object_domain.c.
TP_DOMAIN tp_Vobj_domain |
Definition at line 291 of file object_domain.c.
Referenced by col_new(), pt_make_regu_constant(), pt_make_vid(), setobj_get_domain(), and tp_domain_resolve_value().