アクティブトランザクションとは、開始済みであるが、まだコミットまたはロールバックされていないトランザクションを指します。アクティブトランザクションによって行われた変更は、コミットされるまで一時的なものであり、他のトランザクションからは参照できません。 state フィールドの値が示す意味は、次の表のとおりです。
stateの値 |
説明 |
|---|---|
| INIT | トランザクションがアクティブ状態にあり、すべての変更は他のトランザクションから見えないことを示します。 |
| REDO COMPLETE | トランザクションがすべてのデータをログ形式で正常に永続化したことを示します。 |
| PREPARE | トランザクションのコミットが開始され、現在 PREPARE 状態にあることを示します。このトランザクションの変更を読み取るとフリーズする可能性があります(バージョン番号による)。 |
| PRECOMMIT | トランザクションがコミット寸前であり、トランザクションのコミットバージョン番号を関連するすべての参加者に同期していることを示します。 |
| COMMIT | トランザクションのコミットが開始され、現在 COMMIT 状態にあることを示します。他のトランザクションはこのトランザクションの変更を確認できます(バージョン番号による)。 |
| ABORT | トランザクションがロールバックされ、ABORT 状態にあることを示します。他のトランザクションはこのトランザクションの変更を確認できません。 |
| CLEAR | トランザクションのコミットまたはロールバックが終了し、CLEAR 状態にあることを示します。 |
アクティブトランザクションのデータストレージに関する詳細は、マルチバージョン読み取りの一貫性を参照してください。