48 #if defined (SUPPRESS_STRLEN_WARNING) 49 #define strlen(s1) ((int) strlen(s1)) 53 #define BITS_TO_BYTES(bit_cnt) (((bit_cnt) + 7) / 8) 77 OR_MVCC_REP_SIZE + OR_CHN_SIZE + OR_MVCCID_SIZE + OR_MVCCID_SIZE + OR_MVCC_PREV_VERSION_LSA_SIZE
83 #if defined(ENABLE_UNUSED_FUNCTION) 84 static char *unpack_str_array (
char *buffer,
char ***string_array,
int count);
115 if (properties ==
NULL || name ==
NULL || pvalue ==
NULL)
122 for (i = 0; i < max && !found && error ==
NO_ERROR; i += 2)
137 if (tmp_str && strcmp (name, tmp_str) == 0)
298 start = &record->
data[offset];
309 len = (int) *((
unsigned char *) start);
365 unsigned int new_bits = 0;
458 int repid_and_flag_bits = 0;
462 return repid_and_flag_bits;
481 repid_and_flags = repid;
495 #if !defined (SERVER_MODE) 505 #if defined(ENABLE_UNUSED_FUNCTION) 513 or_get_bound_bit (
char *bound_bits,
int element)
529 or_put_bound_bit (
char *bound_bits,
int element,
int bound)
535 mask = 1 << (element & 7);
536 byte = bound_bits + (element >> 3);
541 *byte = value | mask;
545 *byte = value & ~mask;
643 if (length == 0 || length == -1 || length ==
DB_INT32_MAX)
649 buf->
endptr = data + length;
667 bits = (UINTPTR) buf->
ptr & 3;
670 rc =
or_pad (buf, 4 - bits);
687 bits = (UINTPTR) (buf->
ptr) & 3;
707 bits = (UINTPTR) (buf->
ptr) & 7;
831 int net_charlen = 0, compress_buffer_size;
832 char *compressed_string =
NULL;
834 bool compressable =
false;
835 int compressed_length = 0;
858 if (compressable ==
true)
862 compressed_length = 0;
863 goto after_compression;
869 compress_buffer_size = LZ4_compressBound (charlen);
870 compressed_string = (
char *) malloc (compress_buffer_size);
871 if (compressed_string ==
NULL)
879 compressed_length = LZ4_compress_default (
string, compressed_string, charlen, compress_buffer_size);
880 if (compressed_length <= 0)
888 assert (compressed_length <= compress_buffer_size);
890 if (compressed_length >= charlen - 8)
893 compressed_length = 0;
897 assert (compressed_length < charlen - 8);
915 if (compressed_length == 0)
928 rc =
or_put_data (buf, compressed_string, (
int) compressed_length);
961 if (compressed_string !=
NULL)
976 #if defined(ENABLE_UNUSED_FUNCTION) 984 or_get_varchar (
OR_BUF * buf,
int *length_ptr)
1011 if (length_ptr !=
NULL)
1013 *length_ptr = charlen;
1040 int charlen, compressed_length = 0, decompressed_length = 0;
1044 if (compressed_length > 0)
1046 charlen = compressed_length;
1050 charlen = decompressed_length;
1143 len += ((bitlen + 7) / 8);
1191 memcpy (&save_buf, &buf->
env, sizeof (save_buf));
1196 status = _setjmp (buf->
env);
1228 memcpy (&buf->
env, &save_buf, sizeof (save_buf));
1229 _longjmp (buf->
env, status);
1235 memcpy (&buf->
env, &save_buf, sizeof (save_buf));
1300 #if defined(ENABLE_UNUSED_FUNCTION) 1308 or_get_varbit (
OR_BUF * buf,
int *length_ptr)
1310 int bitlen, charlen;
1335 if (length_ptr !=
NULL)
1337 *length_ptr = bitlen;
1365 int net_bitlen = 0, bitlen = 0;
2020 switch (monetary->
type)
2169 (void) memcpy (buf->
ptr, data, length);
2191 (void) memcpy (data, buf->
ptr, length);
2238 #if defined(ENABLE_UNUSED_FUNCTION) 2249 or_length_string (
char *
string)
2256 len =
strlen (
string) + 1;
2280 int header, len, bits, pad;
2355 (void) memset (buf->
ptr, 0, length);
2413 if (new_ptr > buf->
endptr)
2458 int i, offset, offset2;
2467 for (i = 0; i < nvars; i++)
2472 vars[
i].
length = offset2 - offset;
2524 if (vars ==
NULL && nvars)
2588 #if defined(ENABLE_UNUSED_FUNCTION) 2596 or_pack_bigint (
char *ptr,
DB_BIGINT number)
2608 or_unpack_bigint (
char *ptr,
DB_BIGINT * number)
2797 #if defined(ENABLE_UNUSED_FUNCTION) 2805 or_pack_time (
char *ptr,
DB_TIME time)
2820 or_unpack_time (
char *ptr,
DB_TIME * time)
2835 or_pack_utime (
char *ptr,
DB_UTIME utime)
2850 or_unpack_utime (
char *ptr,
DB_UTIME * utime)
2865 or_pack_date (
char *ptr,
DB_DATE date)
2880 or_unpack_date (
char *ptr,
DB_DATE * date)
2910 or_unpack_monetary (
char *ptr,
DB_MONETARY * money)
2935 for (i = 0; i < n; i++)
2997 for (i = 0; i < n; i++)
3041 for (i = 0; i < n; i++)
3114 for (i = 0; i < n; i++)
3184 #if !defined(NDEBUG) 3230 #if !defined(NDEBUG) 3327 len =
strlen (
string) + 1;
3339 (void) memcpy (ptr,
string, len);
3341 (void) memset (ptr,
'\0', pad);
3398 memcpy (ptr, stream, len);
3400 memset (ptr,
'\0', pad);
3439 (void) memcpy (ptr,
string, len);
3441 (void) memset (ptr,
'\0', pad);
3478 (void) memcpy (new_, ptr, length);
3504 memcpy (stream, ptr, len);
3535 new_ = (
char *) malloc (length *
sizeof (
char));
3544 (void) memcpy (new_, ptr, length);
3593 int total, len, bits, pad;
3599 if (strlenp !=
NULL)
3601 len = (*strlenp =
strlen (
string)) + 1;
3605 len =
strlen (
string) + 1;
3620 if (strlenp !=
NULL)
3656 if (json_validator ==
NULL)
3672 int total, bits, pad;
3687 total += (int) len + pad;
3727 (void) memcpy (ptr, bools, size);
3728 ptr += (size + pad);
3763 (void) memcpy (new_, ptr, length);
3787 int total, bits, pad;
3802 total += (size + pad);
3808 #if defined(ENABLE_UNUSED_FUNCTION) 3815 or_align_length (
int length)
3817 int total, len, bits, pad;
3854 *buffer++ = ((*source & 0xf0) >> 4) +
'@';
3855 *buffer++ = ((*source++ & 0xf) +
'@');
3875 c1 = ((*buffer++ -
'@') << 4) & 0xf0;
3876 c2 = (*buffer++ -
'@') & 0xf;
3891 #define OR_DOMAIN_TYPE_MASK (0x3F) 3892 #define OR_DOMAIN_NEXT_FLAG (0x80) 3894 #define OR_DOMAIN_NULL_FLAG (0x40) 3895 #define OR_DOMAIN_DESC_FLAG (0x40) 3897 #define OR_DOMAIN_CLASS_OID_FLAG (0x100) 3898 #define OR_DOMAIN_SET_DOMAIN_FLAG (0x100) 3899 #define OR_DOMAIN_BUILTIN_FLAG (0x100) 3900 #define OR_DOMAIN_ENUMERATION_FLAG (0x100) 3901 #define OR_DOMAIN_ENUM_COLL_FLAG (0x200) 3902 #define OR_DOMAIN_SCHEMA_FLAG (0x400) 3904 #define OR_DOMAIN_SCALE_MASK (0xFF00) 3905 #define OR_DOMAIN_SCALE_SHIFT (8) 3906 #define OR_DOMAIN_SCALE_MAX (0xFF) 3908 #define OR_DOMAIN_CODSET_MASK (0xFF00) 3909 #define OR_DOMAIN_CODSET_SHIFT (8) 3911 #define OR_DOMAIN_PRECISION_MASK (0xFFFF0000) 3912 #define OR_DOMAIN_PRECISION_SHIFT (16) 3913 #define OR_DOMAIN_PRECISION_MAX (0xFFFF) 3915 #define OR_DOMAIN_COLLATION_MASK (0x000000FF) 3916 #define OR_DOMAIN_COLL_ENFORCE_FLAG (0x80000000) 3917 #define OR_DOMAIN_COLL_LEAVE_FLAG (0x40000000) 3936 int size, precision, scale;
3948 for (d = domain; d !=
NULL; d = d->
next)
4007 if (include_classoids)
4066 unsigned int carrier, extended_precision, extended_scale;
4067 int precision, scale;
4068 int has_oid, has_subdomain, has_enum;
4074 unsigned int collation_storage;
4097 for (d = domain; d !=
NULL; d = d->
next)
4123 extended_precision = 0;
4128 has_collation =
false;
4151 extended_scale = d->
scale;
4168 has_collation =
true;
4204 if (include_classoids)
4237 has_collation =
true;
4242 has_collation =
false;
4273 extended_precision = precision;
4304 if (extended_precision)
4379 unsigned int carrier, precision, scale, codeset, has_classoid, has_setdomain, has_enum, collation_id,
4382 bool more, auto_precision, is_desc, has_collation;
4386 unsigned char collation_flag;
4388 domain = last =
NULL;
4403 if (is_null !=
NULL)
4436 auto_precision =
false;
4437 has_collation =
false;
4476 has_collation =
true;
4486 auto_precision =
true;
4606 #if !defined (SERVER_MODE) 4674 #if !defined (NDEBUG) 4698 for (td = domain, next =
NULL; td !=
NULL; td = next)
4724 unsigned int carrier,
index;
4725 unsigned int precision, scale, codeset = 0, collation_id;
4730 unsigned int collation_storage;
4731 unsigned char collation_flag;
4733 domain = last = dom = setdomain =
NULL;
4734 precision = scale = 0;
4736 char *schema_raw =
NULL;
4750 if (is_null !=
NULL)
4903 #if !defined (SERVER_MODE) 4925 if (setdomain ==
NULL)
4943 for (td = setdomain, next =
NULL; td !=
NULL; td = next)
5020 if (schema_raw !=
NULL)
5048 #if !defined (SERVER_MODE) 5061 #if !defined (NDEBUG) 5075 #if !defined (NDEBUG) 5084 domain = last = dom;
5099 for (td = domain, next =
NULL; td !=
NULL; td = next)
5126 domain = caller_dom;
5163 rc =
or_put_domain (&buf, domain, include_classoids, is_null);
5190 if (domain_ptr !=
NULL)
5192 *domain_ptr = domain;
5217 unsigned int carrier;
5249 int *element_tags,
int *element_size)
5276 if (element_domain !=
NULL && element_domain->
next ==
NULL)
5287 if (*element_size >= 0)
5307 *element_tags = !homogeneous;
5338 int element_tags,
int common_sub_header)
5340 unsigned int header;
5343 header = set_type & 0xFF;
5349 else if (bound_bits)
5362 if (common_sub_header)
5390 int *element_tags,
int *common_sub)
5392 unsigned int header;
5403 if (common_sub !=
NULL)
5426 int domain, bound_bits, offset_table, element_tags, sub_header;
5428 or_get_set_header (buf, &set_type, &count, &domain, &bound_bits, &offset_table, &element_tags, &sub_header);
5435 else if (bound_bits)
5479 int len, element_size, bound_bits, offset_table, element_tags,
i, bits;
5496 or_packed_set_info (set_type, set_domain, include_domain, &bound_bits, &offset_table, &element_tags, &element_size);
5504 else if (bound_bits)
5509 if (set_domain !=
NULL && include_domain)
5568 unsigned int bound_word;
5569 int element_tags, element_size, bound_bits, offset_table;
5570 char *set_start, *element_start, *offset_ptr, *bound_ptr;
5571 int i, offset, bit = 0, len, is_null, length, bits;
5587 if (set_domain ==
NULL)
5593 set_start = buf->
ptr;
5594 or_packed_set_info (set_type, set_domain, include_domain, &bound_bits, &offset_table, &element_tags, &element_size);
5597 offset_table, element_tags, 0);
5608 offset_ptr = buf->
ptr;
5612 else if (bound_bits)
5614 bound_ptr = buf->
ptr;
5632 offset = (int) (buf->
ptr - set_start);
5644 if (offset_ptr !=
NULL)
5650 else if (bound_ptr !=
NULL)
5655 bound_word |= 1L << bit;
5673 element_start = buf->
ptr;
5675 if (bound_ptr !=
NULL && is_null)
5681 or_pad (buf, element_size);
5689 or_put_value (buf, value, offset_table, element_tags, 0);
5702 offset += (int) (buf->
ptr - element_start);
5706 if (offset_ptr !=
NULL)
5711 if (bound_ptr !=
NULL && bit != 0x1f)
5747 int size, fixed_element_size, element_size, offset, offset2, bit,
i;
5749 unsigned int bound_word;
5750 char *offset_ptr, *bound_ptr;
5752 int has_domain, bound_bits, offset_table, element_tags;
5756 set_start = buf->
ptr;
5759 or_get_set_header (buf, &set_type, &size, &has_domain, &bound_bits, &offset_table, &element_tags,
NULL);
5783 offset_ptr = buf->
ptr;
5786 else if (bound_bits)
5788 bound_ptr = buf->
ptr;
5805 element_domain =
NULL;
5806 fixed_element_size = -1;
5824 else if (bound_bits)
5830 for (i = 0; i < size; i++)
5835 if (offset_ptr !=
NULL)
5839 element_size = offset2 - offset;
5842 else if (bound_ptr !=
NULL)
5844 element_size = fixed_element_size;
5846 if ((bound_word & (1L << bit)) == 0)
5861 if (element_size == 0)
5876 if (bound_ptr !=
NULL)
5893 or_get_value (buf, &value, element_domain, element_size,
true);
5913 length = (int) (buf->
ptr - set_start);
5938 int size, fixed_element_size, element_size, offset, offset2, bit;
5939 int length, bits,
i, total_length;
5940 unsigned int bound_word;
5941 char *offset_ptr, *bound_ptr;
5943 int has_domain, bound_bits, offset_table, element_tags;
5947 set_start = buf->
ptr;
5950 or_get_set_header (buf, &disk_set_type, &size, &has_domain, &bound_bits, &offset_table, &element_tags,
NULL);
5954 *set_type = disk_set_type;
5965 offset_ptr = buf->
ptr;
5968 else if (bound_bits)
5970 bound_ptr = buf->
ptr;
5985 element_domain =
NULL;
5986 fixed_element_size = -1;
6002 else if (bound_bits)
6008 for (i = 0; i < size; i++)
6012 if (offset_ptr !=
NULL)
6016 element_size = offset2 - offset;
6019 else if (bound_ptr !=
NULL)
6021 element_size = fixed_element_size;
6023 if ((bound_word & (1L << bit)) == 0)
6045 if (element_size == 0)
6051 if (bound_ptr !=
NULL)
6056 else if (element_size != -1)
6078 length = (int) (buf->
ptr - set_start);
6085 total_length = (int) (buf->
ptr - set_start);
6088 buf->
ptr = set_start;
6090 return total_length;
6130 if (!collapse_null || include_domain)
6191 char *start, length, bits;
6212 if (!collapse_null || include_domain)
6217 rc =
or_put_domain (buf, domain, include_domain_classoids, 1);
6233 rc =
or_put_domain (buf, domain, include_domain_classoids, 0);
6258 length = (int) (buf->
ptr - start);
6262 rc =
or_pad (buf, 4 - bits);
6298 int is_null, total, pad;
6348 if (is_null && value)
6388 total = (int) (buf->
ptr - start);
6392 pad = expected - total;
6394 else if (expected < 0)
6397 pad = 4 - (total & 3);
6427 or_init (&orbuf, aligned_buf, 0);
6440 char *start, length, bits;
6441 char *ptr_to_packed_value;
6457 ptr_to_packed_value = buf->
ptr;
6502 if (packed_len_except_alignment)
6505 *packed_len_except_alignment = (int) (buf->
ptr - ptr_to_packed_value);
6508 length = (int) (buf->
ptr - start);
6512 rc =
or_pad (buf, 4 - bits);
6588 total = (int) (buf->
ptr - start);
6592 pad = 4 - (total & 3);
6680 tmp_recdes = (
RECDES *) malloc (
sizeof (
RECDES) + length);
6681 if (tmp_recdes ==
NULL)
6688 tmp_recdes->
length = length;
6689 tmp_recdes->
data = ((
char *) tmp_recdes) +
sizeof (
RECDES);
6694 *recdes = tmp_recdes;
6795 for (i = 0; i <
count; i++)
6801 *listid_ptr = (
void *) listid;
6924 *(
METHOD_SIG **) method_sig_ptr = method_sig;
6944 #if !defined(NDEBUG) 6983 #if !defined(NDEBUG) 7017 for (n = 0, method_sig = method_sig_list->
method_sig; n < method_sig_list->num_methods;
7018 ++n, method_sig = method_sig->
next)
7083 if (enumeration->
count == 0)
7090 for (idx = 0; idx < enumeration->
count; idx++)
7092 db_enum = &enumeration->
elements[idx];
7116 if (enumeration->
count == 0)
7127 for (idx = 0; idx < enumeration->
count; idx++)
7129 db_enum = &enumeration->
elements[idx];
7157 char *enum_str =
NULL;
7158 const char *value_str =
NULL;
7164 if (enumeration ==
NULL)
7175 enumeration->
count = 0;
7182 if (enum_vals ==
NULL)
7188 for (idx = 0; idx <
count; idx++)
7190 db_enum = &enum_vals[idx];
7208 enum_str = (
char *) malloc (str_size + 1);
7209 if (enum_str ==
NULL)
7220 memcpy (enum_str, value_str, str_size);
7226 enum_str[str_size] = 0;
7244 if (enum_vals !=
NULL)
7246 for (--idx; idx >= 0; idx--)
7254 enumeration->
count = 0;
7270 #if defined(ENABLE_UNUSED_FUNCTION) 7280 or_packed_string_array_length (
int count,
const char **string_array)
7285 for (i = 0; i <
count; i++)
7301 or_packed_db_value_array_length (
int count,
DB_VALUE * val)
7306 for (i = 0; i <
count; i++)
7321 or_pack_int_array (
char *buffer,
int count,
int *int_array)
7335 for (i = 0; i <
count; i++)
7351 or_pack_string_array (
char *buffer,
int count,
const char **string_array)
7357 for (i = 0; i <
count; i++)
7372 unpack_str_array (
char *buffer,
char ***string_array,
int count)
7375 char *ptr, **array_p;
7382 *string_array =
NULL;
7388 if (*string_array ==
NULL)
7394 for (array_p = *string_array, i = 0; i <
count; i++, array_p++)
7411 or_unpack_string_array (
char *buffer,
char ***string_array,
int *cnt)
7414 return unpack_str_array (ptr, string_array, *cnt);
7425 or_pack_db_value_array (
char *buffer,
int count,
DB_VALUE * val)
7436 for (i = 0; i <
count; i++)
7451 or_unpack_db_value_array (
char *buffer,
DB_VALUE ** val,
int *count)
7473 for (i = 0; i < *
count; i++)
7647 memset (sha1, 0,
sizeof (*sha1));
7667 #if OR_BYTE_ORDER == OR_LITTLE_ENDIAN 7669 #if !defined (OR_HAVE_NTOHS) 7676 ptr = (
char *) &from;
7677 vptr = (
char *) &to;
7685 #if !defined (OR_HAVE_NTOHL) 7692 ptr = (
char *) &from;
7693 vptr = (
char *) &to;
7703 #if !defined (OR_HAVE_NTOHF) 7710 ptr = (
char *) &from;
7711 vptr = (
char *) &to;
7721 #if !defined (OR_HAVE_NTOHD) 7728 ptr = (
char *) &from;
7729 vptr = (
char *) &to;
7749 ptr = (
char *) &from;
7750 vptr = (
char *) &to;
7763 #if !defined (OR_HAVE_HTONS) 7767 return ntohs (from);
7771 #if !defined (OR_HAVE_HTONL) 7775 return ntohl (from);
7785 #if !defined (OR_HAVE_HTONF) 7804 #if !defined (OR_HAVE_HTOND) 7897 ptr =
or_pack_int (ptr, (
int) vols[iter_vol].volid);
7898 ptr =
or_pack_int (ptr, (
int) vols[iter_vol].type);
7899 ptr =
or_pack_int (ptr, (
int) vols[iter_vol].purpose);
7900 ptr =
or_pack_int (ptr, (
int) vols[iter_vol].npage_used);
7901 ptr =
or_pack_int (ptr, (
int) vols[iter_vol].npage_free);
7911 ptr =
or_pack_int (ptr, (
int) files[i].npage_user);
7912 ptr =
or_pack_int (ptr, (
int) files[i].npage_ftab);
7913 ptr =
or_pack_int (ptr, (
int) files[i].npage_reserved);
7968 (*vols)[iter_vol].volid = (
VOLID) unpacked_value;
7970 (*vols)[iter_vol].type = (
DB_VOLTYPE) unpacked_value;
7974 (*vols)[iter_vol].npage_used = (
DKNPAGES) unpacked_value;
7976 (*vols)[iter_vol].npage_free = (
DKNSECTS) unpacked_value;
7978 if (volname ==
NULL)
8018 len = (int)
strlen (str) + 1;
int or_put_align32(OR_BUF *buf)
char * or_unpack_oid_array(char *ptr, int n, OID **oids)
#define OR_GET_DATE(ptr, value)
#define OR_SET_VAR_OFFSET_SIZE(val, offset_size)
setobj * or_get_set(OR_BUF *buf, TP_DOMAIN *domain)
int or_put_sub_domain(OR_BUF *buf)
int or_advance(OR_BUF *buf, int offset)
#define QFILE_CLEAR_LIST_ID(list_id)
int data_readval(struct or_buf *buf, DB_VALUE *value, const tp_domain *domain, int size, bool copy, char *copy_buf, int copy_buf_len) const
#define OR_BTID_ALIGNED_SIZE
#define OR_PUT_OFFSET(ptr, val)
#define OR_GET_HFID(ptr, hfid)
OR_VARINFO * or_get_var_table_internal(OR_BUF *buf, int nvars, char *(*allocator)(int), int offset_size)
int tp_domain_disk_size(TP_DOMAIN *domain)
#define OR_DOMAIN_SCALE_MASK
#define OR_PUT_OID(ptr, oid)
char * or_unpack_short(char *ptr, short *number)
void OR_PUT_FLOAT(char *ptr, float val)
int or_put_data(OR_BUF *buf, const char *data, int length)
int or_packed_spacedb_size(const SPACEDB_ALL *all, const SPACEDB_ONEVOL *vols, const SPACEDB_FILES *files)
#define DB_GET_ENUM_ELEM_STRING(elem)
int db_value_put_null(DB_VALUE *value)
int pr_Enable_string_compression
#define LANG_GET_BINARY_COLLATION(c)
int or_get_oid(OR_BUF *buf, OID *oid)
int or_put_domain(OR_BUF *buf, TP_DOMAIN *domain, int include_classoids, int is_null)
#define OR_PUT_NULL_LOG_LSA(ptr)
static int or_put_varbit_internal(OR_BUF *buf, const char *string, int bitlen, int align)
STATIC_INLINE int or_get_varchar_compression_lengths(OR_BUF *buf, int *compressed_size, int *decompressed_size) __attribute__((ALWAYS_INLINE))
#define DB_SET_ENUM_ELEM_STRING(elem, str)
int or_get_offset_internal(OR_BUF *buf, int *error, int offset_size)
#define OR_BINARY_MAX_LENGTH
char * or_unpack_int_array(char *ptr, int n, int **number_array)
int or_disk_set_size(OR_BUF *buf, TP_DOMAIN *set_domain, DB_TYPE *set_type)
void or_encode(char *buffer, const char *source, int size)
struct qmgr_temp_file * tfile_vfid
void or_put_set(OR_BUF *buf, setobj *set, int include_domain)
int or_get_datetime(OR_BUF *buf, DB_DATETIME *datetime)
#define ER_IO_LZ4_COMPRESS_FAIL
QFILE_TUPLE_VALUE_TYPE_LIST type_list
int tp_get_fixed_precision(DB_TYPE domain_type)
const char * fileio_get_zip_level_string(FILEIO_ZIP_LEVEL zip_level)
#define OR_DOMAIN_SCALE_MAX
MOP ws_mop(const OID *oid, MOP class_mop)
static int or_put_varchar_internal(OR_BUF *buf, char *string, int charlen, int align)
int data_writeval(struct or_buf *buf, const DB_VALUE *value) const
char * or_pack_bool_array(char *ptr, const bool *bools, int size)
char * or_pack_method_sig_list(char *ptr, void *method_sig_list_ptr)
char * or_pack_mvccid(char *ptr, const MVCCID mvccid)
char * or_unpack_stream(char *ptr, char *stream, size_t len)
char * or_pack_listid(char *ptr, void *listid_ptr)
static int or_varbit_length_internal(int bitlen, int align)
int or_get_json_schema(OR_BUF *buf, REFPTR(char, schema))
#define ER_TF_BUFFER_OVERFLOW
int or_listid_length(void *listid_ptr)
const char * fileio_get_zip_method_string(FILEIO_ZIP_METHOD zip_method)
static char * or_pack_method_sig(char *ptr, void *method_sig_ptr)
unsigned int htonl(unsigned int from)
#define OR_GET_OFFSET(ptr)
int or_header_size(char *ptr)
char * or_pack_string(char *ptr, const char *string)
int or_pad(OR_BUF *buf, int length)
#define OR_GET_LOG_LSA(ptr, lsa)
UINT64 htond(double from)
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)
char * or_unpack_recdes(char *buf, RECDES **recdes)
#define OR_DOMAIN_NULL_FLAG
char * or_pack_double(char *ptr, double number)
#define OR_GET_TIMESTAMPTZ(ptr, ts_tz)
#define OR_MVCC_REPID_MASK
int or_put_date(OR_BUF *buf, DB_DATE *date)
int or_get_monetary(OR_BUF *buf, DB_MONETARY *monetary)
double ntohd(UINT64 from)
struct tp_domain * setdomain
#define OR_BUF_INIT(buf, data, size)
int or_rep_id(RECDES *record)
#define OR_IS_STRING_LENGTH_COMPRESSABLE(str_length)
static TP_DOMAIN * unpack_domain(OR_BUF *buf, int *is_null)
TP_DOMAIN * tp_domain_find_enumeration(const DB_ENUMERATION *enumeration, bool is_desc)
#define OR_PUT_EHID(ptr, ehid)
#define OR_SET_DOMAIN_BIT
#define assert_release(e)
void OR_PUT_DOUBLE(char *ptr, double val)
int or_get_date(OR_BUF *buf, DB_DATE *date)
int setobj_get_element_ptr(COL *col, int index, DB_VALUE **result)
DB_COLLECTION * setobj_get_reference(COL *set)
#define OR_DOMAIN_SCHEMA_FLAG
int or_get_time(OR_BUF *buf, DB_TIME *timeval)
int classobj_get_prop(DB_SEQ *properties, const char *name, DB_VALUE *pvalue)
void setobj_put_domain(COL *set, TP_DOMAIN *domain)
int or_put_oid(OR_BUF *buf, const OID *oid)
#define OR_PUT_NULL_HFID(ptr)
char * or_pack_log_lsa(const char *ptr, const log_lsa *lsa)
#define OID_SET_NULL(oidp)
char * or_pack_mem_value(char *ptr, DB_VALUE *value, int *packed_len_except_alignment)
#define OR_MVCC_FLAG_SHIFT_BITS
TP_DOMAIN * tp_domain_resolve_value(const DB_VALUE *val, TP_DOMAIN *dbuf)
char * or_unpack_listid(char *ptr, void *listid_ptr)
int or_get_utime(OR_BUF *buf, DB_UTIME *timeval)
#define OR_DOMAIN_COLL_ENFORCE_FLAG
char * or_pack_float(char *ptr, float number)
struct or_varinfo OR_VARINFO
TP_DOMAIN * tp_domain_find_charbit(DB_TYPE type, int codeset, int collation_id, unsigned char collation_flag, int precision, bool is_desc)
char * or_pack_hfid(const char *ptr, const HFID *hfid)
UINT64 htoni64(UINT64 from)
char * or_pack_stream(char *ptr, const char *stream, size_t len)
int or_put_varchar(OR_BUF *buf, char *string, int charlen)
#define OR_PUT_SHA1(ptr, value)
char * or_unpack_ehid(char *ptr, EHID *ehid)
#define OR_BOUND_BIT_BYTES(count)
#define ER_TF_BUFFER_UNDERFLOW
#define PTR_ALIGN(addr, boundary)
int set_size(DB_COLLECTION *set)
int or_get_mvccid(OR_BUF *buf, MVCCID *mvccid)
#define OR_GET_UTIME(ptr, value)
int or_packed_enumeration_size(const DB_ENUMERATION *enumeration)
int or_skip_set_header(OR_BUF *buf)
#define OR_DOMAIN_PRECISION_SHIFT
int or_get_value(OR_BUF *buf, DB_VALUE *value, TP_DOMAIN *domain, int expected, bool copy)
float or_get_float(OR_BUF *buf, int *error)
int or_put_utime(OR_BUF *buf, DB_UTIME *timeval)
int or_get_int(OR_BUF *buf, int *error)
#define OR_VAR_OFFSET(obj, index)
int or_put_value(OR_BUF *buf, DB_VALUE *value, int collapse_null, int include_domain, int include_domain_classoids)
TP_DOMAIN * tp_domain_find_set(DB_TYPE type, TP_DOMAIN *setdomain, bool is_desc)
void or_abort(OR_BUF *buf)
int or_skip_varbit(OR_BUF *buf, int align)
char * or_unpack_mvccid(char *ptr, MVCCID *mvccid)
char * or_pack_int64(char *ptr, INT64 number)
#define COPY_OID(dest_oid_ptr, src_oid_ptr)
char * or_pack_value(char *buf, DB_VALUE *value)
char * or_pack_spacedb(char *ptr, const SPACEDB_ALL *all, const SPACEDB_ONEVOL *vols, const SPACEDB_FILES *files)
int mvcc_header_size_lookup[8]
int or_packed_recdesc_length(int length)
int or_packed_string_length(const char *string, int *strlenp)
#define OR_DOMAIN_CODSET_MASK
#define OR_PUT_PTR(ptr, val)
int or_packed_varbit_length(int bitlen)
#define OR_PUT_DATETIMETZ(ptr, datetimetz)
DB_DEFAULT_EXPR_TYPE default_expr_type
char * or_pack_errcode(char *ptr, int error)
static int or_packed_json_validator_length(JSON_VALIDATOR *json_validator)
int or_packed_bool_array_length(const bool *bools, int size)
char * or_unpack_spacedb(char *ptr, SPACEDB_ALL *all, SPACEDB_ONEVOL **vols, SPACEDB_FILES *files)
char * or_unpack_unbound_listid(char *ptr, void **listid_ptr)
#define OR_VAR_TABLE_SIZE(vars)
int or_varbit_length(int bitlen)
int db_make_string(DB_VALUE *value, DB_CONST_C_CHAR str)
int or_get_datetimetz(OR_BUF *buf, DB_DATETIMETZ *datetimetz)
int or_put_short(OR_BUF *buf, int num)
void or_init(OR_BUF *buf, char *data, int length)
#define OR_GET_BTID(ptr, btid)
#define OR_DOMAIN_PRECISION_MASK
int or_get_align32(OR_BUF *buf)
#define DOM_GET_ENUM_ELEMENTS(dom)
static int or_packed_json_schema_length(const char *json_schema)
char * or_unpack_string_alloc(char *ptr, char **string)
PR_TYPE * pr_type_from_id(DB_TYPE id)
#define DB_MAX_VARBIT_PRECISION
char * or_unpack_value(const char *buf, DB_VALUE *value)
char * or_pack_db_value(char *buffer, DB_VALUE *var)
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,...)
static char * or_unpack_method_sig(char *ptr, void **method_sig_ptr, int n)
LANG_COLLATION * lang_get_collation(const int coll_id)
int or_packed_put_varchar(OR_BUF *buf, char *string, int charlen)
#define OR_PUT_NULL_BTID(ptr)
#define DB_MAX_VARCHAR_PRECISION
int tp_domain_match(const TP_DOMAIN *dom1, const TP_DOMAIN *dom2, TP_MATCH exact)
#define NULL_DEFAULT_EXPRESSION_OPERATOR
int or_get_varbit_length(OR_BUF *buf, int *rc)
#define DB_MAX_NUMERIC_PRECISION
TP_DOMAIN * or_get_domain(OR_BUF *buf, TP_DOMAIN *caller_dom, int *is_null)
int or_put_offset_internal(OR_BUF *buf, int num, int offset_size)
char * or_unpack_hfid(char *ptr, HFID *hfid)
#define DOM_SET_ENUM_ELEMENTS(dom, elems)
char * or_unpack_sha1(char *ptr, SHA1Hash *sha1)
#define OR_BINARY_PAD_SHIFT
#define OR_MVCC_FLAG_MASK
#define DB_SET_ENUM_ELEM_STRING_SIZE(elem, sz)
#define ASSERT_ALIGN(ptr, alignment)
char * or_pack_btid(char *ptr, const BTID *btid)
int or_get_set_header(OR_BUF *buf, DB_TYPE *set_type, int *size, int *domain, int *bound_bits, int *offset_table, int *element_tags, int *common_sub)
#define OR_PUT_NULL_OID(ptr)
int or_db_value_size(DB_VALUE *var)
DB_BIGINT or_get_bigint(OR_BUF *buf, int *error)
char * db_private_strdup(THREAD_ENTRY *thrd, const char *s)
int or_put_double(OR_BUF *buf, double dnum)
#define OR_PUT_UTIME(ptr, value)
#define OR_PUT_TIME(ptr, value)
int or_put_json_validator(OR_BUF *buf, JSON_VALIDATOR *validator)
struct db_object * class_mop
int or_put_datetime(OR_BUF *buf, DB_DATETIME *datetimeval)
int or_get_align(OR_BUF *buf, int align)
#define OR_SET_HEADER_SIZE
#define ER_OUT_OF_VIRTUAL_MEMORY
const char * db_json_get_schema_raw_from_validator(JSON_VALIDATOR *val)
#define DOM_GET_ENUMERATION(dom)
int tp_domain_size(const TP_DOMAIN *domain)
int or_put_monetary(OR_BUF *buf, DB_MONETARY *monetary)
#define OR_PUT_MONETARY(ptr, value)
char * or_unpack_int(char *ptr, int *number)
#define OR_DOMAIN_COLLATION_MASK
TP_DOMAIN * setobj_domain(COL *set)
#define OR_GET_OID(ptr, oid)
void tp_init_value_domain(TP_DOMAIN *domain, DB_VALUE *value)
COL * setobj_create(DB_TYPE collection_type, int size)
char * or_unpack_int64(char *ptr, INT64 *number)
int or_replace_chn(RECDES *record, int chn)
#define OR_GET_DATETIME(ptr, datetime)
#define DB_VALUE_DOMAIN_TYPE(value)
int or_put_string_aligned_with_length(OR_BUF *buf, const char *str)
int or_put_mvccid(OR_BUF *buf, MVCCID mvccid)
#define OR_DOMAIN_ENUMERATION_FLAG
int or_mvcc_get_repid_and_flags(OR_BUF *buf, int *error)
#define TP_DOMAIN_COLLATION(dom)
#define OR_HEADER_SIZE(ptr)
#define ER_INVALID_CURRENCY_TYPE
#define OR_DOMAIN_COLL_LEAVE_FLAG
#define OR_DOMAIN_SCALE_SHIFT
char * or_unpack_float(char *ptr, float *number)
char * or_unpack_btid(char *ptr, BTID *btid)
void classobj_initialize_default_expr(DB_DEFAULT_EXPR *default_expr)
int db_string_put_cs_and_collation(DB_VALUE *value, const int codeset, const int collation_id)
#define OR_MVCC_PREV_VERSION_LSA_SIZE
void or_decode(const char *buffer, char *dest, int size)
#define OR_DOMAIN_TYPE_MASK
#define DB_MAX_PATH_LENGTH
#define TP_DOMAIN_TYPE(dom)
static void cleanup(int signo)
int or_put_bigint(OR_BUF *buf, DB_BIGINT num)
#define OR_SUB_HEADER_SIZE
char * or_pack_int(char *ptr, int number)
char * or_unpack_db_value(char *buffer, DB_VALUE *val)
int str_to_int32(int *ret_p, char **end_p, const char *str_p, int base)
double or_get_double(OR_BUF *buf, int *error)
TP_DOMAIN * tp_domain_find_noparam(DB_TYPE type, bool is_desc)
int or_get_timestamptz(OR_BUF *buf, DB_TIMESTAMPTZ *ts_tz)
#define OR_GET_DATETIMETZ(ptr, datetimetz)
#define OR_INFINITE_POINTER
int setobj_put_value(COL *col, int index, DB_VALUE *value)
int or_set_rep_id(RECDES *record, int repid)
char * or_pack_ptr(char *ptr, UINTPTR ptrval)
unsigned short htons(unsigned short from)
int or_packed_stream_length(size_t len)
#define OR_PUT_TIMESTAMPTZ(ptr, ts_tz)
#define OR_GET_BIGINT(ptr, val)
#define OR_GET_FLOAT(ptr, value)
TP_DOMAIN * tp_domain_cache(TP_DOMAIN *transient)
char * or_unpack_var_table(char *ptr, int nvars, OR_VARINFO *vars)
#define db_private_free_and_init(thrd, ptr)
#define OR_PUT_BTID(ptr, btid)
int or_chn(RECDES *record)
char * or_pack_ehid(char *ptr, EHID *ehid)
int or_put_float(OR_BUF *buf, float fnum)
UINT64 ntohi64(UINT64 from)
char * or_unpack_lock(char *ptr, LOCK *lock)
int or_put_enumeration(OR_BUF *buf, const DB_ENUMERATION *enumeration)
int or_put_set_header(OR_BUF *buf, DB_TYPE set_type, int size, int domain, int bound_bits, int offset_table, int element_tags, int common_sub_header)
char * or_unpack_oid(char *ptr, OID *oid)
#define db_private_alloc(thrd, size)
#define CONST_CAST(dest_type, expr)
int set_get_element(DB_COLLECTION *set, int index, DB_VALUE *value)
int or_put_timestamptz(OR_BUF *buf, DB_TIMESTAMPTZ *ts_tz)
int or_put_int(OR_BUF *buf, int num)
int or_packed_set_length(setobj *set, int include_domain)
#define BIG_VAR_OFFSET_SIZE
char * or_pack_domain(char *ptr, TP_DOMAIN *domain, int include_classoids, int is_null)
#define OR_PUT_SHORT(ptr, val)
#define OR_LOG_LSA_ALIGNED_SIZE
#define OR_PUT_DATE(ptr, value)
#define OR_GET_INT64(ptr, val)
#define OR_DOMAIN_BUILTIN_FLAG
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)
#define OR_DOMAIN_CODSET_SHIFT
#define OR_GET_SHA1(ptr, value)
int or_skip_varbit_remainder(OR_BUF *buf, int bitlen, int align)
int or_overflow(OR_BUF *buf)
DB_TYPE setobj_type(struct setobj *set)
int or_put_offset(OR_BUF *buf, int num)
int or_varchar_length(int charlen)
char * or_unpack_string(char *ptr, char **string)
DB_ENUMERATION enumeration
#define TP_IS_CHAR_TYPE(typeid)
TP_DOMAIN_COLL_ACTION collation_flag
#define OR_GET_TIME(ptr, value)
static char * or_unpack_var_table_internal(char *ptr, int nvars, OR_VARINFO *vars, int offset_size)
int or_packed_value_size(const DB_VALUE *value, int collapse_null, int include_domain, int include_domain_classoids)
static void error(const char *msg)
#define DB_DEFAULT_PRECISION
#define DB_GET_ENUM_ELEM_STRING_SIZE(elem)
TP_DOMAIN * tp_domain_construct(DB_TYPE domain_type, DB_OBJECT *class_obj, int precision, int scale, TP_DOMAIN *setdomain)
char * or_unpack_domain(char *ptr, struct tp_domain **domain_ptr, int *is_null)
#define OR_SET_COMMON_SUB_BIT
#define BITS_TO_BYTES(bit_cnt)
#define OR_GET_OFFSET_INTERNAL(ptr, offset_size)
char * or_pack_sha1(char *ptr, const SHA1Hash *sha1)
char * or_unpack_bool_array(char *ptr, bool **bools)
const char * default_expr_format
#define OR_MINIMUM_STRING_LENGTH_FOR_COMPRESSION
char * or_unpack_log_lsa(char *ptr, log_lsa *lsa)
char * or_pack_recdes(char *buf, RECDES *recdes)
TP_DOMAIN * tp_domain_find_numeric(DB_TYPE type, int precision, int scale, bool is_desc)
static TP_DOMAIN * unpack_domain_2(OR_BUF *buf, int *is_null)
int or_put_time(OR_BUF *buf, DB_TIME *timeval)
#define OR_PUT_HFID(ptr, hfid)
unsigned short ntohs(unsigned short from)
OR_VARINFO * or_get_var_table(OR_BUF *buf, int nvars, char *(*allocator)(int))
int or_method_sig_list_length(void *method_sig_list_ptr)
char * or_pack_short(char *ptr, short number)
#define OR_DOMAIN_DESC_FLAG
int or_align(OR_BUF *buf, int alignment)
int or_seek(OR_BUF *buf, int psn)
#define OR_SET_VARIABLE_BIT
#define DB_SET_ENUM_ELEM_CODESET(elem, cs)
#define OR_PUT_LOG_LSA(ptr, lsa)
#define OR_DOMAIN_SET_DOMAIN_FLAG
char * or_class_name(RECDES *record)
#define free_and_init(ptr)
char * or_unpack_setref(char *ptr, DB_SET **ref)
#define DB_ALIGN(offset, align)
#define OR_PUT_INT64(ptr, val)
#define OR_GET_MVCC_FLAG(ptr)
#define OR_GET_EHID(ptr, ehid)
DB_ENUM_ELEMENT * elements
#define OR_DOMAIN_PRECISION_MAX
int or_skip_varchar(OR_BUF *buf, int align)
#define OR_GET_MVCC_CHN(ptr)
int db_enum_put_cs_and_collation(DB_VALUE *value, const int codeset, const int collation_id)
int or_put_datetimetz(OR_BUF *buf, DB_DATETIMETZ *datetimetz)
int or_put_string_aligned(OR_BUF *buf, char *str)
#define OR_TIMESTAMPTZ_SIZE
char * or_unpack_hfid_array(char *ptr, int n, HFID **hfids)
#define OR_DOMAIN_CLASS_OID_FLAG
JSON_VALIDATOR * json_validator
#define OR_PUT_INT(ptr, val)
int db_json_load_validator(const char *json_schema_raw, JSON_VALIDATOR *&validator)
int db_get_string_size(const DB_VALUE *value)
#define OR_GET_DOUBLE(ptr, value)
int classobj_decompose_property_oid(const char *buffer, int *volid, int *fileid, int *pageid)
char * or_pack_lock(char *ptr, LOCK lock)
int or_skip_varchar_remainder(OR_BUF *buf, int charlen, int align)
void tp_domain_clear_enumeration(DB_ENUMERATION *enumeration)
#define OR_DATETIMETZ_SIZE
int or_get_offset(OR_BUF *buf, int *error)
#define TP_FLOATING_PRECISION_VALUE
int or_get_varchar_length(OR_BUF *buf, int *rc)
void or_packed_set_info(DB_TYPE set_type, TP_DOMAIN *domain, int include_domain, int *bound_bits, int *offset_table, int *element_tags, int *element_size)
#define OR_GET_MVCC_REPID_AND_FLAG(ptr)
#define DB_VALUE_TYPE(value)
int or_get_byte(OR_BUF *buf, int *error)
#define OR_GET_MVCC_REPID(ptr)
char * or_unpack_method_sig_list(char *ptr, void **method_sig_list_ptr)
int db_make_null(DB_VALUE *value)
int or_put_json_schema(OR_BUF *buf, const char *schema)
int or_packed_put_varbit(OR_BUF *buf, const char *string, int bitlen)
char * or_unpack_string_nocopy(char *ptr, char **string)
#define OR_GET_MONETARY(ptr, value)
#define DB_MAX_VARNCHAR_PRECISION
char * or_pack_string_with_null_padding(char *ptr, const char *string, size_t len)
int or_get_short(OR_BUF *buf, int *error)
char * or_pack_oid(char *ptr, const OID *oid)
unsigned int ntohl(unsigned int from)
struct db_object * class_mop
static int or_varchar_length_internal(int charlen, int align)
#define OR_BOUND_BIT_FLAG
char * or_unpack_set(char *ptr, setobj **set, TP_DOMAIN *domain)
#define OR_PUT_BIGINT(ptr, val)
char * or_unpack_ptr(char *ptr, UINTPTR *ptrval)
#define TP_DOMAIN_CODESET(dom)
#define DOM_SET_ENUM_ELEMS_COUNT(dom, cnt)
char * or_unpack_errcode(char *ptr, int *error)
int or_put_byte(OR_BUF *buf, int num)
#define DB_GET_ENUM_ELEM_CODESET(elem)
char * or_unpack_double(char *ptr, double *number)
#define OR_PUT_DATETIME(ptr, datetime)
int setobj_size(COL *col)
int or_get_align64(OR_BUF *buf)
char * or_unpack_mem_value(char *ptr, DB_VALUE *value)
#define DB_GET_ENUM_ELEM_DBCHAR(elem)
#define OR_DOMAIN_NEXT_FLAG
int or_mvcc_set_repid_and_flags(OR_BUF *buf, int mvcc_flag, int repid, int bound_bit, int variable_offset_size)
int or_packed_domain_size(TP_DOMAIN *domain, int include_classoids)
char * or_pack_oid_array(char *ptr, int n, const OID *oids)
void tp_domain_free(TP_DOMAIN *dom)
DB_CONST_C_CHAR db_get_string(const DB_VALUE *value)
TP_DOMAIN * tp_domain_find_object(DB_TYPE type, OID *class_oid, struct db_object *class_mop, bool is_desc)
int or_underflow(OR_BUF *buf)
int or_get_enumeration(OR_BUF *buf, DB_ENUMERATION *enumeration)
#define OR_GET_SHORT(ptr)
int or_put_varbit(OR_BUF *buf, const char *string, int bitlen)
#define OR_GET_BOUND_BIT(bitptr, element)
int get_disk_size_of_value(const DB_VALUE *value) const
int or_packed_varchar_length(int charlen)
#define OR_PUT_BYTE(ptr, val)
int or_get_data(OR_BUF *buf, char *data, int length)
int or_get_json_validator(OR_BUF *buf, REFPTR(JSON_VALIDATOR, validator))
#define OR_DOMAIN_ENUM_COLL_FLAG
int db_value_domain_init(DB_VALUE *value, const DB_TYPE type, const int precision, const int scale)
char * or_pack_string_with_length(char *ptr, const char *string, int length)
#define ER_SM_INVALID_PROPERTY