51 #if defined (SUPPRESS_STRLEN_WARNING) 52 #define strlen(s1) ((int) strlen(s1)) 55 #define SET_PARSER_ERROR_AND_FREE_NODE(parser, result, default_msg_id) \ 57 if (!pt_has_error(parser)) \ 59 if (er_errid() != NO_ERROR) \ 61 PT_ERRORc (parser, result, er_msg()); \ 65 PT_ERRORm (parser, result, MSGCAT_SET_PARSER_RUNTIME, \ 70 parser_free_node (parser, result); \ 95 switch (misc_specifier)
170 pvc2 = e2->info.value.data_value.str;
205 const char *cls_nam =
NULL, *e_nam;
215 next_typs = typs->
next;
228 typs = expected_typs;
284 found = (cls ==
NULL);
373 for (t = entity; t; t = t->
next)
378 new_typ->
next = *
set;
384 if (expected_typs !=
NULL)
387 expected_typs =
NULL;
394 if (expected_typs !=
NULL)
397 expected_typs =
NULL;
419 const char *class_name =
NULL;
437 if (class_name ==
NULL)
443 name =
pt_name (parser, class_name);
529 if (default_value ==
NULL)
554 if (data_type ==
NULL)
582 char *json_body =
NULL;
714 char *printed_bit =
NULL;
718 max_length = ((size + 3) / 4) + 4;
720 if (printed_bit ==
NULL)
738 size =
strlen (printed_bit);
988 for (element = values, indx = 0; element !=
NULL; element = element->
next, indx++)
1041 for (element = *values; element !=
NULL; element = element->
next)
1091 int more_type_info_needed;
1131 DB_TYPE expected_db_type, val_type;
1148 || (expected_db_type !=
DB_TYPE_NULL && expected_db_type != val_type))
1151 if (expected_db_type !=
DB_TYPE_NULL && expected_db_type != val_type)
1233 more_type_info_needed = 0;
1250 if (more_type_info_needed)
1291 switch (node_db_type)
1338 const char *prefix =
"DATA_TYPE___ ";
1345 stmt = (
char *) malloc (
strlen (prefix) +
strlen (s) + 1);
1353 sprintf (stmt,
"%s%s", prefix, s);
1377 #if defined(ENABLE_UNUSED_FUNCTION) 1434 name =
"unknown data_type";
1471 name =
"timestampltz";
1474 name =
"timestamptz";
1481 name =
"datetimetz";
1484 name =
"datetimeltz";
1492 name =
"char varying";
1516 name =
"nchar varying";
1522 name =
"bit varying";
1555 switch (domain_type)
1661 return "unknown data_type";
1691 char *str_val =
NULL;
1692 int str_len = 0, enum_elements_cnt = 0, idx;
1701 while (node !=
NULL)
1703 enum_elements_cnt++;
1707 if (enum_elements_cnt == 0)
1709 enumeration->
count = 0;
1715 if (enum_elements ==
NULL)
1725 while (node !=
NULL)
1736 db_enum = &enum_elements[idx];
1738 str_val = (
char *) malloc (str_len + 1);
1739 if (str_val ==
NULL)
1747 str_val[str_len] = 0;
1759 enumeration->
count = enum_elements_cnt;
1760 enumeration->
elements = enum_elements;
1766 if (enum_elements !=
NULL)
1768 for (--idx; idx >= 0; idx--)
1810 int precision = 0, scale = 0, codeset = 0;
1812 int collation_id = 0;
1821 enumeration.
count = 0;
1825 switch (domain_type)
1890 if (class_obj ==
NULL)
1907 assert (collation_id >= 0);
1935 assert (collation_id >= 0);
1984 retval->
scale = scale;
2033 int precision = 0, scale = 0, codeset = 0, collation_id = 0;
2040 char *raw_schema =
NULL;
2048 enumeration.
count = 0;
2053 switch (domain_type)
2085 if (raw_schema ==
NULL)
2201 retval->
scale = scale;
2258 switch (domain_type)
2486 PT_NODE *init_list = vlist, *c_addr, *p_addr;
2496 for (c_addr = init_list->
next, p_addr = init_list; c_addr !=
NULL; c_addr = c_addr->next, p_addr = p_addr->next)
2498 if (p_addr->info.value.data_value.i < c_addr->info.value.data_value.i)
2500 t = p_addr->info.value.data_value.i;
2501 p_addr->info.value.data_value.i = c_addr->info.value.data_value.i;
2502 c_addr->info.value.data_value.i = t;
2512 if (c_addr->next ==
NULL)
2517 if (c_addr->info.value.data_value.i == c_addr->next->info.value.data_value.i)
2523 c_addr = c_addr->
next;
2795 char *json_body =
NULL;
2799 *data_type_added = 0;
2973 *data_type_added = 1;
3001 int tmp_data_type_added;
3006 if (iterator ==
NULL)
3018 if (!
pt_bind_helper (parser, &tmp, element, &tmp_data_type_added))
3030 if (tmp_data_type_added)
3041 *data_type_added = (set_type !=
NULL);
3069 int data_type_added;
3093 if (parser ==
NULL || count <= 0 || values ==
NULL)
3109 for (val = values, hv = parser->
host_variables, i = 0; i < parser->host_var_count; val++, hv++, i++)
3213 const char *json_body =
NULL;
3251 if (multiset ==
NULL)
3355 bool has_zone =
false;
3441 dst_length = (src_length + 7) / 8;
3450 if (bits_converted != src_length)
3465 dst_length = (src_length + 1) / 2;
3474 if (bits_converted != src_length)
DB_OBJECT * db_find_class(const char *name)
#define SET_PARSER_ERROR_AND_FREE_NODE(parser, result, default_msg_id)
PT_NODE * pt_name(PARSER_CONTEXT *parser_ptr, const char *name)
DB_C_FLOAT db_get_float(const DB_VALUE *value)
struct db_domain_info::char_info char_info
TP_DOMAIN_STATUS tp_value_coerce(const DB_VALUE *src, DB_VALUE *dest, const TP_DOMAIN *desired_domain)
int db_make_json(DB_VALUE *value, JSON_DOC *json_document, bool need_clear)
#define DB_DATETIMETZ_PRECISION
int db_make_datetime(DB_VALUE *value, const DB_DATETIME *datetime)
DB_VALUE * pt_db_value_initialize(PARSER_CONTEXT *parser, PT_NODE *value, DB_VALUE *db_value, int *more_type_info_needed)
#define DB_GET_ENUM_ELEM_STRING(elem)
MISC_OPERAND pt_misc_to_qp_misc_operand(PT_MISC_TYPE misc_specifier)
DB_COLLECTION * db_get_set(const DB_VALUE *value)
int db_value_scale(const DB_VALUE *value)
#define LANG_SYS_COLLATION
int db_json_val_from_str(const char *raw_str, const int str_size, DB_VALUE *json_val)
int db_timestamptz_to_string(char *buf, int bufsize, DB_TIMESTAMP *utime, const TZ_ID *tz_id)
const char * pt_node_to_db_domain_name(PT_NODE *node)
#define DB_SET_ENUM_ELEM_STRING(elem, str)
TP_DOMAIN tp_Variable_domain
#define PT_IS_CHAR_STRING_TYPE(t)
TP_DOMAIN * expected_domain
#define PT_ERRORm(parser, node, setNo, msgNo)
#define PT_WARNINGmf2(parser, node, setNo, msgNo, arg1, arg2)
const char * db_get_class_name(DB_OBJECT *class_)
DB_SET * db_seq_create(MOP classop, const char *name, int size)
#define MSGCAT_SEMANTIC_DATA_OVERFLOW_ON
DB_CONST_C_BIT db_get_bit(const DB_VALUE *value, int *length)
int db_date_to_string(char *buf, int bufsize, DB_DATE *date)
DB_DOMAIN * pt_type_enum_to_db_domain(const PT_TYPE_ENUM t)
#define PT_ERROR(parser, node, msg)
PARSER_VARCHAR * pt_append_nulstring(const PARSER_CONTEXT *parser, PARSER_VARCHAR *bstring, const char *nulstring)
int db_make_bigint(DB_VALUE *value, const DB_BIGINT num)
int db_get_int(const DB_VALUE *value)
int db_string_to_datetimetz(const char *str, DB_DATETIMETZ *dt_tz, bool *has_zone)
int db_is_vclass(DB_OBJECT *op)
#define ER_REFERENCE_TO_NON_REFERABLE_NOT_ALLOWED
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)
void set_iterator_free(SET_ITERATOR *it)
int db_seq_put(DB_SET *set, int index, DB_VALUE *value)
#define MSGCAT_SEMANTIC_OUT_OF_MEMORY
int db_get_string_collation(const DB_VALUE *value)
DB_VALUE * pt_seq_value_to_db(PARSER_CONTEXT *parser, PT_NODE *values, DB_VALUE *db_value, PT_NODE **el_types)
PT_GET_XACTION_INFO get_xaction
char * db_json_get_json_body_from_document(const JSON_DOC &doc)
int db_value_clone(DB_VALUE *src, DB_VALUE *dest)
void db_value_domain_init_default(DB_VALUE *value, const DB_TYPE type)
enum pt_type_enum PT_TYPE_ENUM
int db_get_enum_string_size(const DB_VALUE *value)
#define MSGCAT_RUNTIME_BAD_TIME
int db_string_to_datetime(const char *str, DB_DATETIME *datetime)
char * db_get_json_raw_body(const DB_VALUE *value)
int db_make_object(DB_VALUE *value, DB_C_OBJECT *obj)
DB_DOMAIN * pt_node_data_type_to_db_domain(PARSER_CONTEXT *parser, PT_NODE *dt, PT_TYPE_ENUM type)
#define DB_TIME_PRECISION
PARSER_CONTEXT * parser_create_parser(void)
#define ER_SM_DOMAIN_NOT_A_CLASS
PT_TYPE_ENUM pt_db_to_type_enum(const DB_TYPE t)
const char * pt_type_enum_to_db_domain_name(const PT_TYPE_ENUM t)
int db_timestampltz_to_string(char *buf, int bufsize, DB_TIMESTAMP *utime)
int vid_oid_to_object(const DB_VALUE *value, DB_OBJECT **mop)
DB_VALUE * pt_host_var_db_value(PARSER_CONTEXT *parser, PT_NODE *hv)
SM_DEFAULT_VALUE default_value
#define DB_SET_ENUM_ELEM_SHORT(elem, sv)
PT_NODE * pt_bind_type_from_dbval(PARSER_CONTEXT *parser, PT_NODE *node, DB_VALUE *val)
PARSER_VARCHAR * pt_append_bytes(const PARSER_CONTEXT *parser, PARSER_VARCHAR *old_string, const char *new_tail, const int new_tail_length)
#define MSGCAT_RUNTIME_PARM_IS_NOT_SET
DB_DATETIMETZ * db_get_datetimetz(const DB_VALUE *value)
int db_make_datetimeltz(DB_VALUE *value, const DB_DATETIME *datetime)
int set_iterator_next(SET_ITERATOR *it)
int db_make_sequence(DB_VALUE *value, DB_C_SET *set)
DB_DOMAIN * pt_node_to_db_domain(PARSER_CONTEXT *parser, PT_NODE *node, const char *class_name)
void pt_set_host_variables(PARSER_CONTEXT *parser, int count, DB_VALUE *values)
DB_SET * db_set_create_multi(MOP classop, const char *name)
PT_NODE * pt_sort_in_desc_order(PT_NODE *vlist)
#define DB_VALUE_PRECISION(value)
#define DB_SHORT_PRECISION
DB_VALUE * host_variables
void pt_add_type_to_set(PARSER_CONTEXT *parser, const PT_NODE *typs, PT_NODE **set)
int db_make_elo(DB_VALUE *value, DB_TYPE type, const DB_ELO *elo)
#define DB_DEFAULT_NUMERIC_SCALE
struct parser_context::@134 flag
#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)
#define DB_DATETIME_DECIMAL_SCALE
#define DB_FLOAT_DECIMAL_PRECISION
#define MSGCAT_SEMANTIC_CANT_COERCE_TO
void parser_free_parser(PARSER_CONTEXT *parser)
#define REINTERPRET_CAST(dest_type, expr)
DB_TIMESTAMPTZ * db_get_timestamptz(const DB_VALUE *value)
#define MSGCAT_RUNTIME_INVALID_JSON
int db_make_short(DB_VALUE *value, const DB_C_SHORT num)
DB_DEFAULT_EXPR_TYPE default_expr_type
static PT_NODE * pt_set_elements_to_value(PARSER_CONTEXT *parser, const DB_VALUE *val)
void pt_report_to_ersys(const PARSER_CONTEXT *parser, const PT_ERROR_TYPE error_type)
DB_VALUE * pt_set_value_to_db(PARSER_CONTEXT *parser, PT_NODE **values, DB_VALUE *db_value, PT_NODE **el_types)
DB_TYPE pt_type_enum_to_db(const PT_TYPE_ENUM t)
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)
DB_MONETARY * db_get_monetary(const DB_VALUE *value)
int db_string_to_time(const char *str, DB_TIME *time)
DB_DEFAULT_EXPR default_expr
int pt_get_varchar_length(const PARSER_VARCHAR *string)
void er_set(int severity, const char *file_name, const int line_no, int err_id, int num_args,...)
int db_set_get(DB_SET *set, int index, DB_VALUE *value)
int db_value_put_encoded_time(DB_VALUE *value, const DB_TIME *time)
#define CAST_POINTER_TO_NODE(p)
int obt_quit(OBJ_TEMPLATE *template_ptr)
PT_OP_TYPE pt_op_type_from_default_expr_type(DB_DEFAULT_EXPR_TYPE expr_type)
PARSER_VARCHAR * json_schema
#define PT_ERRORmf2(parser, node, setNo, msgNo, arg1, arg2)
#define DB_DATETIME_PRECISION
int db_make_monetary(DB_VALUE *value, const DB_CURRENCY type, const double amount)
#define DOM_SET_ENUM_ELEMENTS(dom, elems)
#define LANG_COERCIBLE_CODESET
#define DB_SET_ENUM_ELEM_STRING_SIZE(elem, sz)
int qstr_hex_to_bin(char *dest, int dest_size, const char *src, int src_size)
#define DB_DOUBLE_DECIMAL_PRECISION
#define MSGCAT_RUNTIME_HOSTVAR_INDEX_ERROR
int db_make_set(DB_VALUE *value, DB_C_SET *set)
struct db_domain_info::numeric_info numeric_info
void pt_evaluate_tree(PARSER_CONTEXT *parser, PT_NODE *tree, DB_VALUE *db_values, int values_count)
char * db_private_strdup(THREAD_ENTRY *thrd, const char *s)
int db_make_multiset(DB_VALUE *value, DB_C_SET *set)
PT_TYPE_ENUM virt_type_enum
const char * pt_show_type_enum(PT_TYPE_ENUM t)
#define TP_DOMAIN_SELF_REF
#define ER_OUT_OF_VIRTUAL_MEMORY
#define MSGCAT_SET_PARSER_RUNTIME
DB_TYPE db_value_type(const DB_VALUE *value)
PT_NODE ** parser_parse_string(PARSER_CONTEXT *parser, const char *buffer)
#define DB_INTEGER_PRECISION
int db_json_get_json_from_str(const char *json_raw, JSON_DOC *&doc, size_t json_raw_length)
int intl_identifier_casecmp(const char *str1, const char *str2)
#define DB_VALUE_DOMAIN_TYPE(value)
const char * db_error_string(int level)
PT_NODE * pt_sm_attribute_default_value_to_node(PARSER_CONTEXT *parser, const SM_ATTRIBUTE *sm_attr)
#define db_get_json_schema(v)
#define MSGCAT_SEMANTIC_INVALID_BITSTRING
DB_DOMAIN * pt_data_type_to_db_domain(PARSER_CONTEXT *parser, PT_NODE *dt, const char *class_name)
DB_OBJECT * db_get_object(const DB_VALUE *value)
int db_make_timestamptz(DB_VALUE *value, const DB_C_TIMESTAMPTZ *ts_tz_val)
static PT_NODE * pt_bind_set_type(PARSER_CONTEXT *parser, PT_NODE *node, DB_VALUE *val, int *data_type_added)
TP_DOMAIN_STATUS tp_value_cast(const DB_VALUE *src, DB_VALUE *dest, const TP_DOMAIN *desired_domain, bool implicit_coercion)
#define TP_DOMAIN_TYPE(dom)
PT_DATA_TYPE_INFO data_type
unsigned short db_get_enum_short(const DB_VALUE *value)
const char * er_msg(void)
#define MSGCAT_RUNTIME_UNDEFINED_CONVERSION
#define LANG_COERCIBLE_COLL
DB_OBJECT * db_get_class(MOP obj)
CUBRID_STMT_TYPE pt_node_to_cmd_type(PT_NODE *node)
const char * pr_type_name(DB_TYPE id)
#define MSGCAT_RUNTIME_BAD_NUMERIC
DB_AUTH pt_auth_to_db_auth(const PT_NODE *auth)
int pt_is_reference_to_reusable_oid(DB_VALUE *val)
int db_set_add(DB_SET *set, DB_VALUE *value)
TP_DOMAIN * tp_domain_cache(TP_DOMAIN *transient)
#define PT_ERRORc(parser, node, msg)
#define db_private_free_and_init(thrd, ptr)
int db_value_put_encoded_date(DB_VALUE *value, const DB_DATE *date)
DB_SET * db_set_create_basic(MOP classop, const char *name)
#define PT_IS_COLLECTION_TYPE(t)
short db_value_is_in_workspace
PT_AUTH_CMD_INFO auth_cmd
#define db_private_free(thrd, ptr)
#define db_private_alloc(thrd, size)
int tp_domain_add(TP_DOMAIN **dlist, TP_DOMAIN *domain)
int db_elo_copy_structure(const DB_ELO *src, DB_ELO *dest)
need_clear_type need_clear
#define DB_TIMESTAMP_PRECISION
#define MSGCAT_RUNTIME_UNIMPLEMENTED_CONV
int db_set_size(DB_SET *set)
DB_DOMAIN * pt_string_to_db_domain(const char *s, const char *class_name)
int count(int &result, const cub_regex_object ®, const std::string &src, const int position, const INTL_CODESET codeset)
#define db_utime_to_string
int pr_clear_value(DB_VALUE *value)
#define MSGCAT_CATALOG_CUBRID
DB_BIGINT db_get_bigint(const DB_VALUE *value)
DB_TYPE pt_node_to_db_type(PT_NODE *node)
#define DB_MONETARY_DECIMAL_PRECISION
#define DB_BIGINT_PRECISION
int vid_vobj_to_object(const DB_VALUE *vobj, DB_OBJECT **mop)
int db_time_to_string(char *buf, int bufsize, DB_TIME *time)
#define DB_DEFAULT_NUMERIC_PRECISION
TP_DOMAIN ** host_var_expected_domains
PT_NODE * pt_add_class_to_entity_list(PARSER_CONTEXT *parser, DB_OBJECT *class_, PT_NODE *entity, const PT_NODE *parent, UINTPTR id, PT_MISC_TYPE meta_class)
int db_datetime_to_string(char *buf, int bufsize, DB_DATETIME *datetime)
DB_VALUE * pt_find_value_of_label(const char *label)
bool pt_is_same_enum_data_type(PT_NODE *dt1, PT_NODE *dt2)
int db_make_datetimetz(DB_VALUE *value, const DB_DATETIMETZ *datetimetz)
struct db_domain_info::general_info general_info
int db_bit_string(const DB_VALUE *the_db_bit, const char *bit_format, char *string, int max_size)
#define MSGCAT_RUNTIME_BAD_UTIME
static PT_NODE * pt_bind_helper(PARSER_CONTEXT *parser, PT_NODE *node, DB_VALUE *val, int *data_type_added)
PT_NODE * parser_append_node(PT_NODE *node, PT_NODE *list)
char * pt_short_print(PARSER_CONTEXT *parser, const PT_NODE *node)
PT_NODE * parser_init_node(PT_NODE *node, PT_NODE_TYPE node_type)
DB_ENUMERATION enumeration
DB_CONST_C_CHAR db_get_enum_string(const DB_VALUE *value)
#define TP_IS_CHAR_TYPE(typeid)
TP_DOMAIN_COLL_ACTION collation_flag
PT_NODE * parser_new_node(PARSER_CONTEXT *parser, PT_NODE_TYPE node_type)
static void error(const char *msg)
int db_make_float(DB_VALUE *value, const DB_C_FLOAT num)
void parser_free_node(const PARSER_CONTEXT *parser, PT_NODE *node)
int qstr_bit_to_bin(char *dest, int dest_size, const char *src, int src_size)
#define DB_DEFAULT_PRECISION
const char * pt_data_type_to_db_domain_name(const PT_NODE *dt)
int db_json_validate_json(const char *json_body)
TP_DOMAIN * tp_domain_construct(DB_TYPE domain_type, DB_OBJECT *class_obj, int precision, int scale, TP_DOMAIN *setdomain)
const unsigned char * pt_get_varchar_bytes(const PARSER_VARCHAR *string)
int db_string_to_timestampltz(const char *str, DB_TIMESTAMP *ts)
char * numeric_db_value_print(const DB_VALUE *val, char *buf)
short db_value_is_initialized
void pt_data_type_init_value(const PT_NODE *node, DB_VALUE *value_out)
int pr_clone_value(const DB_VALUE *src, DB_VALUE *dest)
void parser_free_tree(PARSER_CONTEXT *parser, PT_NODE *tree)
enum pt_currency_types PT_CURRENCY
int db_string_to_datetimeltz(const char *str, DB_DATETIME *datetime)
#define MSGCAT_SET_PARSER_SEMANTIC
#define DB_SET_ENUM_ELEM_CODESET(elem, cs)
#define free_and_init(ptr)
#define MSGCAT_RUNTIME_BAD_DATE
int db_make_timestampltz(DB_VALUE *value, const DB_C_TIMESTAMP ts_val)
DB_DATE * db_get_date(const DB_VALUE *value)
DB_ENUM_ELEMENT * elements
#define DB_DATE_PRECISION
int db_value_precision(const DB_VALUE *value)
enum intl_codeset INTL_CODESET
JSON_VALIDATOR * json_validator
int db_json_load_validator(const char *json_schema_raw, JSON_VALIDATOR *&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)
void tp_domain_clear_enumeration(DB_ENUMERATION *enumeration)
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
DB_VALUE * set_iterator_value(SET_ITERATOR *it)
DB_CURRENCY db_value_get_monetary_currency(const DB_VALUE *value)
#define DB_VALUE_TYPE(value)
int db_make_null(DB_VALUE *value)
char * msgcat_message(int cat_id, int set_id, int msg_id)
#define DB_TIMESTAMPTZ_PRECISION
#define DB_IS_NULL(value)
static int pt_get_enumeration_from_data_type(PARSER_CONTEXT *parser, PT_NODE *dt, DB_ENUMERATION *enumeration)
int db_make_double(DB_VALUE *value, const DB_C_DOUBLE num)
DB_DATETIME * db_get_datetime(const DB_VALUE *value)
#define PT_INTERNAL_ERROR(parser, what)
int db_value_clear(DB_VALUE *value)
int db_make_timestamp(DB_VALUE *value, const DB_C_TIMESTAMP timeval)
int db_make_int(DB_VALUE *value, const int num)
#define db_string_to_utime
struct db_object * class_mop
#define pt_has_error(parser)
PT_NODE * pt_domain_to_data_type(PARSER_CONTEXT *parser, DB_DOMAIN *domain)
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 tp_domain_attach(TP_DOMAIN **dlist, TP_DOMAIN *domain)
#define PT_HAS_COLLATION(t)
int db_string_to_timestamptz(const char *str, DB_TIMESTAMPTZ *ts_tz, bool *has_zone)
static PT_NODE * pt_get_object_data_type(PARSER_CONTEXT *parser, const DB_VALUE *val)
DB_TIME * db_get_time(const DB_VALUE *value)
#define DOM_SET_ENUM_ELEMS_COUNT(dom, cnt)
int numeric_coerce_string_to_num(const char *astring, int astring_length, INTL_CODESET codeset, DB_VALUE *result)
PT_ENUM_ELEMENT enumeration
PT_NODE * pt_dbval_to_value(PARSER_CONTEXT *parser, const DB_VALUE *val)
DB_C_POINTER db_get_pointer(const DB_VALUE *value)
DB_VALUE * pt_value_to_db(PARSER_CONTEXT *parser, PT_NODE *value)
TP_DOMAIN * tp_domain_new(DB_TYPE type)
PT_HOST_VAR_INFO host_var
TP_DOMAIN_COLL_ACTION collation_flag
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)
int db_string_to_date(const char *str, DB_DATE *date)
PT_NODE * parser_copy_tree_list(PARSER_CONTEXT *parser, PT_NODE *tree)
SET_ITERATOR * set_iterate(DB_COLLECTION *set)
DB_CONST_C_CHAR db_get_string(const DB_VALUE *value)
#define PT_ERRORmf(parser, node, setNo, msgNo, arg1)
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)
int db_datetimeltz_to_string(char *buf, int bufsize, DB_DATETIME *dt)
int db_value_domain_init(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale)
int db_value_alter_type(DB_VALUE *value, const DB_TYPE type)