トランザクションブロックのステート

トランザクションブロックのステートというものがある。クライアントからみたとき状態らしい。前回のJDBCを使ったプログラムを動かしてとりあえず次のように遷移することを確認した。

  • TBLOCK_STARTED
  • TBLOCK_BEGIN
  • TBLOCK_INPROGRESS
  • TBLOCK_ABORT_PENDING
  • TBLOCK_DEFAULT

Parseのメッセージを処理する場合にまず、TBLOCK_STARTEDとなる。BEGINステートメントのExecuteメッセージの処理の実行でTBLOCK_BEGINとなり、この処理が終わるころにはTBLOCK_INPROGRESSとなる。ROLLBACKステートメントのExecuteメッセージの処理の実行でTBLOCK_ABORT_PENDINGとなり、この処理が終わるころにはTBLOCK_DEFAULTとなる。

状態はここに挙げたもの以外にもある。
また、サーバからみた状態としてトランザクションステートというものもある。それはトランザクションブロックのステートとは別物っぽい。トランザクションブロックのステートとトランザクションステートで用途がどう違うか調べる。