Quantcast
Viewing all articles
Browse latest Browse all 262

Tsurugiのトランザクション内でエラーが発生した場合の挙動

Tsurugi Advent Calendar 2023の12日目です。

現在のTsurugiでは、トランザクション内でSQLを実行してエラーが発生した場合、そのトランザクションは使用不可になります。
エラー発生後に続けてSQLを実行したりコミットしたりすると、INACTIVE_TRANSACTION_EXCEPTIONが発生します。

Tsurugi SQLコンソール(tgsql)の場合、\show transactionでトランザクションの状態が確認できます。
トランザクションの使用が続行不可能な場合は「transaction status: cannot continue」というメッセージと共に、エラー原因のメッセージが表示されます。

Iceaxeの場合は、TsurugiTransactionのgetTransactionStatusメソッドでトランザクションの状態を取得できます。
Tsubakuroの場合は、TransactionのgetSqlServiceExceptionメソッドで、発生したエラーを取得できます。


Viewing all articles
Browse latest Browse all 262

Trending Articles