Skip to content

File object_domain.c

FileList > cubrid > src > object > object_domain.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • #include <float.h>
  • #include <math.h>
  • #include <errno.h>
  • #include <assert.h>
  • #include "area_alloc.h"
  • #include "deduplicate_key.h"
  • #include "object_domain.h"
  • #include "object_primitive.h"
  • #include "object_representation.h"
  • #include "numeric_opfunc.h"
  • #include "tz_support.h"
  • #include "db_date.h"
  • #include "mprec.h"
  • #include "porting_inline.hpp"
  • #include "set_object.h"
  • #include "string_opfunc.h"
  • #include "chartype.h"
  • #include "db_json.hpp"
  • #include "string_buffer.hpp"
  • #include "db_value_printer.hpp"
  • #include "dbtype.h"
  • #include "error_manager.h"
  • #include "memory_wrapper.hpp"

Classes

Type Name
class type_rank_order_initializer

Public Types

Type Name
typedef enum tp_coersion_mode TP_COERCION_MODE
enum tp_coersion_mode

Public Attributes

Type Name
unsigned int db_on_server
TP_DOMAIN tp_Bigint_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Bigint**](object__primitive_8c.md#variable-tp_bigint), ( [**DB\_BIGINT\_PRECISION**](dbtype__def_8h.md#define-db_bigint_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Bit_domain = /* multi line expression */
TP_DOMAIN tp_Blob_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Blob**](object__primitive_8c.md#variable-tp_blob), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Char_domain = /* multi line expression */
TP_DOMAIN tp_Clob_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Clob**](object__primitive_8c.md#variable-tp_clob), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Date_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Date**](object__primitive_8c.md#variable-tp_date), ( [**DB\_DATE\_PRECISION**](dbtype__def_8h.md#define-db_date_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Datetime_domain = /* multi line expression */
TP_DOMAIN tp_Datetimeltz_domain = /* multi line expression */
TP_DOMAIN tp_Datetimetz_domain = /* multi line expression */
AREA * tp_Domain_area = [**NULL**](freelistheap_8h.md#define-null)
TP_DOMAIN ** tp_Domain_conversion_matrix
TP_DOMAIN tp_Double_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Double**](object__primitive_8c.md#variable-tp_double), ( [**DB\_DOUBLE\_DECIMAL\_PRECISION**](dbtype__def_8h.md#define-db_double_decimal_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Elo_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Elo**](object__primitive_8c.md#variable-tp_elo), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Enumeration_domain = /* multi line expression */
TP_DOMAIN tp_Error_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Error**](object__primitive_8c.md#variable-tp_error), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Float_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Float**](object__primitive_8c.md#variable-tp_float), ( [**DB\_FLOAT\_DECIMAL\_PRECISION**](dbtype__def_8h.md#define-db_float_decimal_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Integer_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Integer**](object__primitive_8c.md#variable-tp_integer), ( [**DB\_INTEGER\_PRECISION**](dbtype__def_8h.md#define-db_integer_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Json_domain = /* multi line expression */
TP_DOMAIN tp_Midxkey_domain_list_heads = /* multi line expression */
TP_DOMAIN tp_Monetary_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Monetary**](object__primitive_8c.md#variable-tp_monetary), ( [**DB\_MONETARY\_DECIMAL\_PRECISION**](dbtype__def_8h.md#define-db_monetary_decimal_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Multiset_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Multiset**](object__primitive_8c.md#variable-tp_multiset), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Null_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Null**](object__primitive_8c.md#variable-tp_null), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Numeric_domain = /* multi line expression */
TP_DOMAIN tp_Object_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Object**](object__primitive_8c.md#variable-tp_object), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Oid_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Oid**](object__primitive_8c.md#variable-tp_oid), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Pointer_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Pointer**](object__primitive_8c.md#variable-tp_pointer), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Resultset_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_ResultSet**](object__primitive_8c.md#variable-tp_resultset), ( [**DB\_BIGINT\_PRECISION**](dbtype__def_8h.md#define-db_bigint_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Sequence_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Sequence**](object__primitive_8c.md#variable-tp_sequence), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Set_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Set**](object__primitive_8c.md#variable-tp_set), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Short_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Short**](object__primitive_8c.md#variable-tp_short), ( [**DB\_SHORT\_PRECISION**](dbtype__def_8h.md#define-db_short_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_String_domain = /* multi line expression */
TP_DOMAIN tp_Substructure_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Substructure**](object__primitive_8c.md#variable-tp_substructure), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Time_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Time**](object__primitive_8c.md#variable-tp_time), ( [**DB\_TIME\_PRECISION**](dbtype__def_8h.md#define-db_time_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Timestampltz_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Timestampltz**](object__primitive_8c.md#variable-tp_timestampltz), ( [**DB\_TIMESTAMP\_PRECISION**](dbtype__def_8h.md#define-db_timestamp_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Timestamptz_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Timestamptz**](object__primitive_8c.md#variable-tp_timestamptz), ( [**DB\_TIMESTAMPTZ\_PRECISION**](dbtype__def_8h.md#define-db_timestamptz_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Utime_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Utime**](object__primitive_8c.md#variable-tp_utime), ( [**DB\_TIMESTAMP\_PRECISION**](dbtype__def_8h.md#define-db_timestamp_precision) ), ( 0 ), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 0, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_VarBit_domain = /* multi line expression */
TP_DOMAIN tp_Variable_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Variable**](object__primitive_8c.md#variable-tp_variable), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }
TP_DOMAIN tp_Vobj_domain = { [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), &[**tp\_Vobj**](object__primitive_8c.md#variable-tp_vobj), 0, 0, [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), {[**NULL**](freelistheap_8h.md#define-null), 0, 0}, {-1, -1, -1}, 1, 0, 0, TP\_DOMAIN\_COLL\_NORMAL, 0, 1, 1, [**false**](broker__monitor_8c.md#function-timeout), 0, [**NULL**](freelistheap_8h.md#define-null) }

Public Static Attributes

Type Name
const DB_TYPE db_type_rank
int db_type_rank_order = { 0, }
TP_DOMAIN * tp_Bigint_conv = /* multi line expression */
TP_DOMAIN * tp_Bit_conv = /* multi line expression */
TP_DOMAIN * tp_Char_conv = /* multi line expression */
TP_DOMAIN * tp_Domains
TP_DOMAIN * tp_Double_conv = /* multi line expression */
TP_DOMAIN * tp_Float_conv = /* multi line expression */
bool tp_Initialized = [**false**](broker__monitor_8c.md#function-timeout)
TP_DOMAIN * tp_Integer_conv = /* multi line expression */
TP_DOMAIN * tp_Midxkey_domains = /* multi line expression */
TP_DOMAIN * tp_Monetary_conv = /* multi line expression */
TP_DOMAIN * tp_Multiset_conv = /* multi line expression */
TP_DOMAIN * tp_Numeric_conv = /* multi line expression */
TP_DOMAIN * tp_Sequence_conv = /* multi line expression */
TP_DOMAIN * tp_Set_conv = /* multi line expression */
TP_DOMAIN * tp_Short_conv = /* multi line expression */
TP_DOMAIN * tp_String_conv = /* multi line expression */
TP_DOMAIN * tp_VarBit_conv = /* multi line expression */
pthread_mutex_t tp_domain_cache_lock = [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout)
volatile class type_rank_order_initializer tro_instance

Public Functions

Type Name
void tp_apply_sys_charset (void)
int tp_can_steal_string (const DB_VALUE * val, const DB_DOMAIN * desired_domain)
TP_DOMAIN_STATUS tp_check_value_size (TP_DOMAIN * domain, DB_VALUE * value)
TP_DOMAIN * tp_create_domain_resolve_value (DB_VALUE * val, TP_DOMAIN * domain)
int tp_domain_add (TP_DOMAIN ** dlist, TP_DOMAIN * domain)
TP_DOMAIN * tp_domain_cache (TP_DOMAIN * transient)
TP_DOMAIN_STATUS tp_domain_check (const TP_DOMAIN * domain, const DB_VALUE * value, TP_MATCH exact_match)
void tp_domain_clear_enumeration (DB_ENUMERATION * enumeration)
int tp_domain_compatible (const TP_DOMAIN * src, const TP_DOMAIN * dest)
TP_DOMAIN * tp_domain_construct (DB_TYPE domain_type, DB_OBJECT * class_obj, int precision, int scale, TP_DOMAIN * setdomain)
TP_DOMAIN * tp_domain_copy (const TP_DOMAIN * domain, bool check_cache)
int tp_domain_copy_enumeration (DB_ENUMERATION * dest, const DB_ENUMERATION * src)
int tp_domain_disk_size (TP_DOMAIN * domain)
int tp_domain_filter_list (TP_DOMAIN * dlist, int * list_changes)
TP_DOMAIN * tp_domain_find_charbit (DB_TYPE type, int codeset, int collation_id, unsigned char collation_flag, int precision, bool is_desc)
TP_DOMAIN * tp_domain_find_enumeration (const DB_ENUMERATION * enumeration, bool is_desc)
TP_DOMAIN * tp_domain_find_noparam (DB_TYPE type, bool is_desc)
TP_DOMAIN * tp_domain_find_numeric (DB_TYPE type, int precision, int scale, bool is_desc)
TP_DOMAIN * tp_domain_find_object (DB_TYPE type, OID * class_oid, struct db_object * class_mop, bool is_desc)
TP_DOMAIN * tp_domain_find_set (DB_TYPE type, TP_DOMAIN * setdomain, bool is_desc)
void tp_domain_fprint (FILE * fp, TP_DOMAIN * domain)
void tp_domain_free (TP_DOMAIN * dom)
void tp_domain_init (TP_DOMAIN * domain, DB_TYPE type_id)
int tp_domain_match (const TP_DOMAIN * dom1, const TP_DOMAIN * dom2, TP_MATCH exact)
int tp_domain_match_ignore_order (const TP_DOMAIN * dom1, const TP_DOMAIN * dom2, TP_MATCH exact)
int tp_domain_memory_size (TP_DOMAIN * domain)
int tp_domain_name (const TP_DOMAIN * domain, char * buffer, int maxlen)
TP_DOMAIN * tp_domain_new (DB_TYPE type)
void tp_domain_print (TP_DOMAIN * domain)
bool tp_domain_references_objects (const TP_DOMAIN * dom)
TP_DOMAIN * tp_domain_resolve (DB_TYPE domain_type, DB_OBJECT * class_obj, int precision, int scale, TP_DOMAIN * setdomain, int collation)
TP_DOMAIN * tp_domain_resolve_default (DB_TYPE type)
TP_DOMAIN * tp_domain_resolve_default_w_coll (DB_TYPE type, int coll_id, TP_DOMAIN_COLL_ACTION coll_flag)
TP_DOMAIN * tp_domain_resolve_value (const DB_VALUE * val, TP_DOMAIN * dbuf)
TP_DOMAIN * tp_domain_select (const TP_DOMAIN * domain_list, const DB_VALUE * value, int allow_coercion, TP_MATCH exact_match)
int tp_domain_size (const TP_DOMAIN * domain)
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)
void tp_dump_domain (TP_DOMAIN * domain)
int tp_enumeration_to_varchar (const DB_VALUE * src, DB_VALUE * result)
void tp_final (void)
int tp_get_fixed_precision (DB_TYPE domain_type)
TP_DOMAIN * tp_infer_common_domain (TP_DOMAIN * arg1, TP_DOMAIN * arg2)
int tp_init (void)
void tp_init_value_domain (TP_DOMAIN * domain, DB_VALUE * value)
int tp_more_general_type (const DB_TYPE type1, const DB_TYPE type2)
DB_VALUE_COMPARE_RESULT tp_set_compare (const DB_VALUE * value1, const DB_VALUE * value2, int do_coercion, int total_order)
int tp_setdomain_size (const TP_DOMAIN * domain)
int tp_valid_indextype (DB_TYPE type)
TP_DOMAIN_STATUS tp_value_auto_cast (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain)
TP_DOMAIN_STATUS tp_value_auto_cast_with_precision_check (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain)
TP_DOMAIN_STATUS tp_value_cast (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain, bool implicit_coercion)
TP_DOMAIN_STATUS tp_value_cast_force (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain, bool implicit_coercion)
TP_DOMAIN_STATUS tp_value_cast_no_domain_select (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain, bool implicit_coercion)
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)
TP_DOMAIN_STATUS tp_value_change_coll_and_codeset (DB_VALUE * src, DB_VALUE * dest, int coll_id, int codeset)
TP_DOMAIN_STATUS tp_value_coerce (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain)
int tp_value_coerce_strict (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain)
DB_VALUE_COMPARE_RESULT tp_value_compare (const DB_VALUE * value1, const DB_VALUE * value2, int allow_coercion, int total_order)
DB_VALUE_COMPARE_RESULT tp_value_compare_with_error (const DB_VALUE * value1, const DB_VALUE * value2, int do_coercion, int total_order, bool * can_compare)
int tp_value_domain_name (const DB_VALUE * value, char * buffer, int maxlen)
int tp_value_equal (const DB_VALUE * value1, const DB_VALUE * value2, int do_coercion)
int tp_value_str_auto_cast_to_number (DB_VALUE * src, DB_VALUE * dest, DB_TYPE * val_type)
int tp_value_string_to_double (const DB_VALUE * value, DB_VALUE * result)

Public Static Functions

Type Name
int bfmt_print (int bfmt, const DB_VALUE * the_db_bit, char * string, int max_size)
void format_floating_point (char * new_string, char * rve, int ndigits, int decpt, int sign)
void fprint_domain (FILE * fp, TP_DOMAIN * domain)
void make_desired_string_db_value (DB_TYPE desired_type, const TP_DOMAIN * desired_domain, const char * new_string, DB_VALUE * target, TP_DOMAIN_STATUS * status, DB_DATA_STATUS * data_stat)
DB_VALUE_COMPARE_RESULT oidcmp (OID * oid1, OID * oid2)
int tp_atobi (const DB_VALUE * src, DB_BIGINT * num_value, DB_DATA_STATUS * data_stat)
int tp_atodate (const DB_VALUE * src, DB_DATE * temp)
int tp_atodatetimetz (const DB_VALUE * src, DB_DATETIMETZ * temp)
int tp_atof (const DB_VALUE * src, double * num_value, DB_DATA_STATUS * data_stat)
int tp_atonumeric (const DB_VALUE * src, DB_VALUE * temp)
int tp_atotime (const DB_VALUE * src, DB_TIME * temp)
int tp_atotimestamptz (const DB_VALUE * src, DB_TIMESTAMPTZ * temp)
int tp_atoudatetime (const DB_VALUE * src, DB_DATETIME * temp)
int tp_atoutime (const DB_VALUE * src, DB_UTIME * temp)
int tp_digit_number_str_to_bi (const char * start, const char * end, INTL_CODESET codeset, bool is_negative, DB_BIGINT * num_value, DB_DATA_STATUS * data_stat)
int tp_domain_check_class (TP_DOMAIN * domain, int * change)
const TP_DOMAIN * tp_domain_find_compatible (const TP_DOMAIN * src, const TP_DOMAIN * dest)
TP_DOMAIN * tp_domain_get_list (DB_TYPE type, TP_DOMAIN * setdomain)
TP_DOMAIN ** tp_domain_get_list_ptr (DB_TYPE type, TP_DOMAIN * setdomain)
int tp_domain_match_internal (const TP_DOMAIN * dom1, const TP_DOMAIN * dom2, TP_MATCH exact, bool match_order)
int tp_domain_size_internal (const TP_DOMAIN * domain)
void tp_dtoa (DB_VALUE const * src, DB_VALUE * result)
int tp_enumeration_match (const DB_ENUMERATION * db_enum1, const DB_ENUMERATION * db_enum2)
void tp_ftoa (DB_VALUE const * src, DB_VALUE * result)
int tp_hex_str_to_bi (const char * start, const char * end, INTL_CODESET codeset, bool is_negative, DB_BIGINT * num_value, DB_DATA_STATUS * data_stat)
TP_DOMAIN * tp_is_domain_cached (TP_DOMAIN * dlist, TP_DOMAIN * transient, TP_MATCH exact, TP_DOMAIN ** ins_pos)
char * tp_itoa (int value, char * string, int radix)
char * tp_ltoa (DB_BIGINT value, char * string, int radix)
int tp_null_terminate (const DB_VALUE * src, char ** strp, int str_len, bool * do_alloc)
int tp_scientific_str_to_bi (const char * start, const char * end, INTL_CODESET codeset, bool is_negative, DB_BIGINT * num_value, DB_DATA_STATUS * data_stat)
UINT64 tp_ubi_times_ten (UINT64 ubi, bool * truncated)
DB_BIGINT tp_ubi_to_bi_with_args (UINT64 ubi, bool is_negative, bool truncated, bool round, DB_DATA_STATUS * data_stat)
TP_DOMAIN_STATUS tp_value_cast_internal (const DB_VALUE * src, DB_VALUE * dest, const TP_DOMAIN * desired_domain, TP_COERCION_MODE coercion_mode, bool do_domain_select, bool preserve_domain)
void tp_value_slam_domain (DB_VALUE * value, const DB_DOMAIN * domain)

Macros

Type Name
define ARE_COMPARABLE (typ1, typ2) (([**typ1**](broker__monitor_8c.md#function-timeout) == [**typ2**](broker__monitor_8c.md#function-timeout)) \|\| ([**QSTR\_IS\_CHAR**](string__opfunc_8h.md#define-qstr_is_char)([**typ1**](broker__monitor_8c.md#function-timeout)) && [**QSTR\_IS\_CHAR**](string__opfunc_8h.md#define-qstr_is_char)([**typ2**](broker__monitor_8c.md#function-timeout))))
define BITS_IN_BYTE 8
define BITS_IN_HEX 4
define BYTE_COUNT (bit_cnt) ((([**bit\_cnt**](broker__monitor_8c.md#function-timeout))+[**BITS\_IN\_BYTE**](cnv_8c.md#define-bits_in_byte)-1)/[**BITS\_IN\_BYTE**](cnv_8c.md#define-bits_in_byte))
define BYTE_COUNT_HEX (bit_cnt) ((([**bit\_cnt**](broker__monitor_8c.md#function-timeout))+[**BITS\_IN\_HEX**](cnv_8c.md#define-bits_in_hex)-1)/[**BITS\_IN\_HEX**](cnv_8c.md#define-bits_in_hex))
define DBL_MAX_DIGITS (([**int**](broker__monitor_8c.md#function-timeout))[**ceil**](broker__monitor_8c.md#function-timeout)([**DBL\_MAX\_EXP**](broker__monitor_8c.md#function-timeout) \* [**log10**](broker__monitor_8c.md#function-timeout)(([**double**](broker__monitor_8c.md#function-timeout)) [**FLT\_RADIX**](broker__monitor_8c.md#function-timeout))))
define DB_DATETIMETZ_INITIALIZER { {0, 0}, 0 }
define DOMAIN_INIT /* multi line expression */
define DOMAIN_INIT2 (codeset, coll) /* multi line expression */
define DOMAIN_INIT3 /* multi line expression */
define DOMAIN_INIT4 (prec, scale) /* multi line expression */
define HEX_IN_BYTE 2
define HIGHEST_3BITS_OF_UBI 0xE000000000000000
define HIGHEST_4BITS_OF_UBI 0xF000000000000000
define HIGHEST_BIT_OF_UINT64 0x8000000000000000
define ROUND (x) (([**x**](broker__monitor_8c.md#function-timeout)) &gt; 0 ? (([**x**](broker__monitor_8c.md#function-timeout)) + .5) : (([**x**](broker__monitor_8c.md#function-timeout)) - .5))
define SECONDS_IN_A_DAY ([**long**](broker__monitor_8c.md#function-timeout))(86400) /\* 24[**L**](broker__monitor_8c.md#function-timeout) \* 60L \* 60L \*/
define TP_IMPLICIT_COERCION_NOT_ALLOWED (src_type, dest_type) /* multi line expression */
define TP_IS_CHAR_STRING (db_val_type) ([**db\_val\_type**](broker__monitor_8c.md#function-timeout) == DB\_TYPE\_CHAR \|\| [**db\_val\_type**](broker__monitor_8c.md#function-timeout) == DB\_TYPE\_VARCHAR)
define TP_IS_DATETIME_TYPE (db_val_type) [**TP\_IS\_DATE\_OR\_TIME\_TYPE**](object__domain_8h.md#define-tp_is_date_or_time_type) ([**db\_val\_type**](broker__monitor_8c.md#function-timeout))
define TP_IS_LOB (db_val_type) ([**db\_val\_type**](broker__monitor_8c.md#function-timeout) == DB\_TYPE\_BLOB \|\| [**db\_val\_type**](broker__monitor_8c.md#function-timeout) == DB\_TYPE\_CLOB)
define TP_NEAR_MATCH (t1, t2) /* multi line expression */
define TP_NUM_MIDXKEY_DOMAIN_LIST (10)
define tp_NChar_conv [**tp\_Char\_conv**](object__domain_8c.md#variable-tp_char_conv)
define tp_NChar_domain [**tp\_Char\_domain**](object__domain_8c.md#variable-tp_char_domain)
define tp_VarNChar_conv [**tp\_String\_conv**](object__domain_8c.md#variable-tp_string_conv)
define tp_VarNChar_domain [**tp\_String\_domain**](object__domain_8c.md#variable-tp_string_domain)

Public Types Documentation

typedef TP_COERCION_MODE

typedef enum tp_coersion_mode TP_COERCION_MODE;

enum tp_coersion_mode

enum tp_coersion_mode {
    TP_EXPLICIT_COERCION = 0,
    TP_IMPLICIT_COERCION,
    TP_FORCE_COERCION
};

Public Attributes Documentation

variable db_on_server

unsigned int db_on_server;

variable tp_Bigint_domain

TP_DOMAIN tp_Bigint_domain;

variable tp_Bit_domain

TP_DOMAIN tp_Bit_domain;

variable tp_Blob_domain

TP_DOMAIN tp_Blob_domain;

variable tp_Char_domain

TP_DOMAIN tp_Char_domain;

variable tp_Clob_domain

TP_DOMAIN tp_Clob_domain;

variable tp_Date_domain

TP_DOMAIN tp_Date_domain;

variable tp_Datetime_domain

TP_DOMAIN tp_Datetime_domain;

variable tp_Datetimeltz_domain

TP_DOMAIN tp_Datetimeltz_domain;

variable tp_Datetimetz_domain

TP_DOMAIN tp_Datetimetz_domain;

variable tp_Domain_area

AREA* tp_Domain_area;

variable tp_Domain_conversion_matrix

TP_DOMAIN** tp_Domain_conversion_matrix[];

variable tp_Double_domain

TP_DOMAIN tp_Double_domain;

variable tp_Elo_domain

TP_DOMAIN tp_Elo_domain;

variable tp_Enumeration_domain

TP_DOMAIN tp_Enumeration_domain;

variable tp_Error_domain

TP_DOMAIN tp_Error_domain;

variable tp_Float_domain

TP_DOMAIN tp_Float_domain;

variable tp_Integer_domain

TP_DOMAIN tp_Integer_domain;

variable tp_Json_domain

TP_DOMAIN tp_Json_domain;

variable tp_Midxkey_domain_list_heads

TP_DOMAIN tp_Midxkey_domain_list_heads[(10)];

variable tp_Monetary_domain

TP_DOMAIN tp_Monetary_domain;

variable tp_Multiset_domain

TP_DOMAIN tp_Multiset_domain;

variable tp_Null_domain

TP_DOMAIN tp_Null_domain;

variable tp_Numeric_domain

TP_DOMAIN tp_Numeric_domain;

variable tp_Object_domain

TP_DOMAIN tp_Object_domain;

variable tp_Oid_domain

TP_DOMAIN tp_Oid_domain;

variable tp_Pointer_domain

TP_DOMAIN tp_Pointer_domain;

variable tp_Resultset_domain

TP_DOMAIN tp_Resultset_domain;

variable tp_Sequence_domain

TP_DOMAIN tp_Sequence_domain;

variable tp_Set_domain

TP_DOMAIN tp_Set_domain;

variable tp_Short_domain

TP_DOMAIN tp_Short_domain;

variable tp_String_domain

TP_DOMAIN tp_String_domain;

variable tp_Substructure_domain

TP_DOMAIN tp_Substructure_domain;

variable tp_Time_domain

TP_DOMAIN tp_Time_domain;

variable tp_Timestampltz_domain

TP_DOMAIN tp_Timestampltz_domain;

variable tp_Timestamptz_domain

TP_DOMAIN tp_Timestamptz_domain;

variable tp_Utime_domain

TP_DOMAIN tp_Utime_domain;

variable tp_VarBit_domain

TP_DOMAIN tp_VarBit_domain;

variable tp_Variable_domain

TP_DOMAIN tp_Variable_domain;

variable tp_Vobj_domain

TP_DOMAIN tp_Vobj_domain;

Public Static Attributes Documentation

variable db_type_rank

const DB_TYPE db_type_rank[];

variable db_type_rank_order

int db_type_rank_order[DB_TYPE_LAST+1];

variable tp_Bigint_conv

TP_DOMAIN* tp_Bigint_conv[];

variable tp_Bit_conv

TP_DOMAIN* tp_Bit_conv[];

variable tp_Char_conv

TP_DOMAIN* tp_Char_conv[];

variable tp_Domains

TP_DOMAIN* tp_Domains[];

variable tp_Double_conv

TP_DOMAIN* tp_Double_conv[];

variable tp_Float_conv

TP_DOMAIN* tp_Float_conv[];

variable tp_Initialized

bool tp_Initialized;

variable tp_Integer_conv

TP_DOMAIN* tp_Integer_conv[];

variable tp_Midxkey_domains

TP_DOMAIN* tp_Midxkey_domains[(10)+1];

variable tp_Monetary_conv

TP_DOMAIN* tp_Monetary_conv[];

variable tp_Multiset_conv

TP_DOMAIN* tp_Multiset_conv[];

variable tp_Numeric_conv

TP_DOMAIN* tp_Numeric_conv[];

variable tp_Sequence_conv

TP_DOMAIN* tp_Sequence_conv[];

variable tp_Set_conv

TP_DOMAIN* tp_Set_conv[];

variable tp_Short_conv

TP_DOMAIN* tp_Short_conv[];

variable tp_String_conv

TP_DOMAIN* tp_String_conv[];

variable tp_VarBit_conv

TP_DOMAIN* tp_VarBit_conv[];

variable tp_domain_cache_lock

pthread_mutex_t tp_domain_cache_lock;

variable tro_instance

volatile class type_rank_order_initializer tro_instance;

Public Functions Documentation

function tp_apply_sys_charset

void tp_apply_sys_charset (
    void
) 

function tp_can_steal_string

int tp_can_steal_string (
    const  DB_VALUE * val,
    const  DB_DOMAIN * desired_domain
) 

function tp_check_value_size

TP_DOMAIN_STATUS tp_check_value_size (
    TP_DOMAIN * domain,
    DB_VALUE * value
) 

function tp_create_domain_resolve_value

TP_DOMAIN * tp_create_domain_resolve_value (
    DB_VALUE * val,
    TP_DOMAIN * domain
) 

function tp_domain_add

int tp_domain_add (
    TP_DOMAIN ** dlist,
    TP_DOMAIN * domain
) 

function tp_domain_cache

TP_DOMAIN * tp_domain_cache (
    TP_DOMAIN * transient
) 

function tp_domain_check

TP_DOMAIN_STATUS tp_domain_check (
    const  TP_DOMAIN * domain,
    const  DB_VALUE * value,
    TP_MATCH exact_match
) 

function tp_domain_clear_enumeration

void tp_domain_clear_enumeration (
    DB_ENUMERATION * enumeration
) 

function tp_domain_compatible

int tp_domain_compatible (
    const  TP_DOMAIN * src,
    const  TP_DOMAIN * dest
) 

function tp_domain_construct

TP_DOMAIN * tp_domain_construct (
    DB_TYPE domain_type,
    DB_OBJECT * class_obj,
    int precision,
    int scale,
    TP_DOMAIN * setdomain
) 

function tp_domain_copy

TP_DOMAIN * tp_domain_copy (
    const  TP_DOMAIN * domain,
    bool check_cache
) 

function tp_domain_copy_enumeration

int tp_domain_copy_enumeration (
    DB_ENUMERATION * dest,
    const  DB_ENUMERATION * src
) 

function tp_domain_disk_size

int tp_domain_disk_size (
    TP_DOMAIN * domain
) 

function tp_domain_filter_list

int tp_domain_filter_list (
    TP_DOMAIN * dlist,
    int * list_changes
) 

function tp_domain_find_charbit

TP_DOMAIN * tp_domain_find_charbit (
    DB_TYPE type,
    int codeset,
    int collation_id,
    unsigned  char collation_flag,
    int precision,
    bool is_desc
) 

function tp_domain_find_enumeration

TP_DOMAIN * tp_domain_find_enumeration (
    const  DB_ENUMERATION * enumeration,
    bool is_desc
) 

function tp_domain_find_noparam

TP_DOMAIN * tp_domain_find_noparam (
    DB_TYPE type,
    bool is_desc
) 

function tp_domain_find_numeric

TP_DOMAIN * tp_domain_find_numeric (
    DB_TYPE type,
    int precision,
    int scale,
    bool is_desc
) 

function tp_domain_find_object

TP_DOMAIN * tp_domain_find_object (
    DB_TYPE type,
    OID * class_oid,
    struct  db_object * class_mop,
    bool is_desc
) 

function tp_domain_find_set

TP_DOMAIN * tp_domain_find_set (
    DB_TYPE type,
    TP_DOMAIN * setdomain,
    bool is_desc
) 

function tp_domain_fprint

void tp_domain_fprint (
    FILE * fp,
    TP_DOMAIN * domain
) 

function tp_domain_free

void tp_domain_free (
    TP_DOMAIN * dom
) 

function tp_domain_init

void tp_domain_init (
    TP_DOMAIN * domain,
    DB_TYPE type_id
) 

function tp_domain_match

int tp_domain_match (
    const  TP_DOMAIN * dom1,
    const  TP_DOMAIN * dom2,
    TP_MATCH exact
) 

function tp_domain_match_ignore_order

int tp_domain_match_ignore_order (
    const  TP_DOMAIN * dom1,
    const  TP_DOMAIN * dom2,
    TP_MATCH exact
) 

function tp_domain_memory_size

int tp_domain_memory_size (
    TP_DOMAIN * domain
) 

function tp_domain_name

int tp_domain_name (
    const  TP_DOMAIN * domain,
    char * buffer,
    int maxlen
) 

function tp_domain_new

TP_DOMAIN * tp_domain_new (
    DB_TYPE type
) 

function tp_domain_print

void tp_domain_print (
    TP_DOMAIN * domain
) 

function tp_domain_references_objects

bool tp_domain_references_objects (
    const  TP_DOMAIN * dom
) 

function tp_domain_resolve

TP_DOMAIN * tp_domain_resolve (
    DB_TYPE domain_type,
    DB_OBJECT * class_obj,
    int precision,
    int scale,
    TP_DOMAIN * setdomain,
    int collation
) 

function tp_domain_resolve_default

TP_DOMAIN * tp_domain_resolve_default (
    DB_TYPE type
) 

function tp_domain_resolve_default_w_coll

TP_DOMAIN * tp_domain_resolve_default_w_coll (
    DB_TYPE type,
    int coll_id,
    TP_DOMAIN_COLL_ACTION coll_flag
) 

function tp_domain_resolve_value

TP_DOMAIN * tp_domain_resolve_value (
    const  DB_VALUE * val,
    TP_DOMAIN * dbuf
) 

function tp_domain_select

TP_DOMAIN * tp_domain_select (
    const  TP_DOMAIN * domain_list,
    const  DB_VALUE * value,
    int allow_coercion,
    TP_MATCH exact_match
) 

function tp_domain_size

int tp_domain_size (
    const  TP_DOMAIN * domain
) 

function tp_domain_status_er_set

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
) 

function tp_dump_domain

void tp_dump_domain (
    TP_DOMAIN * domain
) 

function tp_enumeration_to_varchar

int tp_enumeration_to_varchar (
    const  DB_VALUE * src,
    DB_VALUE * result
) 

function tp_final

void tp_final (
    void
) 

function tp_get_fixed_precision

int tp_get_fixed_precision (
    DB_TYPE domain_type
) 

function tp_infer_common_domain

TP_DOMAIN * tp_infer_common_domain (
    TP_DOMAIN * arg1,
    TP_DOMAIN * arg2
) 

function tp_init

int tp_init (
    void
) 

function tp_init_value_domain

void tp_init_value_domain (
    TP_DOMAIN * domain,
    DB_VALUE * value
) 

function tp_more_general_type

int tp_more_general_type (
    const  DB_TYPE type1,
    const  DB_TYPE type2
) 

function tp_set_compare

DB_VALUE_COMPARE_RESULT tp_set_compare (
    const  DB_VALUE * value1,
    const  DB_VALUE * value2,
    int do_coercion,
    int total_order
) 

function tp_setdomain_size

int tp_setdomain_size (
    const  TP_DOMAIN * domain
) 

function tp_valid_indextype

int tp_valid_indextype (
    DB_TYPE type
) 

function tp_value_auto_cast

TP_DOMAIN_STATUS tp_value_auto_cast (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain
) 

function tp_value_auto_cast_with_precision_check

TP_DOMAIN_STATUS tp_value_auto_cast_with_precision_check (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain
) 

function tp_value_cast

TP_DOMAIN_STATUS tp_value_cast (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain,
    bool implicit_coercion
) 

function tp_value_cast_force

TP_DOMAIN_STATUS tp_value_cast_force (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain,
    bool implicit_coercion
) 

function tp_value_cast_no_domain_select

TP_DOMAIN_STATUS tp_value_cast_no_domain_select (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain,
    bool implicit_coercion
) 

function tp_value_cast_preserve_domain

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
) 

function tp_value_change_coll_and_codeset

TP_DOMAIN_STATUS tp_value_change_coll_and_codeset (
    DB_VALUE * src,
    DB_VALUE * dest,
    int coll_id,
    int codeset
) 

function tp_value_coerce

TP_DOMAIN_STATUS tp_value_coerce (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain
) 

function tp_value_coerce_strict

int tp_value_coerce_strict (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain
) 

function tp_value_compare

DB_VALUE_COMPARE_RESULT tp_value_compare (
    const  DB_VALUE * value1,
    const  DB_VALUE * value2,
    int allow_coercion,
    int total_order
) 

function tp_value_compare_with_error

DB_VALUE_COMPARE_RESULT tp_value_compare_with_error (
    const  DB_VALUE * value1,
    const  DB_VALUE * value2,
    int do_coercion,
    int total_order,
    bool * can_compare
) 

function tp_value_domain_name

int tp_value_domain_name (
    const  DB_VALUE * value,
    char * buffer,
    int maxlen
) 

function tp_value_equal

int tp_value_equal (
    const  DB_VALUE * value1,
    const  DB_VALUE * value2,
    int do_coercion
) 

function tp_value_str_auto_cast_to_number

int tp_value_str_auto_cast_to_number (
    DB_VALUE * src,
    DB_VALUE * dest,
    DB_TYPE * val_type
) 

function tp_value_string_to_double

int tp_value_string_to_double (
    const  DB_VALUE * value,
    DB_VALUE * result
) 

Public Static Functions Documentation

function bfmt_print

static int bfmt_print (
    int bfmt,
    const  DB_VALUE * the_db_bit,
    char * string,
    int max_size
) 

function format_floating_point

static void format_floating_point (
    char * new_string,
    char * rve,
    int ndigits,
    int decpt,
    int sign
) 

function fprint_domain

static void fprint_domain (
    FILE * fp,
    TP_DOMAIN * domain
) 

function make_desired_string_db_value

static void make_desired_string_db_value (
    DB_TYPE desired_type,
    const  TP_DOMAIN * desired_domain,
    const  char * new_string,
    DB_VALUE * target,
    TP_DOMAIN_STATUS * status,
    DB_DATA_STATUS * data_stat
) 

function oidcmp

static DB_VALUE_COMPARE_RESULT oidcmp (
    OID * oid1,
    OID * oid2
) 

function tp_atobi

static int tp_atobi (
    const  DB_VALUE * src,
    DB_BIGINT * num_value,
    DB_DATA_STATUS * data_stat
) 

function tp_atodate

static int tp_atodate (
    const  DB_VALUE * src,
    DB_DATE * temp
) 

function tp_atodatetimetz

static int tp_atodatetimetz (
    const  DB_VALUE * src,
    DB_DATETIMETZ * temp
) 

function tp_atof

static int tp_atof (
    const  DB_VALUE * src,
    double * num_value,
    DB_DATA_STATUS * data_stat
) 

function tp_atonumeric

static int tp_atonumeric (
    const  DB_VALUE * src,
    DB_VALUE * temp
) 

function tp_atotime

static int tp_atotime (
    const  DB_VALUE * src,
    DB_TIME * temp
) 

function tp_atotimestamptz

static int tp_atotimestamptz (
    const  DB_VALUE * src,
    DB_TIMESTAMPTZ * temp
) 

function tp_atoudatetime

static int tp_atoudatetime (
    const  DB_VALUE * src,
    DB_DATETIME * temp
) 

function tp_atoutime

static int tp_atoutime (
    const  DB_VALUE * src,
    DB_UTIME * temp
) 

function tp_digit_number_str_to_bi

static int tp_digit_number_str_to_bi (
    const  char * start,
    const  char * end,
    INTL_CODESET codeset,
    bool is_negative,
    DB_BIGINT * num_value,
    DB_DATA_STATUS * data_stat
) 

function tp_domain_check_class

static int tp_domain_check_class (
    TP_DOMAIN * domain,
    int * change
) 

function tp_domain_find_compatible

static const  TP_DOMAIN * tp_domain_find_compatible (
    const  TP_DOMAIN * src,
    const  TP_DOMAIN * dest
) 

function tp_domain_get_list

static inline TP_DOMAIN * tp_domain_get_list (
    DB_TYPE type,
    TP_DOMAIN * setdomain
) 

function tp_domain_get_list_ptr

static inline TP_DOMAIN ** tp_domain_get_list_ptr (
    DB_TYPE type,
    TP_DOMAIN * setdomain
) 

function tp_domain_match_internal

static int tp_domain_match_internal (
    const  TP_DOMAIN * dom1,
    const  TP_DOMAIN * dom2,
    TP_MATCH exact,
    bool match_order
) 

function tp_domain_size_internal

static int tp_domain_size_internal (
    const  TP_DOMAIN * domain
) 

function tp_dtoa

static void tp_dtoa (
    DB_VALUE  const * src,
    DB_VALUE * result
) 

function tp_enumeration_match

static int tp_enumeration_match (
    const  DB_ENUMERATION * db_enum1,
    const  DB_ENUMERATION * db_enum2
) 

function tp_ftoa

static void tp_ftoa (
    DB_VALUE  const * src,
    DB_VALUE * result
) 

function tp_hex_str_to_bi

static int tp_hex_str_to_bi (
    const  char * start,
    const  char * end,
    INTL_CODESET codeset,
    bool is_negative,
    DB_BIGINT * num_value,
    DB_DATA_STATUS * data_stat
) 

function tp_is_domain_cached

static TP_DOMAIN * tp_is_domain_cached (
    TP_DOMAIN * dlist,
    TP_DOMAIN * transient,
    TP_MATCH exact,
    TP_DOMAIN ** ins_pos
) 

function tp_itoa

static char * tp_itoa (
    int value,
    char * string,
    int radix
) 

function tp_ltoa

static char * tp_ltoa (
    DB_BIGINT value,
    char * string,
    int radix
) 

function tp_null_terminate

static int tp_null_terminate (
    const  DB_VALUE * src,
    char ** strp,
    int str_len,
    bool * do_alloc
) 

function tp_scientific_str_to_bi

static int tp_scientific_str_to_bi (
    const  char * start,
    const  char * end,
    INTL_CODESET codeset,
    bool is_negative,
    DB_BIGINT * num_value,
    DB_DATA_STATUS * data_stat
) 

function tp_ubi_times_ten

static UINT64 tp_ubi_times_ten (
    UINT64 ubi,
    bool * truncated
) 

function tp_ubi_to_bi_with_args

static DB_BIGINT tp_ubi_to_bi_with_args (
    UINT64 ubi,
    bool is_negative,
    bool truncated,
    bool round,
    DB_DATA_STATUS * data_stat
) 

function tp_value_cast_internal

static TP_DOMAIN_STATUS tp_value_cast_internal (
    const  DB_VALUE * src,
    DB_VALUE * dest,
    const  TP_DOMAIN * desired_domain,
    TP_COERCION_MODE coercion_mode,
    bool do_domain_select,
    bool preserve_domain
) 

function tp_value_slam_domain

static void tp_value_slam_domain (
    DB_VALUE * value,
    const  DB_DOMAIN * domain
) 

Macro Definition Documentation

define ARE_COMPARABLE

#define ARE_COMPARABLE (
    typ1,
    typ2
) `(( typ1 == typ2 ) || ( QSTR_IS_CHAR ( typ1 ) && QSTR_IS_CHAR ( typ2 )))`

define BITS_IN_BYTE

#define BITS_IN_BYTE `8`

define BITS_IN_HEX

#define BITS_IN_HEX `4`

define BYTE_COUNT

#define BYTE_COUNT (
    bit_cnt
) `((( bit_cnt )+ BITS_IN_BYTE -1)/ BITS_IN_BYTE )`

define BYTE_COUNT_HEX

#define BYTE_COUNT_HEX (
    bit_cnt
) `((( bit_cnt )+ BITS_IN_HEX -1)/ BITS_IN_HEX )`

define DBL_MAX_DIGITS

#define DBL_MAX_DIGITS `(( int ) ceil ( DBL_MAX_EXP * log10 (( double ) FLT_RADIX )))`

define DB_DATETIMETZ_INITIALIZER

#define DB_DATETIMETZ_INITIALIZER `{ {0, 0}, 0 }`

define DOMAIN_INIT

#define DOMAIN_INIT `/* multi line expression */`

define DOMAIN_INIT2

#define DOMAIN_INIT2 (
    codeset,
    coll
) `/* multi line expression */`

define DOMAIN_INIT3

#define DOMAIN_INIT3 `/* multi line expression */`

define DOMAIN_INIT4

#define DOMAIN_INIT4 (
    prec,
    scale
) `/* multi line expression */`

define HEX_IN_BYTE

#define HEX_IN_BYTE `2`

define HIGHEST_3BITS_OF_UBI

#define HIGHEST_3BITS_OF_UBI `0xE000000000000000`

define HIGHEST_4BITS_OF_UBI

#define HIGHEST_4BITS_OF_UBI `0xF000000000000000`

define HIGHEST_BIT_OF_UINT64

#define HIGHEST_BIT_OF_UINT64 `0x8000000000000000`

define ROUND

#define ROUND (
    x
) `(( x ) > 0 ? (( x ) + .5) : (( x ) - .5))`

define SECONDS_IN_A_DAY

#define SECONDS_IN_A_DAY `( long )(86400)   /* 24 L * 60L * 60L */`

define TP_IMPLICIT_COERCION_NOT_ALLOWED

#define TP_IMPLICIT_COERCION_NOT_ALLOWED (
    src_type,
    dest_type
) `/* multi line expression */`

define TP_IS_CHAR_STRING

#define TP_IS_CHAR_STRING (
    db_val_type
) `( db_val_type == DB_TYPE_CHAR || db_val_type == DB_TYPE_VARCHAR )`

define TP_IS_DATETIME_TYPE

#define TP_IS_DATETIME_TYPE (
    db_val_type
) `TP_IS_DATE_OR_TIME_TYPE ( db_val_type )`

define TP_IS_LOB

#define TP_IS_LOB (
    db_val_type
) `( db_val_type == DB_TYPE_BLOB || db_val_type == DB_TYPE_CLOB )`

define TP_NEAR_MATCH

#define TP_NEAR_MATCH (
    t1,
    t2
) `/* multi line expression */`

define TP_NUM_MIDXKEY_DOMAIN_LIST

#define TP_NUM_MIDXKEY_DOMAIN_LIST `(10)`

define tp_NChar_conv

#define tp_NChar_conv `tp_Char_conv`

define tp_NChar_domain

#define tp_NChar_domain `tp_Char_domain`

define tp_VarNChar_conv

#define tp_VarNChar_conv `tp_String_conv`

define tp_VarNChar_domain

#define tp_VarNChar_domain `tp_String_domain`


The documentation for this class was generated from the following file cubrid/src/object/object_domain.c