Help Center/ GaussDB/ Distributed_8.x/ Storage Engine/ Ustore/ Ustore Transaction Model
Updated on 2024-06-07 GMT+08:00

Ustore Transaction Model

GaussDB transaction basis:

  1. An XID is not automatically allocated when a transaction is started, unless the first DML/DDL statement in the transaction is executed.
  2. When a transaction ends, a commit log (CLOG) indicating the transaction commit state is generated. The states can be IN_PROGRESS, COMMITTED, ABORTED, or SUB_COMMITTED. Each transaction has two Clog status bits. Each byte on the Clog page indicates four transaction commit states.
  3. When a transaction ends, a commit sequence number (CSN) is generated, which is an instance-level variable. Each XID corresponds to a unique CSN. The CSN can mark the following states of a transaction: committing, committed, rolled back, and frozen.