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 2.405 seconds using v1.01-cache-2.11-cpan-a9ef4e587e4 )