9.4.1.2.1 コミットの成功条件の選択
1つのトランザクションに複数のグループが関係している場合、tpcommit()が正常に制御を戻すための条件として、次のいずれかを指定できます。
- すべての参加リソースからコミットの準備が完了したことが通知された場合。つまり、すべての参加リソースが2フェーズ・コミットの第1フェーズが完了したことを報告し、トランザクション・コーディネータのTMSが安定記憶域にコミットの決定を書き込んだ場合です。
- すべての参加リソースで2フェーズ・コミットの第2フェーズが完了した場合。
この2つの条件のいずれかを指定するには、構成ファイルのRESOURCESセクションのCMTRETパラメータに、次のいずれかの値を設定します。
-
LOGGED- 第1フェーズの完了が必須であることを示します -
COMPLETE- 第2フェーズの完了が必須であることを示します
デフォルトでは、CMTRETはCOMPLETEに設定されます。
後で構成ファイルの設定値を変更する場合は、flags引数にTP_CMT_LOGGEDまたはTP_CMT_COMPLETEを設定して、tpscmt()を呼び出します。
親トピック: 2フェーズ・コミット・プロトコル