SNAPSHOT TABLE STABILITY
Isolation Level
The SNAPSHOT TABLE STABILITY
— or SNAPSHOT TABLE
— isolation level is the most restrictive.As in SNAPSHOT
, a transaction in SNAPSHOT TABLE STABILITY
isolation sees only those changes that were committed before the current transaction was started.After a SNAPSHOT TABLE STABILITY
is started, no other transactions can make any changes to any table in the database that has changes pending for this transaction.Other transactions can read other data, but any attempt at inserting, updating or deleting by a parallel process will cause conflict exceptions.
The RESERVING
clause can be used to allow other transactions to change data in some tables.
If any other transaction has an uncommitted change pending in any (non-SHARED
) table listed in the RESERVING
clause, trying to start a SNAPSHOT TABLE STABILITY
transaction will result in an indefinite wait (default or explicit WAIT
), or an exception (NO WAIT
or after expiration of the LOCK TIMEOUT
).
The SNAPSHOT TABLE STABILITY
isolation level is also known as “consistency”.