BEA Logo BEA Tuxedo Release 8.0

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

 

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

 


tx_commit(3c)

名前

tx_commit()-グロ―バル・トランザクションのコミット

形式

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

機能説明

tx_commit() は、呼び出し元の制御スレッドでアクティブなトランザクションの作業をコミットするために使用します。

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

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

選択可能なセットアップ

戻り値

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

エラー

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

[TX_NO_BEGIN]

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

[TX_ROLLBACK]

現在のトランザクションはコミットできず、ロール・バックされました。また、transaction_control 特性が TX_CHAINED の場合は、新しいトランザクションが開始します。

[TX_ROLLBACK_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_PROTOCOL_ERROR]

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

[TX_FAIL]

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

関連項目

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

警告

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

 

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