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

前
 
次
 

GET_DDL_RECORD_PROPERTIES

適用対象

ExtractおよびReplicat(DDLレプリケーションがサポートされているデータベース)

説明

GET_DDL_RECORD_PROPERTIESファンクションでは、DDLが実行されたオブジェクトに関する情報やDDL文自体のテキストも含むDDL操作の情報を返します。Extractプロセスは、ソース表レイアウトのみを取得できます。Replicatプロセスは、ソースまたはターゲット・レイアウトを取得できます。

ユーザー・イグジットの文字セッションが、SET_SESSION_CHARSETを使用して、オペレーティング・システムのデフォルトのキャラクタ・セット以外の値に設定されている場合、ucharset.hファイルのULIB_CS_DEFAULTで定義されているように、ユーザー・イグジットとプロセス間で交換される文字データは、セッションのキャラクタ・セットで解釈されます。これには、DDLタイプ、オブジェクト・タイプ、2つまたは3つの部分からなるオブジェクト名、所有者名およびDDLテキスト自体が含まれます。

#include "usrdecs.h"
short result_code;
ddl_record_def ddl_rec;
ERCALLBACK (GET_DDL_RECORD_PROPERTIES, &ddl_rec, &result_code);

バッファ

typedef struct
{
char *ddl_type;
long ddl_type_max_length; /* Maximum Description length PASSED IN BY USER */
long ddl_type_length; /* Actual length */

char *object_type; 
long object_type_max_length; /* Maximum Description length PASSED IN BY USER */
long object_type_length; /* Actual length */

char *object_name; /* Fully qualified name of the object
  (3-part for CDB, 2-part for non-CDB) */
long object_max_length; /* Maximum Description length PASSED IN BY USER */
long object_length; /* Actual length */

char *owner_name;
long owner_max_length; /* Maximum Description length PASSED IN BY USER */
long owner_length; /* Actual length */

char *ddl_text;
long ddl_text_max_length; /* Maximum Description length PASSED IN BY USER */
long ddl_text_length; /* Actual length */

short ddl_text_truncated; /* Was value truncated? */
short source_or_target; /* Source or target value? */
} ddl_record_def;

入力

ddl_type_length
object_type_length
object_length
owner_length
ddl_text_length

返される列値を受け付ける各アイテム用の1つのバッファへのポインタ。アイテムは次のとおりです。

ddl_type_length

DDL操作タイプの長さ(CREATEまたはALTERなど)を含めます。

object_type_length

DDL操作によって影響を受けるデータベース・オブジェクトのタイプの長さ(TABLEまたはINDEXなど)を含めます。

object_length

オブジェクト名の長さを含めます。

object_length

オブジェクトの所有者(スキーマまたはデータベース)の長さを含めます。

ddl_text_length

実際のDDL文テキストの長さを含めます。

ddl_type_max_length

*ddl_typeによって返されるDDL操作タイプの最大長。DDLタイプは、データベースに対して有効な任意のDDLコマンド(ALTERなど)です。

object_type_max_length

*object_typeによって返されるオブジェクト・タイプの最大長。オブジェクト・タイプは、データベースに有効な任意のオブジェクト(TABLEINDEXTRIGGERなど)です。

object_max_length

*object_nameによって返されるオブジェクト名の最大長。

owner_max_length

*owner_nameによって返される所有者名の最大長。

ddl_text_max_length

*ddl_textによって返されるDDL文のテキストの最大長。

source_or_target

ソースまたはターゲット・データ・レコードのどちらの操作タイプを返すかを示す次の一方。

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

出力

ddl_type_length
object_type_length
object_length
owner_length
ddl_text_length

これらのフィールドはすべて、リクエストされた値の実際の長さを返します。(説明は入力のセクションを参照してください。)

ddl_text_truncated

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

返される値

EXIT_FN_RET_OK
EXIT_FN_RET_NOT_SUPPORTED
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INCOMPLETE_DDL_REC