GET_COL_METADATA_FROM_INDEX
유효 기간
추출 및 복제
설명
GET_COL_METADATA_FROM_INDEX 함수를 사용하여 원하는 열의 인덱스를 지정하여 열 메타 데이터를 검색합니다.
데이터베이스 객체 이름은 대소문자를 포함하여 호스팅 데이터베이스에 정의된 대로 정확하게 반환됩니다.
구문
#include "usrdecs.h"
short result_code;
col_metadata_def column_meta_rec;
ERCALLBACK (GET_COL_METADATA_FROM_INDEX, &column_meta_rec, &result_code);
버퍼
typedef struct
{
short column_index;
char *column_name;
long max_name_length;
short native_data_type;
short gg_data_type;
short gg_sub_data_type;
short is_nullable;
short is_part_of_key;
short key_column_index;
short length;
short precision;
short scale;
short source_or_target;
} col_metadata_def;
입력
<column_index>
반환될 열 값의 열 인덱스입니다.
<max_name_length>
반환된 열 이름의 최대 길이입니다. 일반적으로 최대 길이는 이름 버퍼의 길이입니다. 반환된 이름이 null로 종료되므로 최대 길이는 열 이름의 최대 길이와 같아야 합니다.
<source_or_target>
다음 중 하나는 소스 또는 대상 레코드의 압축 여부를 나타냅니다.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
출력
<column_name>
반환될 열 값의 열 이름입니다.
actual_name_length
반환된 이름의 실제 길이입니다.
value_truncated
값이 잘렸는지 여부를 나타내는 플래그(0 또는 1)입니다. 열 이름과 널 종료자의 길이가 최대 버퍼 길이를 초과하는 경우 잘립니다.
<native_data_type>
열의 고유(데이터베이스) 데이터 유형입니다. 프로세스에 따라 다음과 같이 native_data_type 또는 dd_data_type가 반환됩니다.
-
Extract가 소스 열에 대한 콜백 요청을 수행하는 경우
native_data_type가 반환됩니다. Extract가 매핑된 대상 열을 요청하는 경우 시스템에 대상 정의 파일이 있다고 가정하여gg_data_type가 반환됩니다. -
Extract 데이터 펌프가 소스 열에 대한 콜백 요청을 수행하고 있고 로컬 데이터베이스가 있는 경우
native_data_type가 반환됩니다. 데이터베이스가 없는 경우 시스템에 소스 정의 파일이 있다고 가정하여gg_data_type가 반환됩니다. 펌프가 대상 열을 요청하는 경우gg_data_type가 반환됩니다(대상 정의 파일이 시스템에 있다고 가정). -
Replicat가 소스 열에 대한 콜백 요청을 수행하는 경우 시스템에 소스 정의 파일이 있다고 가정하여
gg_data_type가 반환됩니다. Replicat가 소스 열을 요청하고 있고ASSUMETARGETDEFS가 매개변수 파일에서 사용되는 경우native_data_type가 반환됩니다. Replicat가 대상 열을 요청하는 경우native_data_type가 반환됩니다.
<gg_data_type>
열의 Oracle GoldenGate 데이터 유형입니다.
<gg_sub_data_type>
열의 Oracle GoldenGate 하위 유형입니다.
<is_nullable>
열이 널 값을 허용하는지 여부를 나타내는 플래그입니다(TRUE 또는 FALSE).
<is_part_of_key>
열이 Oracle GoldenGate에서 사용 중인 키의 일부인지 여부를 나타내는 플래그(TRUE 또는 FALSE)입니다.
<key_column_index>
인덱스에 있는 열의 순서를 나타냅니다. 예를 들어, 다음 테이블에는 Primary Key에서 선언된 순서와 다른 순서로 존재하는 두 개의 키 열이 있습니다.
CREATE TABLE ABC
(
cust_code VARCHAR2(4),
name VARCHAR2(30),
city VARCHAR2(20),
state CHAR(2),
PRIMARY KEY (city, cust_code)
USING INDEX
);
논리적 열 순서에서 각 열에 대해 콜백 함수를 실행하면 다음이 반환됩니다.
-
cust_code는1를 반환합니다. -
name는-1를 반환합니다. -
city는0를 반환합니다. -
state는-1를 반환합니다.
열이 키의 일부인 경우 반환되는 값은 키 내의 열 순서입니다.
열이 키의 일부가 아닌 경우 -1 값이 반환됩니다.
<length>
열의 길이를 반환합니다.
<precision>
숫자 데이터 유형인 경우 열의 자릿수를 반환합니다.
<scale>
숫자 데이터 유형인 경우 축척을 반환합니다.
반환 값
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_OK