GET_TABLE_METADATA

유효 기간

추출 및 복제

설명

GET_TABLE_METADATA 함수를 사용하여 처리 중인 레코드와 연관된 테이블에 대한 메타데이터를 검색합니다.

구문

#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);

버퍼

typedef struct
{
char *table_name;
short value_truncated;
long max_name_length;
long actual_name_length;
short num_columns;
short num_key_columns;
short *key_columns;
short num_keys_returned;
BOOL using_pseudo_key;
short source_or_target;
} table_metadata_def;

입력

<table_name>

table_name 반환 값을 수락할 버퍼에 대한 포인터입니다.

<key_columns>

key_columns 인덱스 배열에 대한 포인터입니다.

<max_name_length>

반환된 테이블 이름의 최대 길이입니다. 일반적으로 최대 길이는 테이블 이름 버퍼의 길이입니다. 반환된 테이블 이름이 null로 종료되므로 최대 길이는 테이블 이름의 최대 길이와 같아야 합니다.

<source_or_target>

다음 중 하나는 소스 또는 대상 테이블 이름을 반환할지 여부를 나타냅니다.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

출력

<table_name>

처리 중인 레코드와 연계된 테이블의 이름입니다. User Exit의 문자 세션이 SET_SESSION_CHARSET로 운영 체제의 기본 문자 집합이 아닌 다른 값으로 설정되면(ucharset.h 파일의 ULIB_CS_DEFAULT에 정의됨) 테이블 이름이 세션 문자 집합에서 해석됩니다.

<value_truncated>

값이 잘렸는지 여부를 나타내는 플래그(0 또는 1)입니다. 테이블 이름과 널 종료자의 길이가 최대 버퍼 길이를 초과하는 경우 잘립니다.

<actual_name_length>

반환된 테이블 이름의 문자열 길이입니다. 실제 길이에는 널 종료자가 포함되지 않습니다.

<num_columns>

테이블의 열 수입니다.

<num_key_columns>

Oracle GoldenGate에서 사용 중인 키의 열 수입니다.

<key_columns>

키 열에 대한 값입니다. 예상 키 수에 열 길이를 곱한 다음 적절한 버퍼 크기를 할당해야 합니다.

<num_keys_returned>

요청된 키 열 수입니다.

using_pseudo_key

KEYCOLS 지정 열이 키로 사용되고 있는지 여부를 나타내는 플래그입니다. TRUE 또는 FALSE를 반환합니다.

반환 값

EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK