CUBRID Engine  latest
object_primitive.h File Reference
#include "dbtype_def.h"
#include <cassert>
#include <cstdio>
#include <vector>
Include dependency graph for object_primitive.h:

Go to the source code of this file.

Classes

struct  pr_type
 

Macros

#define PRIM_TEMPORARY_DISK_SIZE   256
 
#define PRIM_COMPRESSION_LENGTH_OFFSET   4
 
#define PRIM_STRING_MAXIMUM_DISK_SIZE(length)   (OR_BYTE_SIZE + OR_INT_SIZE + OR_INT_SIZE + (length) + MAX_ALIGNMENT)
 

Typedefs

typedef struct pr_type PR_TYPE
 
typedef struct pr_typePRIM
 

Functions

void PRIM_SET_NULL (DB_VALUE *value)
 
PR_TYPEpr_type_from_id (DB_TYPE id)
 
PR_TYPEpr_find_type (const char *name)
 
const char * pr_type_name (DB_TYPE id)
 
bool pr_is_set_type (DB_TYPE type)
 
int pr_is_string_type (DB_TYPE type)
 
int pr_is_prefix_key_type (DB_TYPE type)
 
int pr_is_variable_type (DB_TYPE type)
 
int pr_mem_size (const PR_TYPE *type)
 
int pr_value_mem_size (const DB_VALUE *value)
 
DB_VALUEpr_make_value (void)
 
DB_VALUEpr_copy_value (DB_VALUE *var)
 
int pr_clone_value (const DB_VALUE *src, DB_VALUE *dest)
 
int pr_clear_value (DB_VALUE *var)
 
void pr_clear_value_vector (std::vector< DB_VALUE > &value_vector)
 
int pr_free_value (DB_VALUE *var)
 
DB_VALUEpr_make_ext_value (void)
 
int pr_free_ext_value (DB_VALUE *value)
 
DB_VALUE_COMPARE_RESULT pr_midxkey_compare (DB_MIDXKEY *mul1, DB_MIDXKEY *mul2, int do_coercion, int total_order, int num_index_term, int *start_colp, int *result_size1, int *result_size2, int *diff_column, bool *dom_is_desc, bool *next_dom_is_desc)
 
int pr_midxkey_element_disk_size (char *mem, DB_DOMAIN *domain)
 
int pr_midxkey_get_element_nocopy (const DB_MIDXKEY *midxkey, int index, DB_VALUE *value, int *prev_indexp, char **prev_ptrp)
 
int pr_midxkey_add_elements (DB_VALUE *keyval, DB_VALUE *dbvals, int num_dbvals, struct tp_domain *dbvals_domain_list)
 
int pr_midxkey_init_boundbits (char *bufptr, int n_atts)
 
int pr_index_writeval_disk_size (DB_VALUE *value)
 
int pr_data_writeval_disk_size (DB_VALUE *value)
 
void pr_data_writeval (struct or_buf *buf, DB_VALUE *value)
 
int pr_midxkey_unique_prefix (const DB_VALUE *db_midxkey1, const DB_VALUE *db_midxkey2, DB_VALUE *db_result)
 
int pr_midxkey_get_element_offset (const DB_MIDXKEY *midxkey, int index)
 
int pr_midxkey_add_prefix (DB_VALUE *result, DB_VALUE *prefix, DB_VALUE *postfix, int n_prefix)
 
int pr_midxkey_remove_prefix (DB_VALUE *key, int prefix)
 
int pr_midxkey_common_prefix (DB_VALUE *key1, DB_VALUE *key2)
 
char * pr_valstring (const DB_VALUE *)
 
int pr_area_init (void)
 
void pr_area_final (void)
 
int pr_complete_enum_value (DB_VALUE *value, struct tp_domain *domain)
 
int pr_get_compression_length (const char *string, int str_length)
 
int pr_get_compressed_data_from_buffer (struct or_buf *buf, char *data, int compressed_size, int expected_decompressed_size)
 
int pr_get_size_and_write_string_to_buffer (struct or_buf *buf, char *val_p, DB_VALUE *value, int *val_size, int align)
 
int pr_data_compress_string (const char *string, int str_length, char *compressed_string, int compress_buffer_size, int *compressed_length)
 
int pr_clear_compressed_string (DB_VALUE *value)
 
int pr_do_db_value_string_compression (DB_VALUE *value)
 

Variables

PR_TYPE tp_Null
 
PR_TYPE tp_Integer
 
PR_TYPE tp_Short
 
PR_TYPE tp_Float
 
PR_TYPE tp_Double
 
PR_TYPE tp_String
 
PR_TYPE tp_Set
 
PR_TYPE tp_Multiset
 
PR_TYPE tp_Sequence
 
PR_TYPE tp_Object
 
PR_TYPE tp_Midxkey
 
PR_TYPE tp_Time
 
PR_TYPE tp_Utime
 
PR_TYPE tp_Date
 
PR_TYPE tp_Datetime
 
PR_TYPE tp_Monetary
 
PR_TYPE tp_Elo
 
PR_TYPE tp_Blob
 
PR_TYPE tp_Clob
 
PR_TYPE tp_Variable
 
PR_TYPE tp_Substructure
 
PR_TYPE tp_Pointer
 
PR_TYPE tp_Error
 
PR_TYPE tp_Vobj
 
PR_TYPE tp_Oid
 
PR_TYPE tp_Numeric
 
PR_TYPE tp_Bit
 
PR_TYPE tp_VarBit
 
PR_TYPE tp_Char
 
PR_TYPE tp_NChar
 
PR_TYPE tp_VarNChar
 
PR_TYPE tp_ResultSet
 
PR_TYPE tp_Bigint
 
PR_TYPE tp_Enumeration
 
PR_TYPE tp_Timestamptz
 
PR_TYPE tp_Timestampltz
 
PR_TYPE tp_Datetimetz
 
PR_TYPE tp_Datetimeltz
 
PR_TYPE tp_Timetz
 
PR_TYPE tp_Timeltz
 
PR_TYPE tp_Json
 
PR_TYPEtp_Type_null
 
PR_TYPEtp_Type_integer
 
PR_TYPEtp_Type_short
 
PR_TYPEtp_Type_float
 
PR_TYPEtp_Type_double
 
PR_TYPEtp_Type_string
 
PR_TYPEtp_Type_error
 
PR_TYPEtp_Type_pointer
 
PR_TYPEtp_Type_oid
 
PR_TYPEtp_Type_set
 
PR_TYPEtp_Type_multiset
 
PR_TYPEtp_Type_sequence
 
PR_TYPEtp_Type_object
 
PR_TYPEtp_Type_time
 
PR_TYPEtp_Type_utime
 
PR_TYPEtp_Type_date
 
PR_TYPEtp_Type_monetary
 
PR_TYPEtp_Type_elo
 
PR_TYPEtp_Type_blob
 
PR_TYPEtp_Type_clob
 
PR_TYPEtp_Type_variable
 
PR_TYPEtp_Type_substructure
 
PR_TYPEtp_Type_vobj
 
PR_TYPEtp_Type_numeric
 
PR_TYPEtp_Type_bit
 
PR_TYPEtp_Type_varbit
 
PR_TYPEtp_Type_char
 
PR_TYPEtp_Type_nchar
 
PR_TYPEtp_Type_varnchar
 
PR_TYPEtp_Type_resultset
 
PR_TYPEtp_Type_midxkey
 
PR_TYPEtp_Type_bigint
 
PR_TYPEtp_Type_datetime
 
PR_TYPEtp_Type_json
 
PR_TYPEtp_Type_id_map []
 
int pr_Inhibit_oid_promotion
 
int pr_Enable_string_compression
 

Macro Definition Documentation

#define PRIM_COMPRESSION_LENGTH_OFFSET   4

Definition at line 348 of file object_primitive.h.

#define PRIM_STRING_MAXIMUM_DISK_SIZE (   length)    (OR_BYTE_SIZE + OR_INT_SIZE + OR_INT_SIZE + (length) + MAX_ALIGNMENT)

Definition at line 353 of file object_primitive.h.

Typedef Documentation

typedef struct pr_type PR_TYPE
typedef struct pr_type * PRIM

Function Documentation

void pr_area_final ( void  )

Definition at line 1848 of file object_primitive.c.

References area_destroy(), and NULL.

Referenced by PRIM_SET_NULL(), and ws_init().

Here is the caller graph for this function:

int pr_area_init ( void  )

Definition at line 1831 of file object_primitive.c.

References area_create(), assert, er_errid(), NO_ERROR, NULL, and VALUE_AREA_COUNT.

Referenced by boot_restart_server(), PRIM_SET_NULL(), ws_init(), and xboot_initialize_server().

Here is the caller graph for this function:

int pr_clear_value ( DB_VALUE var)

Definition at line 1912 of file object_primitive.c.

References assert, db_midxkey::buf, db_char::buf, db_data::ch, db_char::compressed_buf, db_char::compressed_need_clear, CONST_CAST, db_value::data, DB_GET_COMPRESSED_STRING, db_get_elo(), db_get_enum_codeset(), db_get_enum_collation(), db_get_enum_string(), db_get_set(), DB_IS_NULL, db_json_delete_doc(), db_make_enumeration(), db_private_free, db_private_free_and_init, db_set_compressed_string(), DB_TYPE_BIT, DB_TYPE_BLOB, DB_TYPE_CHAR, DB_TYPE_CLOB, DB_TYPE_ENUMERATION, DB_TYPE_JSON, DB_TYPE_MIDXKEY, DB_TYPE_MULTISET, DB_TYPE_NCHAR, DB_TYPE_OBJECT, DB_TYPE_SEQUENCE, DB_TYPE_SET, DB_TYPE_VARBIT, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_TYPE_VOBJ, DB_VALUE_DOMAIN_TYPE, db_json::document, elo_free_structure(), db_char::info, db_data::json, db_char::medium, db_data::midxkey, db_value::need_clear, NO_ERROR, NULL, db_data::op, PRIM_SET_NULL(), prm_get_bool_value(), PRM_ID_ORACLE_STYLE_EMPTY_STRING, QSTR_IS_ANY_CHAR_OR_BIT, db_json::schema_raw, db_data::set, and set_free().

Referenced by assign_null_value(), au_change_serial_owner(), au_check_serial_authorization(), au_delete_auth_of_dropping_table(), au_drop_user(), au_dump_to_file(), au_dump_user(), au_print_auth(), au_print_grant_entry(), au_set_new_auth(), au_set_user_comment(), au_user_name(), btree_advance_to_next_slot_and_fix_page(), btree_apply_key_range_and_filter(), btree_attrinfo_read_dbvalues(), btree_build_nleafs(), btree_check_valid_record(), btree_clear_key_value(), btree_coerce_key(), btree_delete_internal(), btree_find_split_point(), btree_first_oid(), btree_get_next_key_info(), btree_get_next_node_info(), btree_get_stats(), btree_get_stats_key(), btree_get_stats_midxkey(), btree_get_unique_statistics(), btree_ils_adjust_range(), btree_iss_set_key(), btree_key_insert_new_key(), btree_range_opt_check_add_index_key(), btree_recompress_record(), btree_rv_keyval_undo_online_index_tran_delete(), btree_rv_keyval_undo_online_index_tran_insert(), btree_set_split_point(), btree_sort_get_next(), btree_store_overflow_key(), btree_top_n_items_binary_search(), btree_verify_leaf_node(), catcls_apply_resolutions(), catcls_convert_attr_id_to_name(), catcls_find_oid_by_class_name(), catcls_free_or_value(), catcls_free_sub_value(), catcls_get_or_value_from_attribute(), catcls_get_or_value_from_indexes(), catcls_get_property_set(), check_default_on_update_clause(), classobj_cache_constraint_entry(), classobj_cache_constraint_list(), classobj_cache_constraints(), classobj_change_constraint_comment(), classobj_change_constraint_status(), classobj_check_function_constraint_info(), classobj_clear_attribute_value(), classobj_drop_foreign_key_ref(), classobj_drop_prop(), classobj_find_prop_constraint(), classobj_get_prop(), classobj_make_class_constraints(), classobj_make_foreign_key_info(), classobj_make_foreign_key_ref(), classobj_make_foreign_key_ref_list(), classobj_make_index_filter_pred_info(), classobj_make_index_filter_pred_seq(), classobj_print_props(), classobj_put_foreign_key_ref(), classobj_put_index(), classobj_put_prop(), classobj_put_value_and_iterate(), index_builder_loader_task::clear_keys(), cubscan::json_table::scanner::clear_node_columns(), cubxasl::json_table::column::clear_xasl(), regu_variable_node::clear_xasl_local(), col_delete(), compare_driver(), cursor_copy_vobj_to_dbvalue(), cursor_fixup_set_vobjs(), cursor_fixup_vobjs(), cursor_has_set_vobjs(), db_bigint_to_binary_string(), db_date_add_sub_interval_expr(), db_format(), db_json_convert_to_utf8(), db_like_bound(), db_string_concatenate(), db_string_convert_to(), db_string_insert_substring(), db_string_repeat(), db_string_replace(), db_string_substring_index(), db_string_truncate(), db_time_format(), db_trunc_dbval(), db_value_alloc_and_copy(), db_value_clear(), db_value_clear_array(), db_value_get(), db_value_to_json_doc(), db_value_to_json_key(), db_value_to_json_value(), desc_disk_to_obj(), desc_free(), object_printer::describe_attribute(), object_printer::describe_class(), object_printer::describe_comment(), db_value_printer::describe_midxkey(), object_printer::describe_partition_parts(), disk_to_attribute(), disk_to_partition_info(), do_alter_change_owner(), do_alter_one_clause_with_template(), do_alter_serial(), do_alter_trigger(), do_change_att_schema_only(), do_create_auto_increment_serial(), do_create_serial(), do_create_serial_internal(), do_drop_serial(), do_drop_session_variables(), do_evaluate(), do_evaluate_default_expr(), do_evaluate_insert_values(), do_find_unique_constraint_violations(), do_get_optimization_param(), do_get_prepared_statement_info(), do_get_serial_obj_id(), do_get_stats(), do_prepare_merge(), do_prepare_update(), do_set_optimization_param(), do_set_session_variables(), do_set_sys_params(), do_update_auto_increment_serial_on_rename(), do_update_maxvalue_of_auto_increment_serial(), domain_to_disk(), drop_stored_procedure(), eliminate_duplicated_keys(), emit_autoincrement_def(), emit_instance_attributes(), emit_stored_procedure_args(), eval_item_card_set(), eval_item_card_sort_list(), eval_key_filter(), eval_some_eval(), eval_some_list_eval(), eval_sub_multi_set_to_sort_list(), eval_sub_sort_list_to_multi_set(), eval_sub_sort_list_to_sort_list(), cubxasl::json_table::column::evaluate(), cubxasl::json_table::column::evaluate_extract(), fetch_copy_dbval(), fetch_peek_arith(), fetch_peek_dbval(), fetch_peek_dbval_pos(), fetch_val_list(), filter_local_constraints(), flatten_properties(), get_current_result(), heap_attrinfo_clear_dbvalues(), heap_attrinfo_generate_key(), heap_attrinfo_set(), heap_attrinfo_set_uninitialized(), heap_attrinfo_transform_to_disk_internal(), heap_attrvalue_get_key(), heap_attrvalue_read(), heap_classrepr_dump(), heap_eval_function_index(), heap_midxkey_key_generate(), heap_midxkey_key_get(), heap_object_upgrade_domain(), jsp_add_stored_procedure(), jsp_add_stored_procedure_argument(), jsp_alter_stored_procedure(), jsp_do_call_stored_procedure(), jsp_get_value_size(), jsp_pack_set_argument(), jsp_unpack_set_value(), la_free_repl_item(), la_get_current(), la_make_repl_item(), lang_db_put_charset(), locator_add_or_remove_index_internal(), locator_check_btree_entries(), locator_check_foreign_key(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_check_unique_btree_entries(), locator_mvcc_reev_cond_assigns(), locator_prefetch_index_page_internal(), locator_repair_btree_by_delete(), locator_update_index(), log_repl_data_dump(), make_desired_string_db_value(), merge_key_ranges(), method_invoke_for_server(), method_receive_results_for_stand_alone(), mht_valhash(), mq_set_non_updatable_oid(), mr_cmpval_json(), mr_data_cmpdisk_json(), mr_data_lengthval_object(), mr_data_writeval_object(), obj_assign_value(), obj_copy(), obj_find_multi_attr(), obj_find_multi_desc(), obj_find_object_by_cons_and_key(), obt_assign(), online_index_builder(), or_class_get_partition_info(), or_get_current_representation(), or_get_enumeration(), or_get_json_schema(), or_get_set(), or_packed_enumeration_size(), or_packed_json_schema_length(), or_put_enumeration(), or_put_json_schema(), partition_load_partition_predicate(), partition_prune(), partition_prune_hash(), partition_prune_list(), partition_prune_partition_index(), partition_prune_range(), pr_clear_value_vector(), pr_complete_enum_value(), pr_free_ext_value(), pr_free_value(), pr_midxkey_compare_element(), PRIM_SET_NULL(), pt_check_alter_partition(), pt_check_enum_data_type(), pt_coerce_value_internal(), pt_db_value_initialize(), pt_eval_value_path(), pt_evaluate_db_value_expr(), pt_evaluate_function(), pt_evaluate_tree_internal(), pt_fold_const_expr(), pt_fold_const_function(), pt_get_query_limit_from_limit(), pt_get_query_limit_from_orderby_for(), pt_json_str_codeset_normalization(), pt_make_regu_constant(), pt_seq_value_to_db(), pt_set_host_variables(), pt_set_table_to_db(), pt_set_value_to_db(), pt_to_list_key(), pt_to_regu_variable(), pt_to_upd_del_query(), put_string(), qdata_add_dbval(), qdata_add_sequence_to_dbval(), qdata_aggregate_accumulator_to_accumulator(), qdata_aggregate_value_to_accumulator(), qdata_benchmark(), qdata_concatenate_dbval(), qdata_convert_dbvals_to_set(), qdata_convert_table_to_set(), qdata_copy_db_value(), qdata_copy_hscan_key_without_alloc(), qdata_evaluate_aggregate_hierarchy(), qdata_evaluate_aggregate_list(), qdata_evaluate_analytic_func(), qdata_evaluate_function(), qdata_evaluate_sys_connect_by_path(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qdata_get_interpolation_function_result(), qdata_group_concat_first_value(), qdata_group_concat_value(), qdata_load_agg_hentry_from_tuple(), qdata_set_valptr_list_unbound(), qdata_set_value_list_to_null(), qdata_strcat_dbval(), qdata_tuple_to_values_array(), qexec_analytic_evaluate_interpolation_function(), qexec_analytic_evaluate_offset_function(), qexec_analytic_put_next(), qexec_analytic_sort_key_header_load(), qexec_analytic_start_group(), qexec_clear_access_spec_list(), qexec_clear_agg_list(), qexec_clear_analytic_function_list(), qexec_clear_analytic_function_state(), qexec_clear_arith_list(), qexec_clear_db_val_list(), qexec_clear_regu_var(), qexec_clear_topn_tuple(), qexec_clear_update_assignment(), qexec_clear_xasl(), qexec_clear_xasl_head(), qexec_cmp_tpl_vals_merge(), qexec_collection_has_null(), qexec_compare_valptr_with_tuple(), qexec_execute_build_columns(), qexec_execute_build_indexes(), qexec_execute_connect_by(), qexec_execute_delete(), qexec_execute_do_stmt(), qexec_execute_insert(), qexec_free_agg_hash_context(), qexec_gby_finalize_group(), qexec_gby_finalize_group_val_list(), qexec_get_orderbynum_upper_bound(), qexec_get_xasl_list_id(), qexec_groupby_index(), qexec_init_next_partition(), qexec_oid_of_duplicate_key_update(), qexec_remove_duplicates_for_replace(), qexec_reset_pseudocolumns_val_pointers(), qexec_resolve_domains_for_aggregation(), qexec_schema_get_type_desc(), qexec_setup_topn_proc(), qexec_upddel_add_unique_oid_to_ehid(), qfile_compare_tuple_values(), qfile_compare_with_interpolation_domain(), qfile_free_list_cache_entry(), qfile_locate_tuple_next_value(), qo_env_free(), qo_fold_is_and_not_null(), qo_reduce_equality_terms(), regu_make_constant_vid(), btree_insert_list::reset_boundary_keys(), save_previous_value(), sbtree_find_multi_uniques(), sbtree_find_unique_internal(), scan_close_scan(), scan_dbvals_to_midxkey(), scan_dump_key_into_tuple(), scan_end_scan(), scan_get_index_oidset(), scan_get_next_iss_value(), scan_init_iss(), scan_next_heap_scan(), scan_next_method_scan(), scan_next_set_scan(), serial_clear_value(), serial_update_cur_val_of_serial(), session_add_variable(), session_get_last_insert_id(), session_reset_cur_insert_id(), session_set_cur_insert_id(), session_state_uninit(), page_key_boundary::set_value(), setobj_add_element(), setobj_clear(), setobj_convert_oids_to_objects(), setobj_put_element(), showstmt_free_array_context(), showstmt_next_scan(), smt_add_constraint_to_property(), smt_change_class_shared_attribute_domain(), smt_drop_constraint_from_property(), smt_set_attribute_default(), smt_set_attribute_orig_default_value(), ssession_drop_session_variables(), ssession_get_session_variable(), ssession_set_session_variables(), stmt_destroyf(), stmt_prepare_internal(), tf_attribute_default_expr_to_property(), tp_set_compare(), tp_value_auto_cast(), tp_value_cast_internal(), tp_value_compare_with_error(), tp_value_str_auto_cast_to_number(), tr_set_comment(), cubxasl::json_table::column::trigger_on_empty(), cubxasl::json_table::column::trigger_on_error(), trigger_table_add(), trigger_table_drop(), trigger_table_find(), trigger_table_rename(), trigger_to_object(), update_at_server(), valcnv_convert_set_to_string(), valcnv_convert_value_to_string(), values_list_to_values_array(), vid_build_non_upd_object(), vid_fetch_instance(), vid_vobj_to_object(), ws_clear_internal(), ws_cull_mops(), ws_free_mop(), ws_rehash_vmop(), xbtree_load_index(), xlocator_check_fk_validity(), xlocator_remove_class_from_index(), xlocator_repl_force(), xqmgr_execute_query(), xqmgr_prepare_and_execute_query(), xserial_get_next_value_internal(), btree_insert_list::~btree_insert_list(), and page_key_boundary::~page_key_boundary().

void pr_clear_value_vector ( std::vector< DB_VALUE > &  value_vector)

Definition at line 2093 of file object_primitive.c.

References pr_clear_value().

Referenced by PRIM_SET_NULL(), and qdata_evaluate_aggregate_list().

Here is the caller graph for this function:

int pr_clone_value ( const DB_VALUE src,
DB_VALUE dest 
)

Definition at line 2155 of file object_primitive.c.

References DB_IS_NULL, db_make_null(), db_value_domain_init(), DB_VALUE_DOMAIN_TYPE, DB_VALUE_PRECISION, DB_VALUE_SCALE, NO_ERROR, NULL, pr_type_from_id(), and pr_type::setval().

Referenced by assign_set_value(), btree_attrinfo_read_dbvalues(), btree_coerce_key(), btree_find_min_or_max_key(), btree_find_split_point(), btree_first_oid(), btree_get_next_key_info(), btree_get_next_node_info(), btree_get_prefix_separator(), btree_get_stats_midxkey(), btree_get_unique_statistics(), btree_ils_adjust_range(), btree_iss_set_key(), btree_key_insert_new_key(), btree_range_opt_check_add_index_key(), btree_range_scan_descending_fix_prev_leaf(), btree_recompress_record(), btree_set_split_point(), catcls_apply_resolutions(), catcls_convert_attr_id_to_name(), classobj_init_attribute(), copy_bind_value_to_tdes(), csession_get_variable(), db_datetime_to_timestamp(), db_least_or_greatest(), db_query_get_tuple_value(), db_string_concatenate(), db_string_elt(), db_string_insert_substring(), db_string_limit_size_string(), db_string_md5(), db_string_regexp_replace(), db_string_substring_index(), db_to_char(), db_value_alloc_and_copy(), db_value_clone(), db_value_copy(), do_drop_session_variables(), do_evaluate_default_expr(), do_find_unique_constraint_violations(), do_set_session_variables(), eval_key_filter(), fetch_peek_arith(), get_desc_old(), heap_attrinfo_generate_key(), heap_attrinfo_set_uninitialized(), heap_attrvalue_get_key(), heap_eval_function_index(), heap_object_upgrade_domain(), locator_check_primary_key_delete(), locator_check_primary_key_update(), locator_update_index(), obj_assign_value(), obj_get_value(), obt_assign(), partition_attrinfo_get_key(), partition_get_value_from_inarith(), partition_get_value_from_key(), partition_get_value_from_regu_var(), partition_prune_hash(), populate_defaults(), pr_copy_value(), pr_midxkey_unique_prefix(), PRIM_SET_NULL(), pt_evaluate_db_value_expr(), pt_evaluate_tree_internal(), pt_get_query_limit_from_orderby_for(), pt_rewrite_to_auto_param(), pt_set_host_variables(), pt_to_aggregate_node(), qdata_add_dbval(), qdata_aggregate_value_to_accumulator(), qdata_apply_interpolation_function_coercion(), qdata_copy_hscan_key_without_alloc(), qdata_elt(), qdata_evaluate_aggregate_hierarchy(), qdata_evaluate_aggregate_list(), qdata_evaluate_analytic_func(), qdata_evaluate_connect_by_root(), qdata_evaluate_sys_connect_by_path(), qdata_finalize_aggregate_list(), qdata_finalize_analytic_func(), qdata_group_concat_first_value(), qdata_group_concat_value(), qdata_load_agg_hvalue_in_agg_list(), qdata_subtract_timestampltz_to_dbval(), qdata_tuple_to_values_array(), qexec_analytic_evaluate_interpolation_function(), qexec_analytic_evaluate_offset_function(), qexec_execute_insert(), qexec_get_orderbynum_upper_bound(), qexec_groupby_index(), qexec_init_instnum_val(), qexec_schema_get_type_desc(), qexec_topn_tuples_to_list_id(), qfile_update_list_cache_entry(), save_previous_value(), scan_dbvals_to_midxkey(), scan_get_next_iss_value(), scan_regu_key_to_index_key(), serial_get_next_cached_value(), serial_set_cache_entry(), serial_update_cur_val_of_serial(), session_define_variable(), session_get_last_insert_id(), session_get_trace_stats(), session_get_variable(), session_set_cur_insert_id(), page_key_boundary::set_value(), setobj_copy(), setobj_get_element(), showstmt_array_next_scan(), smt_change_class_shared_attribute_domain(), smt_set_attribute_default(), smt_set_attribute_orig_default_value(), stmt_add_batch_param(), tp_value_cast_internal(), tp_value_coerce_strict(), cubxasl::json_table::column::trigger_on_empty(), cubxasl::json_table::column::trigger_on_error(), value_to_db_value(), values_list_to_values_array(), vid_fetch_instance(), ws_rehash_vmop(), ws_vmop(), xserial_get_current_value(), xserial_get_next_value(), and xserial_get_next_value_internal().

DB_VALUE* pr_copy_value ( DB_VALUE var)

Definition at line 2208 of file object_primitive.c.

References NO_ERROR, NULL, pr_clone_value(), pr_free_value(), and pr_make_value().

Referenced by PRIM_SET_NULL(), qdata_copy_agg_hkey(), qdata_copy_hscan_key(), and qo_merge_range_helper().

Here is the caller graph for this function:

int pr_data_compress_string ( const char *  string,
int  str_length,
char *  compressed_string,
int  compress_buffer_size,
int *  compressed_length 
)
void pr_data_writeval ( struct or_buf buf,
DB_VALUE value 
)

Definition at line 9705 of file object_primitive.c.

References pr_type::data_writeval(), DB_VALUE_DOMAIN_TYPE, NULL, pr_type_from_id(), and tp_Type_null.

Referenced by PRIM_SET_NULL(), and put_attributes().

Here is the caller graph for this function:

int pr_free_value ( DB_VALUE var)
int pr_get_compressed_data_from_buffer ( struct or_buf buf,
char *  data,
int  compressed_size,
int  expected_decompressed_size 
)
int pr_index_writeval_disk_size ( DB_VALUE value)

Definition at line 9686 of file object_primitive.c.

References assert, DB_VALUE_DOMAIN_TYPE, pr_type::get_index_size_of_value(), NULL, and pr_type_from_id().

Referenced by btree_get_disk_size_of_key(), pr_midxkey_get_vals_size(), and PRIM_SET_NULL().

Here is the caller graph for this function:

int pr_is_prefix_key_type ( DB_TYPE  type)

Definition at line 8808 of file object_primitive.c.

References DB_TYPE_MIDXKEY, and pr_is_string_type().

Referenced by btree_build_nleafs(), and PRIM_SET_NULL().

Here is the caller graph for this function:

int pr_is_variable_type ( DB_TYPE  type)

Definition at line 8826 of file object_primitive.c.

References NULL, pr_type_from_id(), and pr_type::variable_p.

Referenced by fetch_peek_dbval(), PRIM_SET_NULL(), qfile_unify_types(), and tf_compile_meta_classes().

Here is the caller graph for this function:

int pr_mem_size ( const PR_TYPE type)

Definition at line 8931 of file object_primitive.c.

References pr_type::size.

Referenced by PRIM_SET_NULL(), and pt_find_size_from_dbtype().

Here is the caller graph for this function:

int pr_midxkey_common_prefix ( DB_VALUE key1,
DB_VALUE key2 
)

Definition at line 9200 of file object_primitive.c.

References assert, db_get_midxkey(), DB_TYPE_MIDXKEY, DB_UNK, DB_VALUE_TYPE, NULL, and pr_midxkey_compare().

Referenced by btree_merge_node(), btree_node_common_prefix(), and PRIM_SET_NULL().

Here is the caller graph for this function:

int pr_midxkey_element_disk_size ( char *  mem,
DB_DOMAIN domain 
)
int pr_midxkey_init_boundbits ( char *  bufptr,
int  n_atts 
)

Definition at line 9524 of file object_primitive.c.

References i, and OR_MULTI_BOUND_BIT_BYTES.

Referenced by heap_midxkey_key_generate(), heap_midxkey_key_get(), pr_midxkey_add_elements(), and PRIM_SET_NULL().

Here is the caller graph for this function:

int pr_midxkey_remove_prefix ( DB_VALUE key,
int  prefix 
)
int pr_value_mem_size ( const DB_VALUE value)
void PRIM_SET_NULL ( DB_VALUE value)
inline

Definition at line 269 of file object_primitive.h.

References HL::align(), db_value::domain, db_domain_info::general_info, db_domain_info::general_info::is_null, pr_type::name, db_value::need_clear, pr_area_final(), pr_area_init(), pr_clear_compressed_string(), pr_clear_value(), pr_clear_value_vector(), pr_clone_value(), pr_complete_enum_value(), pr_copy_value(), pr_data_compress_string(), pr_data_writeval(), pr_data_writeval_disk_size(), pr_do_db_value_string_compression(), pr_find_type(), pr_free_ext_value(), pr_free_value(), pr_get_compressed_data_from_buffer(), pr_get_compression_length(), pr_get_size_and_write_string_to_buffer(), pr_index_writeval_disk_size(), pr_Inhibit_oid_promotion, pr_is_prefix_key_type(), pr_is_set_type(), pr_is_string_type(), pr_is_variable_type(), pr_make_ext_value(), pr_make_value(), pr_mem_size(), pr_midxkey_add_elements(), pr_midxkey_add_prefix(), pr_midxkey_common_prefix(), pr_midxkey_compare(), pr_midxkey_element_disk_size(), pr_midxkey_get_element_nocopy(), pr_midxkey_get_element_offset(), pr_midxkey_init_boundbits(), pr_midxkey_remove_prefix(), pr_midxkey_unique_prefix(), pr_type_from_id(), pr_type_name(), pr_valstring(), pr_value_mem_size(), and tp_domain::type.

Referenced by classobj_put_foreign_key_ref(), col_delete(), col_drop(), col_insert(), col_null_values(), db_crc32_dbval(), db_get_schema_def_dbval(), eval_item_card_set(), eval_item_card_sort_list(), eval_some_eval(), eval_some_list_eval(), eval_sub_multi_set_to_sort_list(), eval_sub_sort_list_to_multi_set(), eval_sub_sort_list_to_sort_list(), fetch_peek_arith(), get_hour_minute_or_second(), pr_clear_value(), qexec_cmp_tpl_vals_merge(), qexec_gby_finalize_group(), scan_get_index_oidset(), and setobj_put_value().

Variable Documentation

int pr_Inhibit_oid_promotion
PR_TYPE tp_Bigint

Definition at line 1025 of file object_primitive.c.

PR_TYPE tp_Bit

Definition at line 14970 of file object_primitive.c.

Referenced by db_string_truncate().

PR_TYPE tp_Blob

Definition at line 1385 of file object_primitive.c.

PR_TYPE tp_Char

Definition at line 12114 of file object_primitive.c.

Referenced by db_string_truncate().

PR_TYPE tp_Clob

Definition at line 1410 of file object_primitive.c.

PR_TYPE tp_Date

Definition at line 1302 of file object_primitive.c.

PR_TYPE tp_Datetime

Definition at line 1200 of file object_primitive.c.

PR_TYPE tp_Datetimeltz

Definition at line 1252 of file object_primitive.c.

PR_TYPE tp_Datetimetz

Definition at line 1225 of file object_primitive.c.

PR_TYPE tp_Double

Definition at line 1075 of file object_primitive.c.

PR_TYPE tp_Elo

Definition at line 1360 of file object_primitive.c.

PR_TYPE tp_Enumeration

Definition at line 1717 of file object_primitive.c.

PR_TYPE tp_Error

Definition at line 1510 of file object_primitive.c.

PR_TYPE tp_Float

Definition at line 1050 of file object_primitive.c.

PR_TYPE tp_Json

Definition at line 16521 of file object_primitive.c.

PR_TYPE tp_Midxkey

Definition at line 1642 of file object_primitive.c.

PR_TYPE tp_Monetary

Definition at line 1277 of file object_primitive.c.

PR_TYPE tp_Multiset

Definition at line 1592 of file object_primitive.c.

PR_TYPE tp_NChar

Definition at line 13063 of file object_primitive.c.

Referenced by db_string_truncate().

PR_TYPE tp_Null

Definition at line 950 of file object_primitive.c.

PR_TYPE tp_Numeric

Definition at line 1692 of file object_primitive.c.

PR_TYPE tp_Oid

Definition at line 1542 of file object_primitive.c.

Referenced by disk_to_domain2().

PR_TYPE tp_Pointer

Definition at line 1485 of file object_primitive.c.

PR_TYPE tp_ResultSet

Definition at line 1794 of file object_primitive.c.

PR_TYPE tp_Set

Definition at line 1567 of file object_primitive.c.

Referenced by tf_attribute_default_expr_to_property().

PR_TYPE tp_Short

Definition at line 1000 of file object_primitive.c.

PR_TYPE tp_Substructure

Definition at line 1460 of file object_primitive.c.

PR_TYPE tp_Time

Definition at line 1100 of file object_primitive.c.

PR_TYPE tp_Timeltz
PR_TYPE tp_Timestampltz

Definition at line 1177 of file object_primitive.c.

PR_TYPE tp_Timestamptz

Definition at line 1150 of file object_primitive.c.

PR_TYPE tp_Timetz
PR_TYPE* tp_Type_bigint

Definition at line 1048 of file object_primitive.c.

PR_TYPE* tp_Type_bit

Definition at line 14993 of file object_primitive.c.

PR_TYPE* tp_Type_blob

Definition at line 1408 of file object_primitive.c.

PR_TYPE* tp_Type_char

Definition at line 12137 of file object_primitive.c.

PR_TYPE* tp_Type_clob

Definition at line 1433 of file object_primitive.c.

PR_TYPE* tp_Type_date

Definition at line 1325 of file object_primitive.c.

PR_TYPE* tp_Type_datetime

Definition at line 1223 of file object_primitive.c.

PR_TYPE* tp_Type_double

Definition at line 1098 of file object_primitive.c.

PR_TYPE* tp_Type_elo

Definition at line 1383 of file object_primitive.c.

PR_TYPE* tp_Type_error

Definition at line 1533 of file object_primitive.c.

PR_TYPE* tp_Type_float

Definition at line 1073 of file object_primitive.c.

PR_TYPE* tp_Type_integer

Definition at line 998 of file object_primitive.c.

Referenced by pr_find_type().

PR_TYPE* tp_Type_json

Definition at line 16544 of file object_primitive.c.

PR_TYPE* tp_Type_midxkey

Definition at line 1665 of file object_primitive.c.

PR_TYPE* tp_Type_monetary

Definition at line 1300 of file object_primitive.c.

PR_TYPE* tp_Type_multiset

Definition at line 1615 of file object_primitive.c.

Referenced by pr_find_type().

PR_TYPE* tp_Type_nchar

Definition at line 13086 of file object_primitive.c.

PR_TYPE* tp_Type_numeric

Definition at line 1715 of file object_primitive.c.

PR_TYPE* tp_Type_oid

Definition at line 1565 of file object_primitive.c.

PR_TYPE* tp_Type_pointer

Definition at line 1508 of file object_primitive.c.

PR_TYPE* tp_Type_resultset

Definition at line 1817 of file object_primitive.c.

PR_TYPE* tp_Type_sequence

Definition at line 1640 of file object_primitive.c.

Referenced by pr_find_type().

PR_TYPE* tp_Type_set

Definition at line 1590 of file object_primitive.c.

PR_TYPE* tp_Type_short

Definition at line 1023 of file object_primitive.c.

Referenced by pr_find_type().

PR_TYPE* tp_Type_string

Definition at line 11234 of file object_primitive.c.

Referenced by pr_find_type().

PR_TYPE* tp_Type_substructure

Definition at line 1483 of file object_primitive.c.

PR_TYPE* tp_Type_time

Definition at line 1123 of file object_primitive.c.

PR_TYPE* tp_Type_utime

Definition at line 1148 of file object_primitive.c.

Referenced by pr_find_type().

PR_TYPE* tp_Type_varbit

Definition at line 15685 of file object_primitive.c.

PR_TYPE* tp_Type_variable

Definition at line 1458 of file object_primitive.c.

PR_TYPE* tp_Type_varnchar

Definition at line 14265 of file object_primitive.c.

PR_TYPE* tp_Type_vobj

Definition at line 1690 of file object_primitive.c.

PR_TYPE tp_Utime

Definition at line 1125 of file object_primitive.c.

PR_TYPE tp_VarBit

Definition at line 15662 of file object_primitive.c.

Referenced by db_string_truncate(), and mr_data_lengthmem_varbit().

PR_TYPE tp_Variable

Definition at line 1435 of file object_primitive.c.

PR_TYPE tp_Vobj

Definition at line 1667 of file object_primitive.c.