DBD-cubrid
view release on metacpan or search on metacpan
cci-src/src/cci/cci_handle_mng.c view on Meta::CPAN
hm_req_handle_close_all_resultsets (T_CON_HANDLE * con_handle)
{
int i;
T_REQ_HANDLE *req_handle = NULL;
for (i = 0; i < con_handle->max_req_handle; i++)
{
req_handle = con_handle->req_handle_table[i];
if (req_handle == NULL)
{
continue;
}
if ((req_handle->prepare_flag & CCI_PREPARE_HOLDABLE) != 0 && !req_handle->is_from_current_transaction)
{
continue;
}
req_handle->is_closed = 1;
}
}
void
hm_req_handle_close_all_unholdable_resultsets (T_CON_HANDLE * con_handle)
{
int i;
T_REQ_HANDLE *req_handle = NULL;
for (i = 0; i < con_handle->max_req_handle; i++)
{
req_handle = con_handle->req_handle_table[i];
if (req_handle == NULL)
{
continue;
}
if ((req_handle->prepare_flag & CCI_PREPARE_HOLDABLE) != 0)
{
/* skip holdable req_handles */
req_handle->is_from_current_transaction = 0;
continue;
}
req_handle->is_closed = 1;
}
}
void
hm_req_handle_fetch_buf_free (T_REQ_HANDLE * req_handle)
{
int i, j, fetched_tuple;
if (req_handle->tuple_value)
{
fetched_tuple = req_handle->fetched_tuple_end - req_handle->fetched_tuple_begin + 1;
for (i = 0; i < fetched_tuple; i++)
{
#if defined(WINDOWS)
for (j = 0; j < req_handle->num_col_info; j++)
{
FREE_MEM (req_handle->tuple_value[i].decoded_ptr[j]);
}
FREE_MEM (req_handle->tuple_value[i].decoded_ptr);
#endif
FREE_MEM (req_handle->tuple_value[i].column_ptr);
}
FREE_MEM (req_handle->tuple_value);
}
FREE_MEM (req_handle->msg_buf);
req_handle->fetched_tuple_begin = req_handle->fetched_tuple_end = 0;
req_handle->cur_fetch_tuple_index = -1;
req_handle->is_fetch_completed = 0;
}
int
hm_conv_value_buf_alloc (T_VALUE_BUF * val_buf, int size)
{
if (size <= val_buf->size)
{
return 0;
}
FREE_MEM (val_buf->data);
val_buf->size = 0;
val_buf->data = MALLOC (size);
if (val_buf->data == NULL)
{
return CCI_ER_NO_MORE_MEMORY;
}
val_buf->size = size;
return 0;
}
void
hm_invalidate_all_req_handle (T_CON_HANDLE * con_handle)
{
int i;
int count = 0;
T_REQ_HANDLE *curr_req_handle;
for (i = 0; i < con_handle->max_req_handle; ++i)
{
if (count == con_handle->req_handle_count)
{
break;
}
curr_req_handle = con_handle->req_handle_table[i];
if (curr_req_handle == NULL)
{
continue;
}
curr_req_handle->valid = 0;
curr_req_handle->shard_id = CCI_SHARD_ID_INVALID;
++count;
}
}
void
( run in 3.052 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )