FireDAC.Stan.Option.TFDTxOptions.Isolation
Delphi
property Isolation: TFDTxIsolation read FIsolation write SetIsolation
C++
__property TFDTxIsolation Isolation = {read=FIsolation, write=SetIsolation, default=0};
Contents
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
property | published | FireDAC.Stan.Option.pas FireDAC.Stan.Option.hpp |
FireDAC.Stan.Option | TFDTxOptions |
Description
Specifies the transaction isolation level for the transactions managed by FireDAC.
Use the Isolation property to specify the transaction isolation level for the next transactions in the current session. Changing an isolation level does not affect a currently active transaction. The default value is xiUnspecified
.
If a user wants to use an isolation level different from the default used by the database, it must be set explicitly in the component configuration or in the code.
The Isolation property value is DBMS-independent, and it is translated into a closer native DBMS isolation level.
Level |
Description |
|
Uses the default DBMS isolation level. This is the default value of the Isolation property. |
|
Allows the reading of uncommitted changes made to the database by other simultaneous transactions. Uncommitted changes are not permanent and might be rolled back (undone) at any time. At this level, a transaction is least isolated from the effects of other transactions. |
|
Allows the reading of committed (permanent) changes made to the database by other simultaneous transactions. |
|
Allows a single, one-time reading of the database. The transaction cannot see any subsequent changes made by other simultaneous transactions. This isolation level guarantees that once a transaction reads a record, its view of that record does not change unless it makes a modification to the record itself. At this level, a transaction is most isolated from other transactions. |
|
Allows the reading of the committed last values that existed at the time it started. This isolation level guarantees that all queries run in the transaction see the same snapshot of the database based on the state of the database at the start of the transaction. |
|
Highest isolation level, which prevents other users from updating data until the transaction is complete. This isolation level specifies that all transactions occur in an isolated way, emulating serial transaction execution for all committed transactions; as if transactions were executed serially, one after another. |