17.10 - FastExport/OUTMODルーチン インターフェース - FastExport

Teradata® FastExportリファレンス

Product
FastExport
Release Number
17.10
Release Date
2021年6月
Content Type
プログラミング リファレンス
Publication ID
B035-2410-061K-JPN
Language
日本語 (日本)

FastExportは、次のセクションで説明するように、従来型パラメータ レジスターを使用して6-値のOUTMODインターフェイス パラメータ リストを指すことにより、OUTMODルーチンと情報を交換します。

エントリ コード

エントリ コードは、呼び出しの理由を定義する6つの値のいずれかです。次の表には、4バイト整数形式でエントリ コードの値が記述されています。これらの値は表に記述されているように設定することができます。

FastExport-to-OUTMODインターフェイス エントリ コード
コード 指定内容
1 初期エントリ - 最初のSELECT文をデータベースに送信する前にFastExportが実行する初期エントリ呼び出しを指定します。
2 応答終了エントリ - データベース からのエクスポート データの最終行を受信した後にFastExportが実行する応答の終わり呼び出しを指定します。
3 行応答エントリ – データベースからのエクスポート データの行ごとにFastExportが実行する応答行呼び出しを指定します。
4 チェックポイント エントリ - 各SELECT文の最後の応答行の処理後にFastExportが実行するチェックポイント呼び出しを指定します。

この呼び出しは、データベースかクライアント システムに障害が発生した場合にOUTMODルーチンがチェックポイント データをキャプチャして再始動操作をサポートすることを意味します。

5 データベース再始動エントリ – データベースの再始動後に処理を再開する最初の呼び出しを指定します。

データベースに障害が発生したときにFastExportが出力ファイルに書き込み中だった場合、このFastExportユーティリティはOUTMODルーチンを呼び出す前にその出力ファイルを再配置します。この呼び出しは、OUTMODルーチンはそのデータまたはファイルも必要に応じて配置し直し、チェックポイント手順を実行して処理を再開することを意味します。

最初のチェックポイントの前にデータベースが再始動すると、クリーンアップのためにエントリ コード2が送信され、ジョブの再初期設定のためにエントリ コード1が送信されます。

6 クライアント再始動エントリ - クライアント システムの再始動後に処理を再開する最初の呼び出しを指定します。

クライアント システムに障害が発生したときにFastExportが出力ファイルに書き込み中だった場合、このFastExportユーティリティはOUTMODルーチンを呼び出す前にその出力ファイルを再配置します。この呼び出しは、OUTMODルーチンはそのデータまたはファイルも必要に応じて配置し直し、チェックポイント手順を実行して処理を再開することを意味します。

最初のチェックポイントの前でクライアント システムが再始動すると、ジョブの再初期設定をするためにエントリ コード1が送られます。

文番号

文番号は、参照されているSELECT文のrelative文番号を指定します - FastExportジョブの先頭のSELECT文は文番号が1になります。

ジョブにSELECT文が1つしかない場合、この値は常に1になります。文番号の形式は4バイトの整数です。

入力データ長

入力データ長は、応答行呼び出しの行データの長さ(単位: バイト数)を指定します。

OUTMODルーチンで、FastExportが現行の応答行データを出力ファイルに書き込むことが要求されている場合、OUTMODルーチンはFastExportユーティリティに戻る前にこの値を0にリセットする必要があります。

入力データ長の形式は4バイトの整数です。

入力データ レコード

入力データ レコードは、データベースからの実際の応答行データのバッファを指定します。

出力データ長

出力データ長は、出力データ レコードの長さを指定します。OUTMODルーチンへの入口ではこのパラメータの値はゼロになっており、出力データ レコード パラメータは空のバッファを指しています。OUTMODルーチンが入力データ レコードを修正するようになっている場合、以下のようになります。
  • 入力長と等しいかそれ以下であれば、応答行が代わりに修正可能になります。この場合、OUTMODルーチンはFastExportに戻る前に入力データ長バッファを新しい値に設定する必要があります。
  • 入力長よりも大きければ、出力応答行を出力データ バッファに生成する必要があります。この場合、OUTMODルーチンはFastExportに戻る前に出力データ長バッファを新しい値に設定し、入力データ長バッファをゼロにリセットする必要があります。

出力データ長の形式は4バイトの整数です。

データの破損を防ぐため、これらの規約に従っていないOUTMODルーチンは再始動コード4、5、6を検出すると終了します。FastExportの再始動操作を正しくサポートするため、OUTMODルーチンはチェックポイント情報をここで説明した方法で保存して復元しなければなりません。OUTMODが別の方法でチェックポイント情報を保存すると、その後の再始動/回復操作でデータの損失や破損が生じることがあります。