4.16 GET_COL_METADATA_FROM_NAME
適用対象
ExtractおよびReplicat
説明
GET_COL_METADATA_FROM_NAME
ファンクションでは、該当の列の名前を指定して列メタデータを取得します。ユーザー・イグジットの文字セッションが、SET_SESSION_CHARSET
を使用して、オペレーティング・システムのデフォルトの文字セット以外の値に設定されている場合、ucharset.h
ファイルのULIB_CS_DEFAULT
で定義されているように、ユーザー・イグジットとプロセス間で交換される文字データは、セッションの文字セットで解釈されます。
データベースが大/小文字を区別する場合、オブジェクト名は、ホストしているデータベースで定義されているのと同じ大/小文字の区別で指定する必要があります。それ以外の場合、大/小文字の区別はありません。
構文
#include "usrdecs.h" short result_code; col_metadata_def column_meta_rec; ERCALLBACK (GET_COL_METADATA_FROM_NAME, &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
-
返される列値の列索引。
-
actual_name_length
-
返される名前の実際の長さ。
-
source_or_target
-
ソースまたはターゲットのどちらのレコードが圧縮されているかを示す次のいずれか。
EXIT_FN_SOURCE_VAL EXIT_FN_TARGET_VAL
-
value_truncated
-
値が切り捨てられたかどうかを示すフラグ(
0
または1
)。切捨ては、列名とNULL終了文字を足した長さが、最大バッファ長を超えるときに行われます。 -
native_data_type
-
列の(データベースに)ネイティブなデータ型。
-
gg_data_type
-
列のOracle GoldenGateデータ型。
-
gg_sub_data_type
-
列のOracle GoldenGateサブデータ型。
-
is_nullable
-
列がNULL値を許可するかどうかを示すフラグ(
TRUE
またはFALSE
)。 -
is_part_of_key
-
列がOracle GoldenGateによって使用されているキーの一部かどうかを示すフラグ(
TRUE
またはFALSE
)。 -
key_column_index
-
索引での列の順序を示します。たとえば、次の表は、表での定義の順序と索引での定義の順序が異なる2つのキー列を持ちます。
CREATE TABLE tcustmer ( 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
親トピック: ユーザー・イグジット・ファンクション