An active transaction is a transaction that is started but is not committed or rolled back. All changes made by an active transaction are temporary before the transaction is committed. The changes are also not visible to other transactions. The following table describes the values of the state field.
| Value | Note |
|---|---|
| INIT | The transaction is in the active state and all its changes are invisible to other transactions. |
| REDO COMPLETE | The transaction has persisted all data as logs. |
| PREPARE | The transaction starts to be committed and is in the PREPARE state. The read operations of the changes made by the transaction may get stuck, which depends on the transaction version. |
| PRECOMMIT | The transaction is about to be committed and the commit version number is being synchronized to all participants. |
| COMMIT | The transaction starts to be committed and is in the COMMIT state. Changes made by the transaction may be visible to other transactions, which depends on the transaction version. |
| ABORT | The transaction is rolled back and is in the ABORT state. Changes made by the transaction are not visible to other transactions. |
| CLEAR | The transaction is committed or rolled back and is in the CLEAR state. |
For information about the data storage of active transactions, see Multi-version read consistency.