Isolation Level
Keeping the work of one database task separated from others is what isolation is about.Changes made by one statement become visible to all remaining statements executing within the same transaction, regardless of its isolation level.Changes that are in progress within other transactions remain invisible to the current transaction as long as they remain uncommitted.The isolation level and, sometimes, other attributes, determine how transactions will interact when another transaction wants to commit work.
The ISOLATION LEVEL
attribute defines the isolation level for the transaction being started.It is the most significant transaction parameter for determining its behavior towards other concurrently running transactions.
The three isolation levels supported in Firebird are:
-
SNAPSHOT
-
SNAPSHOT TABLE STABILITY
-
READ COMMITTED
with three specifications (READ CONSISTENCY
,NO RECORD_VERSION
andRECORD_VERSION
)