30 #if !defined(SERVER_MODE) 41 #if defined(SERVER_MODE) 42 return thread_p->xasl_errcode;
56 #if defined(SERVER_MODE) 57 thread_p->xasl_errcode = errcode;
76 int head_offset, body_offset;
78 #define UNPACK_SCALE 3 86 if (unpack_info ==
NULL)
99 unpack_info->
alloc_buf = (
char *) unpack_info + head_offset;
102 #if defined (SERVER_MODE) 103 unpack_info->thrd = thread_p;
127 new_lwm = xasl_unpack_info->
ptr_lwm[block_no];
129 if (xasl_unpack_info->
ptr_max[block_no] == 0)
135 else if (xasl_unpack_info->
ptr_max[block_no] <= new_lwm)
137 xasl_unpack_info->
ptr_max[block_no] *= 2;
152 xasl_unpack_info->
ptr_lwm[block_no]++;
176 if (xasl_unpack_info->
ptr_lwm[block_no] <= 0)
181 for (element_no = 0; element_no < xasl_unpack_info->
ptr_lwm[block_no]; element_no++)
183 if (ptr == xasl_unpack_info->
ptr_blocks[block_no][element_no].
ptr)
185 return (xasl_unpack_info->
ptr_blocks[block_no][element_no].
str);
239 p_size = MAX (size, xasl_unpack_info->
packed_size);
252 if (add_buff ==
NULL)
257 add_buff->
buff = ptr;
296 (void) memcpy (
string, ptr, offset);
305 #if !defined (CS_MODE) 430 jtn.
m_id = (size_t) temp_int;
441 json_table_spec.
init ();
char * stx_alloc_struct(THREAD_ENTRY *thread_p, int size)
int stx_init_xasl_unpack_info(THREAD_ENTRY *thread_p, char *xasl_stream, int xasl_stream_size)
int stx_get_xasl_errcode(THREAD_ENTRY *thread_p)
struct db_value * m_default_value
regu_variable_node * m_json_reguvar
UNPACK_EXTRA_BUF * additional_buffers
json_table_column_behavior m_on_empty
cubxasl::json_table::node json_table_node
db_value * m_output_value_pointer
char * stx_build_string(THREAD_ENTRY *thread_p, char *ptr, char *string)
JSON_ITERATOR * m_iterator
#define assert_release(e)
XASL_UNPACK_INFO * get_xasl_unpack_info_ptr(THREAD_ENTRY *thread_p)
column * m_output_columns
TP_DOMAIN tp_Integer_domain
STX_VISITED_PTR * ptr_blocks[MAX_PTR_BLOCKS]
int track_allocated_bufers
json_table_column_behavior m_on_error
char * stx_restore_string(THREAD_ENTRY *thread_p, char *&ptr)
int xasl_stream_make_align(int x)
const size_t START_PTR_PER_BLOCK
json_table_column_behavior_type
void * stx_get_struct_visited_ptr(THREAD_ENTRY *thread_p, const void *ptr)
#define ER_OUT_OF_VIRTUAL_MEMORY
json_table_column_function m_function
int stx_mark_struct_visited(THREAD_ENTRY *thread_p, const void *ptr, void *str)
int ptr_lwm[MAX_PTR_BLOCKS]
#define db_private_free_and_init(thrd, ptr)
char * or_unpack_int(char *ptr, int *number)
json_table_column_function
#define db_private_alloc(thrd, size)
void stx_restore(THREAD_ENTRY *thread_p, char *&ptr, T *&target)
void stx_alloc(THREAD_ENTRY *thread_p, T *&ptr)
struct xasl_unpack_info XASL_UNPACK_INFO
void set_xasl_unpack_info_ptr(THREAD_ENTRY *thread_p, XASL_UNPACK_INFO *ptr)
enum json_table_column_behavior_type m_behavior
void stx_free_visited_ptrs(THREAD_ENTRY *thread_p)
size_t m_output_columns_size
int ptr_max[MAX_PTR_BLOCKS]
const size_t MAX_PTR_BLOCKS
char * stx_unpack(THREAD_ENTRY *thread_p, char *ptr, json_table_column_behavior &behavior)
void stx_set_xasl_errcode(THREAD_ENTRY *thread_p, int errcode)
char * stx_build(THREAD_ENTRY *thread_p, char *ptr, cubxasl::json_table::column &jtc)
static int stx_Xasl_errcode
char * or_unpack_domain(char *ptr, struct tp_domain **domain_ptr, int *is_null)
#define db_private_realloc(thrd, ptr, size)
int xasl_stream_get_ptr_block(const void *ptr)
bool xasl_stream_compare(const cubxasl::json_table::column &first, const cubxasl::json_table::column &second)
cubxasl::json_table::column json_table_column
char * or_unpack_db_value(char *buffer, DB_VALUE *val)
char * stx_build_db_value(THREAD_ENTRY *thread_p, char *ptr, DB_VALUE *value)
size_t m_nested_nodes_size