BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


tx_rollback(3c)

名前

tx_rollback()-グロ―バル・トランザクションのロールバック

形式

#include <tx.h> 
int tx_rollback(void)

機能説明

tx_rollback() は、呼び出し元の制御スレッドでアクティブなトランザクションをロールバックするのに使用します。

transaction_control 特性 (tx_set_transaction_control(3c) を参照) が TX_UNCHAINED である場合は、tx_rollback() が終了すると、呼び出し元はトランザクション・モードではなくなります。一方、transaction_control 特性が TX_CHAINED である場合は、tx_rollback() が終了すると、呼び出し元は新しいトランザクションのためにトランザクション・モードのままになります (このページの「戻り値」および「エラー」の項を参照してください)。

マルチスレッド・アプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは tx_rollback() の呼び出しを発行できません。

選択可能なセットアップ

戻り値

tx_rollback() は、正常終了時には、負数ではない戻り値 TX_OK を返します。

エラー

次の条件の場合、tx_rollback() は異常終了し、次のいずれかの負の値を返します。

[TX_NO_BEGIN]

現在のトランザクションは、ロールバックしました。ただし、新しいトランザクションを開始できなかったので、呼び出し元はトランザクション・モードではなくなりました。この戻り値は transaction_control 特性が TX_CHAINED である場合のみ発生します。

[TX_MIXED]

トランザクションのために行われた作業は、部分的にコミットされ、部分的にロールバックされました。また、transaction_control 特性が TX_CHAINED の場合は、新しいトランザクションが開始します。

[TX_MIXED_NO_BEGIN]

トランザクションのために行われた作業は、部分的にコミットされ、部分的にロールバックされました。また、新しいトランザクションを開始できなかったので、呼び出し元はトランザクション・モードではなくなりました。この戻り値は transaction_control 特性が TX_CHAINEDである場合のみ発生します。

[TX_HAZARD]

障害が原因で、トランザクションのために行われた作業は、部分的にコミットされ、部分的にロール・バックされた可能性があります。また、transaction_control 特性が TX_CHAINED の場合は、新しいトランザクションが開始します。

[TX_HAZARD_NO_BEGIN]

障害が原因で、トランザクションのために行われた作業は、部分的にコミットされ、部分的にロール・バックされた可能性があります。また、新しいトランザクションを開始できなかったので、呼び出し元はトランザクション・モードではなくなりました。この戻り値は transaction_control 特性が TX_CHAINED である場合のみ発生します。

[TX_COMMITTED]

トランザクションのために行われた作業は、ヒューリスティックにコミットされました。また、transaction_control 特性が TX_CHAINED の場合は、新しいトランザクションが開始します。

[TX_COMMITTED_NO_BEGIN]

トランザクションのために行われた作業は、ヒューリスティックにコミットされました。また、新しいトランザクションを開始できなかったので、呼び出し元はトランザクション・モードではなくなりました。この戻り値は transaction_control 特性が TX_CHAINED である場合のみ発生します。

[TX_PROTOCOL_ERROR]

この関数が不正なコンテキストで呼び出されました (たとえば、呼び出し元がトランザクション・モードにない場合)。

[TX_FAIL]

トランザクション・マネージャまたは 1 つ以上のリソース・マネージャが、致命的エラーを検出しました。このエラーでは、トランザクション・マネージャまたは 1 つ以上のリソース・マネージャ、あるいはその両方は、アプリケーションのために作業を行うことができなくなります。エラーの正確な内容はログ・ファイルに書き込まれます。トランザクションについての呼び出し元の状態は不明です。

関連項目

tx_begin(3c)tx_set_transaction_control(3c)tx_set_transaction_timeout(3c)

警告

X/Open TX インターフェイスと X-Window システムは、いずれも型 XID を定義します。同一のファイルで X-Window コールと TX コールの両方を使用することはできません。

 

先頭へ戻る 前のトピックへ 次のトピックへ