현재 fetch된 결과에 대해서 col_no번째의 결과를 가져온다. 주어진 type에 대한 형태로 value에 반환된다. 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 |
CCI_A_TYPE_SET |
T_CCI_SET* |
alloc and value copy |
CCI_A_TYPE_DATE |
T_CCI_DATE |
value copy |
CCI_A_TYPE_BIGINT |
int64_t (Windows는 __int64) |
value copy |
pointer copy는 애플리케이션 클라이언트 라이브러리 내의 포인터를 반환하는 것으로 다음 cci_get_data() 호출 시 유효하지 않게 된다. value copy는 out 파라미터에 값을 반환하는 것으로 파라미터로 사용되는 포인터는 메모리가 할당되어 있어야 한다.
CCI_A_TYPE_BIT의 경우 멤버는 pointer copy가 발생한다. CCI_A_TYPE_BIT인 경우 반환된 value의 포인터를 free해서는 안 된다. CCI_A_TYPE_SET인 경우 set을 사용 후에는 cci_set_free()를 통해서 반환된 set을 free 시켜야 한다.
int cci_get_data(int req_handle, int col_no, int type, void *value, int *indicator)