23 #ifndef _NO_INLINE_DBTYPE_FUNCTION_ 24 #define _NO_INLINE_DBTYPE_FUNCTION_ 31 #define DB_CURRENCY_DEFAULT db_get_currency_default() 34 #define db_collection db_set 36 #define db_make_utime db_make_timestamp 38 #define DB_MAKE_NULL(value) db_make_null(value) 40 #define DB_VALUE_CLONE_AS_NULL(src_value, dest_value) \ 42 if ((db_value_domain_init(dest_value, \ 43 db_value_domain_type(src_value), \ 44 db_value_precision(src_value), \ 45 db_value_scale(src_value))) \ 47 (void)db_value_put_null(dest_value); \ 50 #define DB_MAKE_INTEGER(value, num) db_make_int(value, num) 52 #define DB_MAKE_INT DB_MAKE_INTEGER 54 #define DB_MAKE_BIGINT(value, num) db_make_bigint(value, num) 56 #define DB_MAKE_BIGINTEGER DB_MAKE_BIGINT 58 #define DB_MAKE_FLOAT(value, num) db_make_float(value, num) 60 #define DB_MAKE_DOUBLE(value, num) db_make_double(value, num) 62 #define DB_MAKE_OBJECT(value, obj) db_make_object(value, obj) 64 #define DB_MAKE_OBJ DB_MAKE_OBJECT 66 #define DB_MAKE_SET(value, set) db_make_set(value, set) 68 #define DB_MAKE_MULTISET(value, set) db_make_multiset(value, set) 71 #define DB_MAKE_MULTI_SET DB_MAKE_MULTISET 73 #define DB_MAKE_SEQUENCE(value, set) db_make_sequence(value, set) 75 #define DB_MAKE_LIST DB_MAKE_SEQUENCE 78 #define DB_MAKE_SEQ DB_MAKE_SEQUENCE 85 #define DB_MAKE_OID(value, oid) \ 86 (((oid) == NULL) ? ((value)->domain.general_info.is_null = 1, NO_ERROR) : \ 87 db_make_oid((value), (oid))) 89 #define DB_GET_OID(value) (db_get_oid(value)) 90 #define DB_MAKE_COLLECTION(value, col) db_make_collection(value, col) 92 #define DB_MAKE_MIDXKEY(value, midxkey) db_make_midxkey(value, midxkey) 94 #define DB_MAKE_ELO(value, type, elo) db_make_elo(value, type, elo) 96 #define DB_MAKE_TIME(value, hour, minute, second) \ 97 db_make_time(value, hour, minute, second) 99 #define DB_MAKE_ENCODED_TIME(value, time_value) \ 100 db_value_put_encoded_time(value, time_value) 102 #define DB_MAKE_DATE(value, month, day, year) \ 103 db_make_date(value, month, day, year) 105 #define DB_MAKE_ENCODED_DATE(value, date_value) \ 106 db_value_put_encoded_date(value, date_value) 108 #define DB_MAKE_TIMESTAMP(value, timeval) \ 109 db_make_timestamp(value, timeval) 111 #define DB_MAKE_UTIME DB_MAKE_TIMESTAMP 113 #define DB_MAKE_TIMESTAMPTZ(value, ts_tz) \ 114 db_make_timestamptz(value, ts_tz) 116 #define DB_MAKE_TIMESTAMPLTZ(value, timeval) \ 117 db_make_timestampltz(value, timeval) 119 #define DB_MAKE_MONETARY_AMOUNT(value, amount) \ 120 db_make_monetary(value, DB_CURRENCY_DEFAULT, amount) 122 #define DB_MAKE_DATETIME(value, datetime_value) \ 123 db_make_datetime(value, datetime_value) 125 #define DB_MAKE_DATETIMETZ(value, datetimetz_value) \ 126 db_make_datetimetz(value, datetimetz_value) 128 #define DB_MAKE_DATETIMELTZ(value, datetime_value) \ 129 db_make_datetimeltz(value, datetime_value) 131 #define DB_MAKE_MONETARY DB_MAKE_MONETARY_AMOUNT 133 #define DB_MAKE_MONETARY_TYPE_AMOUNT(value, type, amount) \ 134 db_make_monetary(value, type, amount) 136 #define DB_MAKE_POINTER(value, ptr) db_make_pointer(value, ptr) 138 #define DB_MAKE_ERROR(value, errcode) db_make_error(value, errcode) 140 #define DB_MAKE_METHOD_ERROR(value, errcode, errmsg) \ 141 db_make_method_error(value, errcode, errmsg) 143 #define DB_MAKE_SMALLINT(value, num) db_make_short(value, num) 145 #define DB_MAKE_SHORT DB_MAKE_SMALLINT 147 #define DB_MAKE_NUMERIC(value, num, precision, scale) \ 148 db_make_numeric(value, num, precision, scale) 150 #define DB_MAKE_BIT(value, bit_length, bit_str, bit_str_bit_size) \ 151 db_make_bit(value, bit_length, bit_str, bit_str_bit_size) 153 #define DB_MAKE_VARBIT(value, max_bit_length, bit_str, bit_str_bit_size) \ 154 db_make_varbit(value, max_bit_length, bit_str, bit_str_bit_size) 156 #define DB_MAKE_CHAR(value, char_length, str, char_str_byte_size, codeset, collation) \ 157 db_make_char(value, char_length, str, char_str_byte_size, codeset, collation) 159 #define DB_MAKE_VARCHAR(value, max_char_length, str, char_str_byte_size, codeset, collation) \ 160 db_make_varchar(value, max_char_length, str, char_str_byte_size, codeset, collation) 162 #define DB_MAKE_STRING(value, str) db_make_string(value, str) 164 #define DB_MAKE_NCHAR(value, nchar_length, str, nchar_str_byte_size, codeset, collation) \ 165 db_make_nchar(value, nchar_length, str, nchar_str_byte_size, codeset, collation) 167 #define DB_MAKE_VARNCHAR(value, max_nchar_length, str, nchar_str_byte_size, codeset, collation) \ 168 db_make_varnchar(value, max_nchar_length, str, nchar_str_byte_size, codeset, collation) 170 #define DB_MAKE_ENUMERATION(value, index, str, size, codeset, collation) \ 171 db_make_enumeration(value, index, str, size, codeset, collation) 173 #define DB_MAKE_RESULTSET(value, handle) db_make_resultset(value, handle) 175 #define db_get_collection db_get_set 176 #define db_get_utime db_get_timestamp 178 #define DB_IS_NULL(value) db_value_is_null(value) 180 #define DB_VALUE_DOMAIN_TYPE(value) db_value_domain_type(value) 183 #define DB_GET_INT(v) db_get_int(v) 184 #define DB_GET_SHORT(v) db_get_short(v) 185 #define DB_GET_BIGINT(v) db_get_bigint(v) 186 #define DB_GET_FLOAT(v) db_get_float(v) 187 #define DB_GET_STRING(v) db_get_string(v) 188 #define DB_GET_STRING_LENGTH(v) db_get_string_length(v) 189 #define DB_GET_DOUBLE(v) db_get_double(v) 190 #define DB_GET_OBJECT(v) db_get_object(v) 191 #define DB_GET_SET(v) db_get_set(v) 192 #define DB_GET_MIDXKEY(v) db_get_midxkey(v) 193 #define DB_GET_POINTER(v) db_get_pointer(v) 194 #define DB_GET_TIME(v) db_get_time(v) 195 #define DB_GET_TIMESTAMP(v) db_get_timestamp(v) 196 #define DB_GET_TIMESTAMPTZ(v) db_get_timestamptz(v) 197 #define DB_GET_DATETIME(v) db_get_datetime(v) 198 #define DB_GET_DATETIMETZ(v) db_get_datetimetz(v) 199 #define DB_GET_DATE(v) db_get_date(v) 200 #define DB_GET_MONETARY(v) db_get_monetary(v) 201 #define DB_GET_ERROR(v) db_get_error(v) 202 #define DB_GET_ELO(v) db_get_elo(v) 203 #define DB_GET_NUMERIC(v) db_get_numeric(v) 204 #define DB_GET_BIT(v, l) db_get_bit(v, l) 205 #define DB_GET_CHAR(v, l) db_get_char(v, l) 206 #define DB_GET_NCHAR(v, l) db_get_nchar(v, l) 207 #define DB_GET_STRING_SIZE(v) db_get_string_size(v) 208 #define DB_GET_ENUM_SHORT(v) db_get_enum_short(v) 209 #define DB_GET_ENUM_STRING(v) db_get_enum_string(v) 210 #define DB_GET_ENUM_STRING_SIZE(v) db_get_enum_string_size(v) 211 #define DB_GET_METHOD_ERROR_MSG() db_get_method_error_msg() 212 #define DB_GET_RESULTSET(v) db_get_resultset(v) 213 #define DB_GET_STRING_CODESET(v) ((INTL_CODESET) db_get_string_codeset(v)) 214 #define DB_GET_STRING_COLLATION(v) db_get_string_collation(v) 215 #define DB_GET_ENUM_CODESET(v) db_get_enum_codeset(v) 216 #define DB_GET_ENUM_COLLATION(v) db_get_enum_collation(v) 217 #define DB_VALUE_TYPE(value) db_value_type(value) 218 #define DB_VALUE_PRECISION(value) db_value_precision(value) 219 #define DB_VALUE_SCALE(value) db_value_scale(value) 221 #define DB_GET_INTEGER(value) db_get_int(value) 222 #define DB_GET_BIGINTEGER DB_GET_BIGINT 223 #define DB_GET_OBJ DB_GET_OBJECT 224 #define DB_GET_MULTISET(value) db_get_set(value) 225 #define DB_GET_LIST(value) db_get_set(value) 226 #define DB_GET_SEQUENCE DB_GET_LIST 227 #define DB_GET_COLLECTION(value) db_get_set(value) 228 #define DB_GET_UTIME DB_GET_TIMESTAMP 229 #define DB_GET_SMALLINT(value) db_get_short(value) 231 #define DB_GET_COMPRESSED_SIZE(value) db_get_compressed_size(value) 233 #define DB_GET_JSON_DOCUMENT(value) db_get_json_document(value) 235 #define DB_GET_SEQ DB_GET_SEQUENCE 237 #define DB_SET_COMPRESSED_STRING(value, compressed_string, compressed_size, compressed_need_clear) \ 238 db_set_compressed_string(value, compressed_string, compressed_size, compressed_need_clear) 240 #define DB_TRIED_COMPRESSION(value) (DB_GET_COMPRESSED_SIZE(value) != DB_NOT_YET_COMPRESSED) 269 const int codeset,
const int collation_id,
const DB_ENUMERATION * enumeration);
271 const int codeset,
const int collation_id,
const DB_ENUMERATION * enumeration);
273 const int codeset,
const int collation_id,
DB_ENUMERATION * enumeration);
363 const int bit_str_bit_size);
365 const int codeset,
const int collation_id);
367 const int char_str_byte_size,
const int codeset,
const int collation_id);
369 const int nchar_str_byte_size,
const int codeset,
const int collation_id);
371 const int nchar_str_byte_size,
const int codeset,
const int collation_id);
373 unsigned char codeset,
const int collation_id);
393 int compressed_size,
bool compressed_need_clear);
DB_TIMESTAMP DB_C_TIMESTAMP
DB_C_FLOAT db_get_float(const DB_VALUE *value)
DB_CURRENCY db_value_get_monetary_currency(const DB_VALUE *value)
bool db_is_json_doc_type(DB_TYPE type)
int db_make_json(DB_VALUE *value, JSON_DOC *json_document, bool need_clear)
int db_make_datetime(DB_VALUE *value, const DB_DATETIME *datetime)
const char * db_default_expression_string(DB_DEFAULT_EXPR_TYPE default_expr_type)
DB_COLLECTION * db_get_set(const DB_VALUE *value)
int db_value_scale(const DB_VALUE *value)
int db_value_clear_array(DB_VALUE_ARRAY *value_array)
DB_MIDXKEY * db_get_midxkey(const DB_VALUE *value)
int db_date_encode(DB_DATE *date, int month, int day, int year)
DB_VALUE * db_value_copy(DB_VALUE *value)
DB_CONST_C_BIT db_get_bit(const DB_VALUE *value, int *length)
DB_CONST_C_NCHAR db_get_nchar(const DB_VALUE *value, int *length)
JSON_DOC * db_get_json_document(const DB_VALUE *value)
int db_make_bigint(DB_VALUE *value, const DB_BIGINT num)
int db_get_int(const DB_VALUE *value)
DB_CURRENCY db_get_currency_default(void)
void db_time_decode(DB_TIME *timeval, int *hourp, int *minutep, int *secondp)
DB_C_DOUBLE db_get_double(const DB_VALUE *value)
int db_make_varchar(DB_VALUE *value, const int max_char_length, DB_CONST_C_CHAR str, const int char_str_byte_size, const int codeset, const int collation_id)
int db_get_string_collation(const DB_VALUE *value)
DB_DOMAIN * db_type_to_db_domain(DB_TYPE type)
int db_init_db_json_pointers(DB_JSON *val)
int db_make_numeric(DB_VALUE *value, const DB_C_NUMERIC num, const int precision, const int scale)
int db_get_enum_codeset(const DB_VALUE *value)
int db_get_enum_string_size(const DB_VALUE *value)
int db_make_object(DB_VALUE *value, DB_C_OBJECT *obj)
int db_make_pointer(DB_VALUE *value, DB_C_POINTER ptr)
DB_C_NUMERIC db_get_numeric(const DB_VALUE *value)
int db_make_date(DB_VALUE *value, const int month, const int day, const int year)
DB_DATETIMETZ * db_get_datetimetz(const DB_VALUE *value)
DB_CONST_C_CHAR db_get_char(const DB_VALUE *value, int *length)
int db_make_datetimeltz(DB_VALUE *value, const DB_DATETIME *datetime)
int db_make_sequence(DB_VALUE *value, DB_C_SET *set)
int db_string_truncate(DB_VALUE *value, const int max_precision)
int db_value_domain_min(DB_VALUE *value, DB_TYPE type, const int precision, const int scale, const int codeset, const int collation_id, const DB_ENUMERATION *enumeration)
int db_value_clear(DB_VALUE *value)
bool db_value_type_is_collection(const DB_VALUE *value)
int db_make_elo(DB_VALUE *value, DB_TYPE type, const DB_ELO *elo)
void db_value_print(const DB_VALUE *value)
DB_ELO * db_get_elo(const DB_VALUE *value)
DB_TIMESTAMPTZ * db_get_timestamptz(const DB_VALUE *value)
int db_make_short(DB_VALUE *value, const DB_C_SHORT num)
int db_make_string(DB_VALUE *value, DB_CONST_C_CHAR str)
DB_MONETARY * db_get_monetary(const DB_VALUE *value)
DB_RESULTSET db_get_resultset(const DB_VALUE *value)
unsigned int DB_TIMESTAMP
int db_value_put_monetary_currency(DB_VALUE *value, const DB_CURRENCY type)
const char * DB_CONST_C_NCHAR
int db_value_domain_default(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale, const int codeset, const int collation_id, DB_ENUMERATION *enumeration)
int db_make_enumeration(DB_VALUE *value, unsigned short index, DB_CONST_C_CHAR str, int size, unsigned char codeset, const int collation_id)
int db_make_monetary(DB_VALUE *value, const DB_CURRENCY type, const double amount)
const char * DB_CONST_C_BIT
DB_TYPE db_value_domain_type(const DB_VALUE *value)
void db_date_decode(const DB_DATE *date, int *monthp, int *dayp, int *yearp)
int db_make_set(DB_VALUE *value, DB_C_SET *set)
int db_make_multiset(DB_VALUE *value, DB_C_SET *set)
int db_value_put_null(DB_VALUE *value)
DB_TYPE db_value_type(const DB_VALUE *value)
int db_get_deep_copy_of_json(const DB_JSON *src, DB_JSON *dst)
int db_value_put(DB_VALUE *value, const DB_TYPE_C c_type, void *input, const int input_length)
DB_OBJECT * db_get_object(const DB_VALUE *value)
int db_make_timestamptz(DB_VALUE *value, const DB_C_TIMESTAMPTZ *ts_tz_val)
double db_value_get_monetary_amount_as_double(const DB_VALUE *value)
unsigned short db_get_enum_short(const DB_VALUE *value)
int db_value_clone(DB_VALUE *src, DB_VALUE *dest)
unsigned char * DB_C_NUMERIC
DB_VALUE * db_value_create(void)
int db_value_put_monetary_amount_as_double(DB_VALUE *value, const double amount)
int db_value_alter_type(DB_VALUE *value, DB_TYPE type)
int db_value_domain_zero(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale)
DB_BIGINT db_get_bigint(const DB_VALUE *value)
void db_set_compressed_string(DB_VALUE *value, char *compressed_string, int compressed_size, bool compressed_need_clear)
int db_make_time(DB_VALUE *value, const int hour, const int minute, const int second)
DB_C_CHAR db_get_method_error_msg(void)
int db_make_datetimetz(DB_VALUE *value, const DB_DATETIMETZ *datetimetz)
DB_CONST_C_CHAR db_get_enum_string(const DB_VALUE *value)
int db_make_float(DB_VALUE *value, const DB_C_FLOAT num)
int db_make_midxkey(DB_VALUE *value, DB_MIDXKEY *midxkey)
bool db_value_is_null(const DB_VALUE *value)
int db_value_domain_max(DB_VALUE *value, DB_TYPE type, const int precision, const int scale, const int codeset, const int collation_id, const DB_ENUMERATION *enumeration)
OID * db_get_oid(const DB_VALUE *value)
int db_value_put_encoded_date(DB_VALUE *value, const DB_DATE *date_value)
int db_make_varbit(DB_VALUE *value, const int max_bit_length, DB_CONST_C_BIT bit_str, const int bit_str_bit_size)
int db_make_error(DB_VALUE *value, const int errcode)
int db_make_collection(DB_VALUE *value, DB_C_SET *set)
int db_make_timestampltz(DB_VALUE *value, const DB_C_TIMESTAMP ts_val)
DB_DATE * db_get_date(const DB_VALUE *value)
int db_value_precision(const DB_VALUE *value)
int db_convert_json_into_scalar(const DB_VALUE *src, DB_VALUE *dest)
int db_make_string_copy(DB_VALUE *value, DB_CONST_C_CHAR str)
int db_make_method_error(DB_VALUE *value, const int errcode, const char *errmsg)
int db_get_compressed_size(DB_VALUE *value)
int db_value_put_encoded_time(DB_VALUE *value, const DB_TIME *time_value)
DB_TIMESTAMP * db_get_timestamp(const DB_VALUE *value)
int db_get_string_size(const DB_VALUE *value)
DB_C_SHORT db_get_short(const DB_VALUE *value)
int db_make_varnchar(DB_VALUE *value, const int max_nchar_length, DB_CONST_C_NCHAR str, const int nchar_str_byte_size, const int codeset, const int collation_id)
int db_value_get(DB_VALUE *value, const DB_TYPE_C type, void *buf, const int buflen, int *transferlen, int *outputlen)
int db_get_enum_collation(const DB_VALUE *value)
int db_make_resultset(DB_VALUE *value, const DB_RESULTSET handle)
int db_make_null(DB_VALUE *value)
int db_make_double(DB_VALUE *value, const DB_C_DOUBLE num)
int db_get_error(const DB_VALUE *value)
DB_DATETIME * db_get_datetime(const DB_VALUE *value)
int db_value_domain_init(DB_VALUE *value, DB_TYPE type, const int precision, const int scale)
int db_make_timestamp(DB_VALUE *value, const DB_C_TIMESTAMP timeval)
int db_make_int(DB_VALUE *value, const int num)
int db_value_coerce(const DB_VALUE *src, DB_VALUE *dest, const DB_DOMAIN *desired_domain)
int db_make_oid(DB_VALUE *value, const OID *oid)
int db_make_char(DB_VALUE *value, const int char_length, DB_CONST_C_CHAR str, const int char_str_byte_size, const int codeset, const int collation_id)
int db_value_compare(const DB_VALUE *value1, const DB_VALUE *value2)
DB_TIME * db_get_time(const DB_VALUE *value)
int db_value_equal(const DB_VALUE *value1, const DB_VALUE *value2)
DB_C_POINTER db_get_pointer(const DB_VALUE *value)
const char * DB_CONST_C_CHAR
void db_value_fprint(FILE *fp, const DB_VALUE *value)
int db_time_encode(DB_TIME *timeval, int hour, int minute, int second)
int db_value_free(DB_VALUE *value)
int db_make_bit(DB_VALUE *value, const int bit_length, DB_CONST_C_BIT bit_str, const int bit_str_bit_size)
int db_get_string_codeset(const DB_VALUE *value)
DB_CONST_C_CHAR db_get_string(const DB_VALUE *value)
int db_make_nchar(DB_VALUE *value, const int nchar_length, DB_CONST_C_NCHAR str, const int nchar_str_byte_size, const int codeset, const int collation_id)
bool db_is_json_value_type(DB_TYPE type)