File object_domain.h¶
FileList > cubrid > src > object > object_domain.h
Go to the source code of this file
#include "config.h"#include "dbtype_def.h"#include <stdio.h>
Classes¶
| Type | Name |
|---|---|
| struct | tp_alloc_context |
| struct | tp_domain |
Public Types¶
| Type | Name |
|---|---|
| typedef struct tp_alloc_context | TP_ALLOC_CONTEXT |
| typedef struct tp_domain | TP_DOMAIN |
| enum | TP_DOMAIN_COLL_ACTION |
| typedef enum tp_domain_status | TP_DOMAIN_STATUS |
| typedef enum tp_match | TP_MATCH |
| enum | tp_domain_status |
| enum | tp_match |
Public Attributes¶
Public Functions¶
Macros¶
| Type | Name |
|---|---|
| define | DOM_GET_ENUMERATION (dom) ((dom)->enumeration) |
| define | DOM_GET_ENUM_ELEM (dom, idx) ((dom)->enumeration.elements[idx - 1]) |
| define | DOM_GET_ENUM_ELEMENTS (dom) ((dom)->enumeration.elements) |
| define | DOM_GET_ENUM_ELEMS_COUNT (dom) ((dom)->enumeration.count) |
| define | DOM_SET_ENUM (dom, elems, cnt) /* multi line expression */ |
| define | DOM_SET_ENUM_ELEMENTS (dom, elems) ((dom)->enumeration.elements = ([**elems**](broker__monitor_8c.md#function-timeout))) |
| define | DOM_SET_ENUM_ELEMS_COUNT (dom, cnt) ((dom)->enumeration.count = (cnt)) |
| define | TP_ALLOC (con, size) (\*([**con**](broker__monitor_8c.md#function-timeout))->alloc\_func)(size, ([**con**](broker__monitor_8c.md#function-timeout))->alloc\_args) |
| define | TP_ARE_COMPARABLE_KEY_TYPES (key1_type, key2_type) /* multi line expression */ |
| define | TP_BIGINT_AS_CHAR_LENGTH 20 |
| define | TP_BIGINT_PRECISION 19 |
| define | TP_BIGINT_SCALE 0 |
| define | TP_DATETIMETZ_AS_CHAR_LENGTH 64 |
| define | TP_DATETIME_AS_CHAR_LENGTH 26 |
| define | TP_DATETIME_PRECISION 17 |
| define | TP_DATE_AS_CHAR_LENGTH 10 |
| define | TP_DATE_PRECISION 8 |
| define | TP_DOMAIN_CODESET (dom) (((dom) ? ([**INTL\_CODESET**](intl__support_8h.md#typedef-intl_codeset))(dom)->codeset : [**LANG\_SYS\_CODESET**](language__support_8h.md#define-lang_sys_codeset))) |
| define | TP_DOMAIN_COLLATION (dom) ((dom) ? (dom)->collation\_id : [**LANG\_SYS\_COLLATION**](language__support_8h.md#define-lang_sys_collation)) |
| define | TP_DOMAIN_COLLATION_FLAG (dom) ((dom) ? (dom)->[**collation\_flag:**](broker__monitor_8c.md#function-timeout) TP\_DOMAIN\_COLL\_NORMAL) |
| define | TP_DOMAIN_SELF_REF -1 |
| define | TP_DOMAIN_TYPE (dom) ((dom) ? (dom)->type->[**id**](thread__worker__pool__impl_8hpp.md#enum-id) : DB\_TYPE\_NULL) |
| define | TP_DOUBLE_AS_CHAR_LENGTH /* multi line expression */ |
| define | TP_DOUBLE_BINARY_PRECISION [**TP\_DOUBLE\_MANTISA\_BINARY\_PRECISION**](object__domain_8h.md#define-tp_double_mantisa_binary_precision) |
| define | TP_DOUBLE_DECIMAL_PRECISION [**TP\_DOUBLE\_MANTISA\_DECIMAL\_PRECISION**](object__domain_8h.md#define-tp_double_mantisa_decimal_precision) |
| define | TP_DOUBLE_EXPONENT_BINARY_PRECISION 11 |
| define | TP_DOUBLE_EXPONENT_DECIMAL_PRECISION 3 /\* 3.311 \*/ |
| define | TP_DOUBLE_MANTISA_BINARY_PRECISION 53 |
| define | TP_DOUBLE_MANTISA_DECIMAL_PRECISION 16 /\* 15.955 \*/ |
| define | TP_FLOATING_PRECISION_VALUE -1 |
| define | TP_FLOAT_AS_CHAR_LENGTH /* multi line expression */ |
| define | TP_FLOAT_BINARY_PRECISION [**TP\_FLOAT\_MANTISA\_BINARY\_PRECISION**](object__domain_8h.md#define-tp_float_mantisa_binary_precision) |
| define | TP_FLOAT_DECIMAL_PRECISION [**TP\_FLOAT\_MANTISA\_DECIMAL\_PRECISION**](object__domain_8h.md#define-tp_float_mantisa_decimal_precision) |
| define | TP_FLOAT_EXPONENT_BINARY_PRECISION 8 |
| define | TP_FLOAT_EXPONENT_DECIMAL_PRECISION 2 /\* 2.408 \*/ |
| define | TP_FLOAT_MANTISA_BINARY_PRECISION 24 |
| define | TP_FLOAT_MANTISA_DECIMAL_PRECISION 7 /\* 7.225 \*/ |
| define | TP_FREE (con, mem) (\*([**con**](broker__monitor_8c.md#function-timeout))->free\_func)(mem, ([**con**](broker__monitor_8c.md#function-timeout))->free\_args) |
| define | TP_INTEGER_AS_CHAR_LENGTH 11 |
| define | TP_INTEGER_PRECISION 10 |
| define | TP_IS_BIT_TYPE (typeid) ((([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_VARBIT) \|\| (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_BIT)) |
| define | TP_IS_CHAR_BIT_TYPE (typeid) /* multi line expression */ |
| define | TP_IS_CHAR_TYPE (typeid) (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_VARCHAR \|\| ([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_CHAR) |
| define | TP_IS_DATE_OR_TIME_TYPE (typeid) ((([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_TIME) \|\| [**TP\_IS\_DATE\_TYPE**](object__domain_8h.md#define-tp_is_date_type)([**typeid**](broker__monitor_8c.md#function-timeout))) |
| define | TP_IS_DATE_TYPE (typeid) /* multi line expression */ |
| define | TP_IS_DATE_WITH_TZ_TYPE (typeid) /* multi line expression */ |
| define | TP_IS_DISCRETE_NUMBER_TYPE (typeid) /* multi line expression */ |
| define | TP_IS_DOUBLE_ALIGN_TYPE (typeid) (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_DOUBLE \|\| ([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_BIGINT) |
| define | TP_IS_FIXED_LEN_CHAR_TYPE (typeid) (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_CHAR) |
| define | TP_IS_FLOATING_NUMBER_TYPE (typeid) /* multi line expression */ |
| define | TP_IS_LOB_TYPE (typeid) (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_BLOB \|\| ([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_CLOB) |
| define | TP_IS_NUMERIC_TYPE (typeid) /* multi line expression */ |
| define | TP_IS_SET_TYPE (typenum) /* multi line expression */ |
| define | TP_IS_STRING_TYPE (typeid) [**TP\_IS\_CHAR\_BIT\_TYPE**](object__domain_8h.md#define-tp_is_char_bit_type)(([**typeid**](broker__monitor_8c.md#function-timeout))) |
| define | TP_IS_VAR_LEN_CHAR_TYPE (typeid) (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_VARCHAR) |
| define | TP_MONETARY_AS_CHAR_LENGTH [**TP\_DOUBLE\_AS\_CHAR\_LENGTH**](object__domain_8h.md#define-tp_double_as_char_length) |
| define | TP_MONETARY_EXPONENT_PRECISION [**TP\_DOUBLE\_EXPONENT\_DECIMAL\_PRECISION**](object__domain_8h.md#define-tp_double_exponent_decimal_precision) |
| define | TP_MONETARY_MANTISA_PRECISION [**TP\_DOUBLE\_MANTISA\_DECIMAL\_PRECISION**](object__domain_8h.md#define-tp_double_mantisa_decimal_precision) |
| define | TP_MONETARY_PRECISION [**TP\_DOUBLE\_DECIMAL\_PRECISION**](object__domain_8h.md#define-tp_double_decimal_precision) |
| define | TP_SMALLINT_AS_CHAR_LENGTH 6 |
| define | TP_SMALLINT_PRECISION 5 |
| define | TP_TIMESTAMPTZ_AS_CHAR_LENGTH 64 |
| define | TP_TIMESTAMP_AS_CHAR_LENGTH 22 |
| define | TP_TIMESTAMP_PRECISION 14 |
| define | TP_TIME_AS_CHAR_LENGTH 11 |
| define | TP_TIME_PRECISION 6 |
| define | TP_TYPE_HAS_COLLATION (typeid) ([**TP\_IS\_CHAR\_TYPE**](object__domain_8h.md#define-tp_is_char_type)([**typeid**](broker__monitor_8c.md#function-timeout)) \|\| ([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_ENUMERATION) |
| define | TP_TYPE_NOT_SUPPORT_COVERING (typeid) (([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_TIMESTAMPTZ \|\| ([**typeid**](broker__monitor_8c.md#function-timeout)) == DB\_TYPE\_DATETIMETZ) |
Public Types Documentation¶
typedef TP_ALLOC_CONTEXT¶
typedef TP_DOMAIN¶
enum TP_DOMAIN_COLL_ACTION¶
enum TP_DOMAIN_COLL_ACTION {
TP_DOMAIN_COLL_NORMAL = 0,
TP_DOMAIN_COLL_ENFORCE = 1,
TP_DOMAIN_COLL_LEAVE = 2
};
typedef TP_DOMAIN_STATUS¶
typedef TP_MATCH¶
enum tp_domain_status¶
enum tp_domain_status {
DOMAIN_COMPATIBLE = 0,
DOMAIN_INCOMPATIBLE,
DOMAIN_OVERFLOW,
DOMAIN_ERROR
};
enum tp_match¶
Public Attributes Documentation¶
variable tp_Bigint_domain¶
variable tp_Bit_domain¶
variable tp_Blob_domain¶
variable tp_Char_domain¶
variable tp_Clob_domain¶
variable tp_Date_domain¶
variable tp_Double_domain¶
variable tp_Elo_domain¶
variable tp_Enumeration_domain¶
variable tp_Error_domain¶
variable tp_Float_domain¶
variable tp_Integer_domain¶
variable tp_Json_domain¶
variable tp_Midxkey_domain¶
variable tp_Monetary_domain¶
variable tp_Multiset_domain¶
variable tp_Null_domain¶
variable tp_Numeric_domain¶
variable tp_Object_domain¶
variable tp_Oid_domain¶
variable tp_Pointer_domain¶
variable tp_Sequence_domain¶
variable tp_Set_domain¶
variable tp_Short_domain¶
variable tp_String_domain¶
variable tp_Substructure_domain¶
variable tp_Time_domain¶
variable tp_Utime_domain¶
variable tp_VarBit_domain¶
variable tp_Variable_domain¶
variable tp_Vobj_domain¶
Public Functions Documentation¶
function tp_apply_sys_charset¶
function tp_area_init¶
function tp_can_steal_string¶
function tp_check_value_size¶
function tp_create_domain_resolve_value¶
function tp_domain_add¶
function tp_domain_attach¶
function tp_domain_cache¶
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¶
function tp_domain_compatible¶
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¶
function tp_domain_copy_enumeration¶
function tp_domain_disk_size¶
function tp_domain_drop¶
function tp_domain_filter_list¶
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¶
function tp_domain_find_noparam¶
function tp_domain_find_numeric¶
function tp_domain_find_object¶
TP_DOMAIN * tp_domain_find_object (
DB_TYPE type,
OID * class_oid,
struct db_object * class_,
bool is_desc
)
function tp_domain_find_set¶
function tp_domain_fprint¶
function tp_domain_free¶
function tp_domain_init¶
function tp_domain_match¶
function tp_domain_match_ignore_order¶
function tp_domain_memory_size¶
function tp_domain_name¶
function tp_domain_new¶
function tp_domain_print¶
function tp_domain_references_objects¶
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¶
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¶
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¶
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¶
function tp_enumeration_to_varchar¶
function tp_final¶
function tp_get_fixed_precision¶
function tp_infer_common_domain¶
function tp_init¶
function tp_init_value_domain¶
function tp_more_general_type¶
function tp_set_compare¶
DB_VALUE_COMPARE_RESULT tp_set_compare (
const DB_VALUE * value1,
const DB_VALUE * value2,
int allow_coercion,
int total_order
)
function tp_setdomain_size¶
function tp_valid_indextype¶
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 allow_coercion,
int total_order,
bool * can_compare
)
function tp_value_domain_name¶
function tp_value_equal¶
function tp_value_str_auto_cast_to_number¶
function tp_value_string_to_double¶
Macro Definition Documentation¶
define DOM_GET_ENUMERATION¶
define DOM_GET_ENUM_ELEM¶
define DOM_GET_ENUM_ELEMENTS¶
define DOM_GET_ENUM_ELEMS_COUNT¶
define DOM_SET_ENUM¶
define DOM_SET_ENUM_ELEMENTS¶
define DOM_SET_ENUM_ELEMS_COUNT¶
define TP_ALLOC¶
define TP_ARE_COMPARABLE_KEY_TYPES¶
define TP_BIGINT_AS_CHAR_LENGTH¶
define TP_BIGINT_PRECISION¶
define TP_BIGINT_SCALE¶
define TP_DATETIMETZ_AS_CHAR_LENGTH¶
define TP_DATETIME_AS_CHAR_LENGTH¶
define TP_DATETIME_PRECISION¶
define TP_DATE_AS_CHAR_LENGTH¶
define TP_DATE_PRECISION¶
define TP_DOMAIN_CODESET¶
define TP_DOMAIN_COLLATION¶
define TP_DOMAIN_COLLATION_FLAG¶
define TP_DOMAIN_SELF_REF¶
define TP_DOMAIN_TYPE¶
define TP_DOUBLE_AS_CHAR_LENGTH¶
#define TP_DOUBLE_AS_CHAR_LENGTH `(4 + TP_DOUBLE_MANTISA_DECIMAL_PRECISION + \ TP_DOUBLE_EXPONENT_DECIMAL_PRECISION )`
define TP_DOUBLE_BINARY_PRECISION¶
define TP_DOUBLE_DECIMAL_PRECISION¶
define TP_DOUBLE_EXPONENT_BINARY_PRECISION¶
define TP_DOUBLE_EXPONENT_DECIMAL_PRECISION¶
define TP_DOUBLE_MANTISA_BINARY_PRECISION¶
define TP_DOUBLE_MANTISA_DECIMAL_PRECISION¶
define TP_FLOATING_PRECISION_VALUE¶
define TP_FLOAT_AS_CHAR_LENGTH¶
#define TP_FLOAT_AS_CHAR_LENGTH `(4 + TP_FLOAT_MANTISA_DECIMAL_PRECISION + \ TP_FLOAT_EXPONENT_DECIMAL_PRECISION )`
define TP_FLOAT_BINARY_PRECISION¶
define TP_FLOAT_DECIMAL_PRECISION¶
define TP_FLOAT_EXPONENT_BINARY_PRECISION¶
define TP_FLOAT_EXPONENT_DECIMAL_PRECISION¶
define TP_FLOAT_MANTISA_BINARY_PRECISION¶
define TP_FLOAT_MANTISA_DECIMAL_PRECISION¶
define TP_FREE¶
define TP_INTEGER_AS_CHAR_LENGTH¶
define TP_INTEGER_PRECISION¶
define TP_IS_BIT_TYPE¶
#define TP_IS_BIT_TYPE (
typeid
) `((( typeid ) == DB_TYPE_VARBIT ) || (( typeid ) == DB_TYPE_BIT ))`
define TP_IS_CHAR_BIT_TYPE¶
define TP_IS_CHAR_TYPE¶
define TP_IS_DATE_OR_TIME_TYPE¶
#define TP_IS_DATE_OR_TIME_TYPE (
typeid
) `((( typeid ) == DB_TYPE_TIME ) || TP_IS_DATE_TYPE ( typeid ))`
define TP_IS_DATE_TYPE¶
define TP_IS_DATE_WITH_TZ_TYPE¶
define TP_IS_DISCRETE_NUMBER_TYPE¶
define TP_IS_DOUBLE_ALIGN_TYPE¶
#define TP_IS_DOUBLE_ALIGN_TYPE (
typeid
) `(( typeid ) == DB_TYPE_DOUBLE || ( typeid ) == DB_TYPE_BIGINT )`
define TP_IS_FIXED_LEN_CHAR_TYPE¶
define TP_IS_FLOATING_NUMBER_TYPE¶
define TP_IS_LOB_TYPE¶
define TP_IS_NUMERIC_TYPE¶
define TP_IS_SET_TYPE¶
define TP_IS_STRING_TYPE¶
define TP_IS_VAR_LEN_CHAR_TYPE¶
define TP_MONETARY_AS_CHAR_LENGTH¶
define TP_MONETARY_EXPONENT_PRECISION¶
define TP_MONETARY_MANTISA_PRECISION¶
define TP_MONETARY_PRECISION¶
define TP_SMALLINT_AS_CHAR_LENGTH¶
define TP_SMALLINT_PRECISION¶
define TP_TIMESTAMPTZ_AS_CHAR_LENGTH¶
define TP_TIMESTAMP_AS_CHAR_LENGTH¶
define TP_TIMESTAMP_PRECISION¶
define TP_TIME_AS_CHAR_LENGTH¶
define TP_TIME_PRECISION¶
define TP_TYPE_HAS_COLLATION¶
#define TP_TYPE_HAS_COLLATION (
typeid
) `( TP_IS_CHAR_TYPE ( typeid ) || ( typeid ) == DB_TYPE_ENUMERATION )`
define TP_TYPE_NOT_SUPPORT_COVERING¶
#define TP_TYPE_NOT_SUPPORT_COVERING (
typeid
) `(( typeid ) == DB_TYPE_TIMESTAMPTZ || ( typeid ) == DB_TYPE_DATETIMETZ )`
The documentation for this class was generated from the following file cubrid/src/object/object_domain.h