フラグ定義と同様に、すべてのトランザクション・マネージャおよびリソース・マネージャは、これらの戻りコード (xa.h ヘッダで定義される) を使用して互換性を保証する必要があります。
#define | コード | 説明 |
---|---|---|
XA_RBBASE | 100 | ロールバック・コードの下限 (下限値を含む)。 |
XA_RBROLLBACK | XA_RBBASE | 詳細不明の理由によってロールバックが行われました。 |
XA_RBCOMMFAIL | XA_RBBASE+1 | 通信障害によってロールバックが行われました。 |
XA_RBDEADLOCK | XA_RBBASE+2 | デッドロックが検出されました。 |
XA_RBINTEGRITY | XA_RBBASE+3 | リソースの整合性に違反する状態が検出されました。 |
XA_RBOTHER | XA_RBBASE+4 | リストにない理由によって、リソース・マネージャがトランザクション・ブランチをロールバックしました。 |
XA_RBPROTO | XA_RBBASE+5 | リソース・マネージャでプロトコル・エラーが発生しました。 |
XA_RBTIMEOUT | XA_RBBASE+6 | トランザクション・ブランチに時間がかかりすぎました。 |
XA_RBTRANSIENT | XA_RBBASE+7 | トランザクション・ブランチを再試行する場合があります。 |
XA_RBEND | XA_RBTRANSIENT | ロールバック・コードの上限 (上限値を含む)。 |
XA_NOMIGRATE | 9 | 一時停止が発生した場合は、再開が行われる必要があります。 |
XA_HEURHAZ | 8 | トランザクション・ブランチがヒューリスティックに完了した可能性があります。 |
XA_HEURCOM | 7 | トランザクション・ブランチがヒューリスティックにコミットされました。 |
XA_HEURRB | 6 | トランザクション・ブランチがヒューリスティックにロールバックされました。 |
XA_HEURMIX | 5 | トランザクション・ブランチがヒューリスティックにコミットされ、ロールバックされました。 |
XA_RETRY | 4 | ルーチンが効果なしに復帰したため、再発行される可能性があります。 |
XA_RDONLY | 3 | トランザクション・ブランチは読み取り専用であり、コミットされています。 |
XA_OK | 0 | 正常実行。 |
XAER_ASYNC | -2 | 既に未処理となった非同期操作です。 |
XAER_RMERR | -3 | トランザクション・ブランチでリソース・マネージャ・エラーが発生しました。 |
XAER_NOTA | -4 | XID が無効です。 |
XAER_INVAL | -5 | 無効な引数が指定されました。 |
XAER_PROTO | -6 | 不正なコンテキストでルーチンが呼び出されました。 |
XAER_RMFAIL | -7 | リソース・マネージャは使用不可です。 |
XAER_DUPID | -8 | XID は既に存在します。 |
XAER_OUTSIDE | -9 | リソース・マネージャは外部で作業を実行しています。 |