DBD-cubrid
view release on metacpan or search on metacpan
cci-src/src/cci/cci_handle_mng.c view on Meta::CPAN
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;
}
cci-src/src/cci/cci_handle_mng.h view on Meta::CPAN
int pageid;
short slotid;
short volid;
} T_OBJECT;
typedef struct
{
int tuple_index;
T_OBJECT tuple_oid;
char **column_ptr;
char **decoded_ptr;
} T_TUPLE_VALUE;
typedef struct
{
T_CCI_U_TYPE u_type; /* primary type (without any collection flags) */
int size; /* bind_param : value size bind_param_array : a_type of value */
void *value;
int *null_ind;
char flag;
} T_BIND_VALUE;
cci-src/src/cci/cci_query_execute.c view on Meta::CPAN
tmp_tuple_value[i].column_ptr = (char **) MALLOC (sizeof (char *) * num_cols);
if (tmp_tuple_value[i].column_ptr == NULL)
{
err_code = CCI_ER_NO_MORE_MEMORY;
goto fetch_info_decode_error;
}
memset (tmp_tuple_value[i].column_ptr, '\0', sizeof (char *) * num_cols);
#if defined(WINDOWS)
tmp_tuple_value[i].decoded_ptr = (char **) MALLOC (sizeof (char *) * num_cols);
if (tmp_tuple_value[i].decoded_ptr == NULL)
{
err_code = CCI_ER_NO_MORE_MEMORY;
goto fetch_info_decode_error;
}
memset (tmp_tuple_value[i].decoded_ptr, '\0', sizeof (char *) * num_cols);
#endif
for (j = 0; j < num_cols; j++)
{
int data_size;
char *col_p;
#if defined (WINDOWS)
T_CCI_U_TYPE u_type;
#endif
cci-src/src/cci/cci_query_execute.c view on Meta::CPAN
{
goto fetch_info_decode_error;
}
else if (err_code == 0)
{
/* invalid character set. do not convert string */
tmp_tuple_value[i].column_ptr[j] = col_p;
}
else
{
tmp_tuple_value[i].decoded_ptr[j] = tmp_tuple_value[i].column_ptr[j];
}
}
else
{
tmp_tuple_value[i].column_ptr[j] = col_p;
}
#else
tmp_tuple_value[i].column_ptr[j] = col_p;
#endif
cci-src/src/cci/cci_query_execute.c view on Meta::CPAN
*tuple_value = tmp_tuple_value;
return num_tuple;
fetch_info_decode_error:
if (tmp_tuple_value)
{
for (i = 0; i < num_tuple; i++)
{
#if defined (WINDOWS)
if (tmp_tuple_value[i].decoded_ptr)
{
for (j = 0; j < num_cols; j++)
{
FREE_MEM (tmp_tuple_value[i].decoded_ptr[j]);
}
FREE_MEM (tmp_tuple_value[i].decoded_ptr);
}
#endif
FREE_MEM (tmp_tuple_value[i].column_ptr);
}
FREE_MEM (tmp_tuple_value);
}
return err_code;
}
static void
( run in 0.277 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )