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メソッドで、発生したエラーを取得できます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます