その他のXLA機能
その他のXLA機能は、ブックマークの位置の変更、およびアプリケーション・コンテキストの受渡しです。
ブックマークの位置の変更
接続中は、随時ttXlaGetLSN
関数をコールして現行読取りログ・レコード識別子に関してシステムに問い合せることができます。
「ttXlaGetLSN」を参照してください。
一連の更新を繰り返し実行する必要がある場合は、ttXlaSetLSN
関数を使用して、現行読取りログ・レコード識別子を最後のttXlaAcknowledge
コールによって設定された初期読取りログ・レコード識別子より大きい有効な値に再設定できます。ここで、「大きい」とは、比較対象のログ・レコード識別子が同じトランザクション内のレコードのものである場合にのみ意味を持ちます。そうでない場合、ログ・レコード識別子の数値が大きいとしても、別のトランザクションより前にコミットされたトランザクションのログ・レコード識別子は「より小さい」ログ・レコード識別子になります。初期読取りログ・レコード識別子を現行読取りログ・レコード識別子まで進める方法は、ttXlaAcknowledge
関数をコールする方法のみで、この関数によって、現行読取りログ・レコード識別子までのすべてのトランザクション・ログ・レコードを取得および処理したということが示されます。特定のブックマークに対してttXlaAcknowledge
をコールすると、現行読取りログ・レコード識別子より小さいログ・レコード識別子を持つトランザクション・ログ・レコードにアクセスできなくなります。
アプリケーション・コンテキストの受渡し
XLA関数ではありませんが、トランザクション・ログに対するライターでttApplicationContext
組込みプロシージャをコールして、アプリケーションに関連付けられているバイナリ・データをXLAリーダーに渡すことができます。
ttApplicationContext
組込みプロシージャにより、現在のトランザクションによって生成される次の更新レコードで返される、1つのVARBINARY
値を指定します。XLAリーダーでは、「NOT INLINE可変長列データの読取り」で説明されている方法で、この値へのポインタを取得できます。
ノート:
コンテキスト値は、1つの更新レコードにのみ適用されます。適用後に値が再設定されます。同じコンテキスト値を複数の更新に適用する場合は、各更新の前に再設定する必要があります。
コンテキストを設定するには、次の手順を実行します。