説明
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
によって返されるオブジェクト・タイプの最大長。オブジェクト・タイプは、データベースに有効な任意のオブジェクト(TABLE
、INDEX
、TRIGGER
など)です。
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