cci_get_data

설명

현재 fetch된 결과에 대해서 col_no 번째의 값을 가져온다. 주어진 type 인자에 따라 value 변수의 타입이 결정되고, 이에 따라 value 변수로 값 또는 포인터가 복사된다.

값을 복사하는 경우 value 변수로 전달되는 주소에 대한 메모리가 할당되어 있어야 한다. 포인터 복사의 경우 응용 클라이언트 라이브러리 내의 포인터를 반환하는 것이므로, 다음 cci_get_data() 함수 호출 시 해당 값이 유효하지 않게 되므로 주의한다.

포인터 복사에 의해 반환된 포인터는 해제(free)하면 안 된다. 단, 타입이 CCI_A_TYPE_SET인 경우 T_CCI_SET 타입의 set 포인터를 메모리에 할당한 후 이를 반환하므로, set 포인터를 사용한 후에는 cci_set_free() 함수를 이용하여 할당된 메모리를 해제해야 한다. 아래는 type 인자와 그에 대응하는 value의 데이터 타입을 정리한 표이다.

type

value 타입

의미

CCI_A_TYPE_STR

char**

pointer copy

CCI_A_TYPE_INT

int*

value copy

CCI_A_TYPE_FLOAT

float*

value copy

CCI_A_TYPE_DOUBLE

double*

value copy

CCI_A_TYPE_BIT

T_CCI_BIT*

value copy (pointer copy for each member)

CCI_A_TYPE_SET

T_CCI_SET*

memory alloc and value copy

CCI_A_TYPE_DATE

T_CCI_DATE*

value copy

CCI_A_TYPE_BIGINT

int64_t* (Windows는 __int64*)

value copy

구문

int cci_get_data(int req_handle, int col_no, int type, void *value, int *indicator)

리턴 값
에러 코드