43 #if !defined(SERVER_MODE) 54 #if defined (SUPPRESS_STRLEN_WARNING) 55 #define strlen(s1) ((int) strlen(s1)) 60 #define DB_NUMBER_ZERO 0 62 #define VALCNV_TOO_BIG_TO_MATTER 1024 85 #if defined(SERVER_MODE) 93 const int dstlen,
const char *src,
106 const char *new_tail,
const size_t new_tail_length);
414 const int precision,
const int scale,
const int codeset,
439 value->
data.
f = -FLT_MAX;
444 value->
data.
d = -DBL_MAX;
582 const int precision,
const int scale,
const int codeset,
606 value->
data.
f = FLT_MAX;
610 value->
data.
d = DBL_MAX;
716 if (enumeration ==
NULL || enumeration->
count <= 0)
726 (
unsigned char) codeset, collation_id);
757 const int precision,
const int scale,
758 const int codeset,
const int collation_id,
DB_ENUMERATION * enumeration)
967 const char *val_str =
NULL;
986 strncpy (
string, val_str, byte_size);
987 string[byte_size] =
'\0';
1000 if (val_str !=
NULL && length > precision)
1011 strncpy (
string, val_str, byte_size);
1012 string[byte_size] =
'\0';
1013 db_make_char (&src_value, precision,
string, byte_size,
1026 if (val_str !=
NULL && length > precision)
1037 strncpy (
string, val_str, byte_size);
1038 string[byte_size] =
'\0';
1051 if (val_str !=
NULL && length > precision)
1062 strncpy (
string, val_str, byte_size);
1063 string[byte_size] =
'\0';
1077 length = (length + 7) >> 3;
1078 if (val_str !=
NULL && length > precision)
1087 memcpy (
string, val_str, precision);
1088 db_make_bit (&src_value, precision << 3,
string, precision << 3);
1099 length = (length >> 3) + ((length & 7) ? 1 : 0);
1100 if (val_str !=
NULL && length > precision)
1109 memcpy (
string, val_str, precision);
1110 db_make_varbit (&src_value, precision << 3,
string, precision << 3);
1154 return is_collection;
1157 #if defined (ENABLE_UNUSED_FUNCTION) 1185 return &value->
data;
1200 value->
data = *data;
1215 return &value->
data;
1261 if ((value ==
NULL) || (input ==
NULL))
1266 else if (input_length == -1)
1640 for (i = 0; i < value_array->
size; ++
i)
1905 if (dstlen > srclen)
1910 memcpy (dst, src, srclen);
1915 (
int) ((dstlen - srclen - 1) /
intl_pad_size (codeset)), codeset);
1916 *xflen =
CAST_STRLEN ((
char *) ptr - (
char *) dst);
1938 intl_char_count ((
unsigned char *) src, dstlen - 1, codeset, &length);
1940 memcpy (dst, src, size);
1985 const char *tmp_val_str;
2010 if (tmp_val_str !=
NULL)
2024 char *raw_schema_body =
NULL;
2095 if ((buf ==
NULL) || (xflen ==
NULL))
2149 sprintf (tmp,
"%d", i);
2158 sprintf (tmp,
"%d", i);
2164 goto unsupported_conversion;
2209 sprintf (tmp,
"%d", s);
2218 sprintf (tmp,
"%d", s);
2224 goto unsupported_conversion;
2263 sprintf (tmp,
"%lld", (
long long) bigint);
2272 sprintf (tmp,
"%lld", (
long long) bigint);
2278 goto unsupported_conversion;
2338 goto unsupported_conversion;
2398 goto unsupported_conversion;
2406 double d = money->
amount;
2470 goto unsupported_conversion;
2570 goto unsupported_conversion;
2586 goto unsupported_conversion;
2600 *xflen =
sizeof (
DB_SET *);
2604 goto unsupported_conversion;
2648 goto unsupported_conversion;
2693 goto unsupported_conversion;
2738 goto unsupported_conversion;
2782 goto unsupported_conversion;
2805 error_code =
db_value_get (&v, c_type, buf, buflen, xflen, outlen);
2821 error_code =
db_value_get (&v, c_type, buf, buflen, xflen, outlen);
2839 error_code =
db_value_get (&v, c_type, buf, buflen, xflen, outlen);
2844 goto unsupported_conversion;
2868 *outlen = truncated;
2888 *outlen = truncated;
2899 goto unsupported_conversion;
2912 goto unsupported_conversion;
2945 unsupported_conversion:
2981 precision = char_count;
2986 || (db_type ==
DB_TYPE_CHAR && precision == char_count))
3022 precision = char_count;
3360 double num = money->
amount;
3918 tmp_date = datetime->
date;
3926 tmp_time = datetime->
time / 1000;
3936 tmp_date = datetime->
date;
3937 tmp_time = datetime->
time / 1000;
3980 next = domain->
next;
4104 scale = domain->
scale;
4136 int collation_id = 0;
4143 return (collation_id);
4225 if (new_tail_p ==
NULL)
4229 else if (buffer_p ==
NULL)
4232 if (buffer_p ==
NULL)
4242 old_length = buffer_p->
length;
4243 buffer_p->
length += new_tail_length;
4245 buffer_p->
bytes = (
unsigned char *) realloc (buffer_p->
bytes, buffer_p->
length);
4252 memcpy (&buffer_p->
bytes[old_length], new_tail_p, new_tail_length);
4283 sprintf (tbuf,
"%.17g", value);
4287 if (strstr (tbuf,
"++") || strstr (tbuf,
"--"))
4289 if (strstr (tbuf,
"Inf"))
4292 sprintf (tbuf,
"%.17g", (value > 0 ? FLT_MAX : -FLT_MAX));
4311 sprintf (tbuf,
"%.17g", value);
4315 if (strstr (tbuf,
"++") || strstr (tbuf,
"--"))
4317 if (strstr (tbuf,
"Inf"))
4320 sprintf (tbuf,
"%.17g", (value > 0 ? DBL_MAX : -DBL_MAX));
4337 const unsigned char *bit_string_p;
4338 int nibble_len, nibbles,
count;
4344 for (nibbles = 0, count = 0; nibbles < nibble_len - 1; count++, nibbles += 2)
4346 sprintf (tbuf,
"%02x", bit_string_p[count]);
4349 if (buffer_p ==
NULL)
4355 if (nibbles < nibble_len)
4357 sprintf (tbuf,
"%1x", bit_string_p[count]);
4360 if (buffer_p ==
NULL)
4381 int err, size, max_n,
i;
4389 if (buffer_p ==
NULL)
4404 for (i = 0; i < max_n; i++)
4417 if (buffer_p ==
NULL)
4427 if (buffer_p ==
NULL)
4434 if (buffer_p ==
NULL)
4452 char cbuf[LDBL_MAX_10_EXP + 20];
4454 sprintf (cbuf,
"%.2f", value);
4458 if (strstr (cbuf,
"++") || strstr (cbuf,
"--"))
4460 if (strstr (cbuf,
"Inf"))
4463 sprintf (cbuf,
"%.2f", (value > 0 ? DBL_MAX : -DBL_MAX));
4483 const char *src_p, *end_p, *
p;
4488 const char *currency_symbol_p;
4510 sprintf (line,
"%lld", (
long long)
db_get_bigint (value_p));
4549 while (src_p < end_p)
4551 for (p = src_p; p < end_p && *p !=
'\''; p++)
4558 len = p - src_p + 1;
4560 if (buffer_p ==
NULL)
4566 if (buffer_p ==
NULL)
4574 if (buffer_p ==
NULL)
4587 sprintf (line,
"%d", (
int) oid_p->
volid);
4589 if (buffer_p ==
NULL)
4595 if (buffer_p ==
NULL)
4600 sprintf (line,
"%d", (
int) oid_p->
pageid);
4602 if (buffer_p ==
NULL)
4608 if (buffer_p ==
NULL)
4613 sprintf (line,
"%d", (
int) oid_p->
slotid);
4615 if (buffer_p ==
NULL)
4767 if (money_string_p ==
NULL)
4773 strcpy (line, currency_symbol_p);
4774 strncpy (line +
strlen (currency_symbol_p), (
char *) money_string_p->
bytes, money_string_p->
length);
4775 line[
strlen (currency_symbol_p) + money_string_p->
length] =
'\0';
4828 if (buffer_p ==
NULL)
4834 if (buffer_p ==
NULL)
4853 if (buffer_p ==
NULL)
4859 if (buffer_p ==
NULL)
4869 if (buffer_p ==
NULL)
4875 if (buffer_p ==
NULL)
4949 switch (default_expr_type)
4956 return "SYS_DATETIME";
4958 return "SYS_TIMESTAMP";
4960 return "UNIX_TIMESTAMP()";
4964 return "CURRENT_USER";
4966 return "CURRENT_DATETIME";
4968 return "CURRENT_TIMESTAMP";
4970 return "CURRENT_TIME";
4972 return "CURRENT_DATE";
4990 case DB_JSON_STRING:
5007 case DB_JSON_BIGINT:
5013 case DB_JSON_DOUBLE:
DB_TIMESTAMP DB_C_TIMESTAMP
DB_C_FLOAT db_get_float(const DB_VALUE *value)
struct db_domain_info::char_info char_info
int db_value_put_monetary_currency(DB_VALUE *value, DB_CURRENCY const type)
struct db_datetime DB_DATETIME
int db_set_compare(const DB_VALUE *value1, const DB_VALUE *value2)
bool db_is_json_doc_type(DB_TYPE type)
unsigned char * qstr_pad_string(unsigned char *s, int length, INTL_CODESET codeset)
int db_make_datetime(DB_VALUE *value, const DB_DATETIME *datetime)
int db_value_coerce(const DB_VALUE *src, DB_VALUE *dest, const DB_DOMAIN *desired_domain)
int db_value_put_null(DB_VALUE *value)
const char * lang_currency_symbol(DB_CURRENCY curr)
#define DB_ROW_COUNT_NOT_SET
DB_COLLECTION * db_get_set(const DB_VALUE *value)
#define DB_MAX_BIT_PRECISION
char buf[DB_SMALL_CHAR_BUF_SIZE]
#define LANG_SYS_COLLATION
int db_timestamptz_to_string(char *buf, int bufsize, DB_TIMESTAMP *utime, const TZ_ID *tz_id)
int db_value_domain_min(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale, const int codeset, const int collation_id, const DB_ENUMERATION *enumeration)
DB_VALUE_COMPARE_RESULT tp_value_compare(const DB_VALUE *value1, const DB_VALUE *value2, int allow_coercion, int total_order)
bool db_value_type_is_collection(const DB_VALUE *value)
double db_json_get_double_from_document(const JSON_DOC *doc)
int db_domain_scale(const DB_DOMAIN *domain)
int db_string_put_cs_and_collation(DB_VALUE *value, const int codeset, const int collation_id)
int intl_pad_size(INTL_CODESET codeset)
#define CHECK_2ARGS_ERROR(obj1, obj2)
void qstr_make_typed_string(const DB_TYPE db_type, DB_VALUE *value, const int precision, DB_CONST_C_CHAR src, const int s_unit, const int codeset, const int collation_id)
DB_SET * db_seq_create(MOP classop, const char *name, int size)
DB_CONST_C_BIT db_get_bit(const DB_VALUE *value, int *length)
#define TP_IS_SET_TYPE(typenum)
DB_CONST_C_NCHAR db_get_nchar(const DB_VALUE *value, int *length)
JSON_DOC * db_get_json_document(const DB_VALUE *value)
#define DB_MAX_STRING_LENGTH
int db_domain_precision(const DB_DOMAIN *domain)
int db_bit_string_coerce(const DB_VALUE *src_string, DB_VALUE *dest_string, DB_DATA_STATUS *data_status)
int db_date_to_string(char *buf, int bufsize, DB_DATE *date)
int db_make_bigint(DB_VALUE *value, const DB_BIGINT num)
int db_get_int(const DB_VALUE *value)
int tp_value_equal(const DB_VALUE *value1, const DB_VALUE *value2, int do_coercion)
int db_datetime_string(const DB_DATETIME *the_datetime, const char *datetime_format, char *string, int max_size)
DB_C_DOUBLE db_get_double(const DB_VALUE *value)
static VALCNV_BUFFER * valcnv_append_string(VALCNV_BUFFER *old_string, const char *new_tail)
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_ENUM_ELEMENT enumeration
struct tp_domain * setdomain
char * db_json_get_json_body_from_document(const JSON_DOC &doc)
int db_timestamp_encode_ses(const DB_DATE *date, const DB_TIME *timeval, DB_TIMESTAMP *utime, TZ_ID *dest_tz_id)
DB_TYPE db_domain_type(const DB_DOMAIN *domain)
static int coerce_numeric_to_dbvalue(DB_VALUE *value, char *buf, const DB_TYPE_C c_type)
int db_value_clone(DB_VALUE *src, DB_VALUE *dest)
void db_value_domain_init_default(DB_VALUE *value, const DB_TYPE type)
int db_make_numeric(DB_VALUE *value, const DB_C_NUMERIC num, const int precision, const int scale)
const TZ_ID * tz_get_utc_tz_id(void)
DB_DOMAIN * db_domain_next(const DB_DOMAIN *domain)
int db_get_enum_string_size(const DB_VALUE *value)
char * db_get_json_raw_body(const DB_VALUE *value)
#define DB_MAX_NCHAR_PRECISION
int db_make_object(DB_VALUE *value, DB_C_OBJECT *obj)
DB_C_NUMERIC db_get_numeric(const DB_VALUE *value)
int db_value_compare(const DB_VALUE *value1, const DB_VALUE *value2)
JSON_DOC * db_json_get_copy_of_doc(const JSON_DOC *doc)
#define DATETIME_BUF_SIZE
int db_domain_collation_id(const DB_DOMAIN *domain)
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)
bool db_is_json_value_type(DB_TYPE type)
int db_make_sequence(DB_VALUE *value, DB_C_SET *set)
const char * db_default_expression_string(DB_DEFAULT_EXPR_TYPE default_expr_type)
static int coerce_date_to_dbvalue(DB_VALUE *value, char *buf)
#define CHECK_1ARG_FALSE(obj)
static int transfer_string(char *dst, int *xflen, int *outlen, const int dstlen, const char *src, const int srclen, const DB_TYPE_C type, const INTL_CODESET codeset)
int numeric_db_value_coerce_to_num(DB_VALUE *src, DB_VALUE *dest, DB_DATA_STATUS *data_status)
#define ER_UCI_NULL_IND_NEEDED
double db_value_get_monetary_amount_as_double(const DB_VALUE *value)
DB_SET * db_set_create_multi(MOP classop, const char *name)
int set_size(DB_COLLECTION *set)
int db_value_equal(const DB_VALUE *value1, const DB_VALUE *value2)
#define DB_VALUE_PRECISION(value)
enum tp_domain_status TP_DOMAIN_STATUS
int db_value_domain_zero(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale)
#define DB_DEFAULT_NUMERIC_SCALE
int numeric_coerce_num_to_num(DB_C_NUMERIC src_num, int src_prec, int src_scale, int dest_prec, int dest_scale, DB_C_NUMERIC dest_num)
#define DB_VALUE_SCALE(value)
DB_ELO * db_get_elo(const DB_VALUE *value)
int db_datetimetz_to_string(char *buf, int bufsize, DB_DATETIME *dt, const TZ_ID *tz_id)
void qstr_bit_to_hex_coerce(char *buffer, int buffer_size, const char *src, int src_length, int pad_flag, int *copy_size, int *truncation)
int db_init_db_json_pointers(DB_JSON *val)
#define REINTERPRET_CAST(dest_type, expr)
int db_enum_put_cs_and_collation(DB_VALUE *value, const int codeset, const int collation_id)
DB_TIMESTAMPTZ * db_get_timestamptz(const DB_VALUE *value)
int db_date_encode(DB_DATE *date, int month, int day, int year)
int db_make_short(DB_VALUE *value, const DB_C_SHORT num)
int db_timestamp_to_string(char *buf, int bufsize, DB_TIMESTAMP *utime)
int pr_free_ext_value(DB_VALUE *value)
int db_make_string(DB_VALUE *value, DB_CONST_C_CHAR str)
DB_MONETARY * db_get_monetary(const DB_VALUE *value)
bool pr_is_set_type(DB_TYPE type)
#define DB_CONNECTION_STATUS_CONNECTED
#define CHECK_1ARG_ZERO(obj)
unsigned int DB_TIMESTAMP
#define DB_MAX_VARBIT_PRECISION
TP_DOMAIN * tp_domain_resolve_default(DB_TYPE type)
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
int db_value_put_encoded_time(DB_VALUE *value, const DB_TIME *time)
int db_make_enumeration(DB_VALUE *value, unsigned short index, DB_CONST_C_CHAR str, int size, unsigned char codeset, const int collation_id)
#define DB_MAX_VARCHAR_PRECISION
#define DB_MAX_NUMERIC_PRECISION
const char * db_string_value(const char *string, int str_size, const char *format, DB_VALUE *value)
int db_make_monetary(DB_VALUE *value, const DB_CURRENCY type, const double amount)
int tz_create_session_tzid_for_datetime(const DB_DATETIME *src_dt, bool src_is_utc, TZ_ID *tz_id)
#define QSTR_NUM_BYTES(a)
int db_make_set(DB_VALUE *value, DB_C_SET *set)
struct db_domain_info::numeric_info numeric_info
char * db_private_strdup(THREAD_ENTRY *thrd, const char *s)
int db_make_multiset(DB_VALUE *value, DB_C_SET *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)
int db_get_connect_status(void)
int db_time_string(const DB_TIME *the_time, const char *time_format, char *string, int max_size)
#define ER_OUT_OF_VIRTUAL_MEMORY
DB_TYPE db_value_type(const DB_VALUE *value)
const char * db_json_get_schema_raw_from_validator(JSON_VALIDATOR *val)
int db_time_encode(DB_TIME *timeval, int hour, int minute, int second)
void db_set_connect_status(int status)
#define CHECK_1ARG_ERROR(obj)
#define TIMESTAMP_BUF_SIZE
int numeric_db_value_coerce_from_num(DB_VALUE *src, DB_VALUE *dest, DB_DATA_STATUS *data_status)
#define DB_VALUE_DOMAIN_TYPE(value)
int db_value_free(DB_VALUE *value)
int db_convert_json_into_scalar(const DB_VALUE *src, DB_VALUE *dest)
#define TP_IS_NUMERIC_TYPE(typeid)
static VALCNV_BUFFER * valcnv_append_bytes(VALCNV_BUFFER *old_string, const char *new_tail, const size_t new_tail_length)
DB_OBJECT * db_domain_class(const DB_DOMAIN *domain)
#define ER_INVALID_CURRENCY_TYPE
bool IS_INVALID_PRECISION(int p, int m)
static int valcnv_Max_set_elements
#define CHECK_1ARG_NULL(obj)
const char * db_domain_raw_json_schema(const DB_DOMAIN *domain)
static VALCNV_BUFFER * valcnv_convert_data_to_string(VALCNV_BUFFER *buf, const DB_VALUE *value)
int db_timestamp_string(const DB_TIMESTAMP *the_timestamp, const char *timestamp_format, char *string, int max_size)
int db_json_get_int_from_document(const JSON_DOC *doc)
std::int64_t db_json_get_bigint_from_document(const JSON_DOC *doc)
DB_OBJECT * db_get_object(const DB_VALUE *value)
unsigned char buf[DB_NUMERIC_BUF_SIZE]
DB_VALUE * db_value_copy(DB_VALUE *value)
int db_char_string_coerce(const DB_VALUE *src_string, DB_VALUE *dest_string, DB_DATA_STATUS *data_status)
#define TP_DOMAIN_TYPE(dom)
DB_VALUE * db_value_create(void)
#define ER_DB_UNSUPPORTED_CONVERSION
int db_domain_codeset(const DB_DOMAIN *domain)
static VALCNV_BUFFER * valcnv_convert_set_to_string(VALCNV_BUFFER *buf, DB_SET *set)
unsigned short db_get_enum_short(const DB_VALUE *value)
int db_string_truncate(DB_VALUE *value, const int precision)
void db_value_print(const DB_VALUE *value)
void db_value_fprint(FILE *fp, const DB_VALUE *value)
static VALCNV_BUFFER * valcnv_convert_double_to_string(VALCNV_BUFFER *buf, const double value)
bool db_value_is_corrupted(const DB_VALUE *value)
DB_TIMESTAMPTZ timestamptz
int db_value_domain_max(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale, const int codeset, const int collation_id, const DB_ENUMERATION *enumeration)
DB_VALUE * pr_make_ext_value(void)
int db_value_put_monetary_amount_as_double(DB_VALUE *value, const double amount)
int db_value_clear_array(DB_VALUE_ARRAY *value_array)
int db_value_put_encoded_date(DB_VALUE *value, const DB_DATE *date)
DB_SET * db_set_create_basic(MOP classop, const char *name)
unsigned char is_max_string
#define db_private_free(thrd, ptr)
#define db_private_alloc(thrd, size)
int intl_char_size(const unsigned char *src, int length_in_chars, INTL_CODESET src_codeset, int *byte_count)
#define ER_INVALID_PRECISION
int set_get_element(DB_COLLECTION *set, int index, DB_VALUE *value)
need_clear_type need_clear
int count(int &result, const cub_regex_object ®, const std::string &src, const int position, const INTL_CODESET codeset)
int pr_clear_value(DB_VALUE *value)
int db_timestamp_decode_ses(const DB_TIMESTAMP *utime, DB_DATE *date, DB_TIME *timeval)
DB_BIGINT db_get_bigint(const DB_VALUE *value)
DB_CURRENCY lang_currency()
DB_JSON_TYPE db_json_get_type(const JSON_DOC *doc)
int db_get_deep_copy_of_json(const DB_JSON *src, DB_JSON *dst)
int db_time_to_string(char *buf, int bufsize, DB_TIME *time)
DB_DOMAIN * db_type_to_db_domain(const DB_TYPE type)
#define DB_DEFAULT_NUMERIC_PRECISION
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_time(DB_VALUE *value, const int hour, const int minute, const int second)
int db_datetime_to_string(char *buf, int bufsize, DB_DATETIME *datetime)
struct db_domain_info::general_info general_info
DB_CONST_C_CHAR db_get_enum_string(const DB_VALUE *value)
#define TP_IS_CHAR_TYPE(typeid)
static void error(const char *msg)
int valcnv_convert_value_to_string(DB_VALUE *value_p)
int db_make_float(DB_VALUE *value, const DB_C_FLOAT num)
#define DB_DEFAULT_PRECISION
static VALCNV_BUFFER * valcnv_convert_float_to_string(VALCNV_BUFFER *buf, const float value)
static int coerce_time_to_dbvalue(DB_VALUE *value, char *buf)
static VALCNV_BUFFER * valcnv_convert_money_to_string(const double value)
char * numeric_db_value_print(const DB_VALUE *val, char *buf)
unsigned char compressed_need_clear
#define CHECK_CONNECT_NULL()
#define ER_UCI_INVALID_DATA_TYPE
static int transfer_bit_string(char *buf, int *xflen, int *outlen, const int buflen, const DB_VALUE *src, const DB_TYPE_C c_type)
int pr_clone_value(const DB_VALUE *src, DB_VALUE *dest)
OID * db_get_oid(const DB_VALUE *value)
const char * db_json_get_string_from_document(const JSON_DOC *doc)
int db_make_varbit(DB_VALUE *value, const int max_bit_length, DB_CONST_C_BIT bit_str, const int bit_str_bit_size)
void db_fprint_value(FILE *fp, const db_value *value)
static int coerce_char_to_dbvalue(DB_VALUE *value, char *buf, const int buflen)
#define free_and_init(ptr)
void numeric_coerce_dec_str_to_num(const char *dec_str, DB_C_NUMERIC result)
DB_DATE * db_get_date(const DB_VALUE *value)
DB_ENUM_ELEMENT * elements
#define ER_OBJ_INVALID_ARGUMENTS
DB_MONETARY DB_C_MONETARY
#define OR_MOVE_DOUBLE(src, dst)
int db_value_put(DB_VALUE *value, const DB_TYPE_C c_type, void *input, const int input_length)
enum intl_codeset INTL_CODESET
int intl_char_count(const unsigned char *src, int length_in_bytes, INTL_CODESET src_codeset, int *char_count)
JSON_VALIDATOR * json_validator
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_value_get(DB_VALUE *value, const DB_TYPE_C c_type, void *buf, const int buflen, int *xflen, int *outlen)
void elo_init_structure(DB_ELO *elo)
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)
#define TP_FLOATING_PRECISION_VALUE
#define CHECK_CONNECT_ZERO()
DB_CURRENCY db_value_get_monetary_currency(const DB_VALUE *value)
#define DB_VALUE_TYPE(value)
#define DB_CURRENCY_DEFAULT
static int coerce_timestamp_to_dbvalue(DB_VALUE *value, char *buf)
int db_make_null(DB_VALUE *value)
static int coerce_binary_to_dbvalue(DB_VALUE *value, char *buf, const int buflen)
#define DB_IS_NULL(value)
int db_make_double(DB_VALUE *value, const DB_C_DOUBLE num)
DB_DATETIME * db_get_datetime(const DB_VALUE *value)
static VALCNV_BUFFER * valcnv_convert_bit_to_string(VALCNV_BUFFER *buf, const DB_VALUE *value)
#define CHECK_1ARG_ZERO_WITH_TYPE(obj1, RETURN_TYPE)
#define DB_MAX_VARNCHAR_PRECISION
#define DB_NUMERIC_BUF_SIZE
DB_CURRENCY db_get_currency_default()
int db_value_clear(DB_VALUE *value)
int db_make_timestamp(DB_VALUE *value, const DB_C_TIMESTAMP timeval)
int setval(DB_VALUE *dest, const DB_VALUE *src, bool copy) const
int db_make_int(DB_VALUE *value, const int num)
int db_get_string_length(const DB_VALUE *value)
struct db_object * class_mop
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)
static VALCNV_BUFFER * valcnv_convert_db_value_to_string(VALCNV_BUFFER *buf, const DB_VALUE *value)
DB_TIME * db_get_time(const DB_VALUE *value)
#define ER_QPROC_INVALID_DATATYPE
int numeric_coerce_string_to_num(const char *astring, int astring_length, INTL_CODESET codeset, DB_VALUE *result)
static int coerce_datetime_to_dbvalue(DB_VALUE *value, char *buf)
int tz_create_session_tzid_for_timestamp(const DB_UTIME *src_ts, TZ_ID *tz_id)
DB_DATA * db_value_get_db_data(DB_VALUE *value)
#define CHECK_CONNECT_VOID()
TP_DOMAIN_STATUS tp_value_cast_force(const DB_VALUE *src, DB_VALUE *dest, const TP_DOMAIN *desired_domain, bool implicit_coercion)
char * db_json_get_bool_as_str_from_document(const JSON_DOC *doc)
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)
#define DB_CONNECTION_STATUS_NOT_CONNECTED
DB_VALUE_COMPARE_RESULT tp_set_compare(const DB_VALUE *value1, const DB_VALUE *value2, int do_coercion, int total_order)
DB_CONST_C_CHAR db_get_string(const DB_VALUE *value)
int db_Disable_modifications
struct db_char::@54 medium
#define DB_ENUM_ELEMENTS_MAX
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)
DB_DOMAIN * db_domain_set(const DB_DOMAIN *domain)
#define CHECK_CONNECT_ERROR()
int db_value_domain_init(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale)
#define VALCNV_TOO_BIG_TO_MATTER
int db_value_alter_type(DB_VALUE *value, const DB_TYPE type)
#define DB_MAX_CHAR_PRECISION