プライマリ・コンテンツに移動
Oracle® GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.1.2)
E49845-08
  目次へ移動
目次

前
 
次
 

GET_TABLE_METADATA

適用対象

ExtractおよびReplicat

説明

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

処理中のレコードに関連付けられている表の名前。ユーザー・イグジットの文字セッションが、SET_SESSION_CHARSETを使用して、オペレーティング・システムのデフォルトのキャラクタ・セット以外の値に設定されている場合、ucharset.hファイルのULIB_CS_DEFAULTで定義されているように、表名はセッションのキャラクタ・セットで解釈されます。

value_truncated

値が切り捨てられたかどうかを示すフラグ(0または1)。切捨ては、表名とNULL終了文字を足した長さが、最大バッファ長を超えるときに行われます。

actual_name_length

返される表名の文字列長。実際の長さにNULL終了文字は含まれません。

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