FireDAC.Stan.Option.TFDTxOptions.Isolation

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

property Isolation: TFDTxIsolation read FIsolation write SetIsolation

C++

__property TFDTxIsolation Isolation = {read=FIsolation, write=SetIsolation, default=0};

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 

xiUnspecified

Uses the default DBMS isolation level. This is the default value of the Isolation property.

xiDirtyRead

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. 

xiReadCommitted

Allows the reading of committed (permanent) changes made to the database by other simultaneous transactions.  

xiRepeatableRead

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. 

xiSnapshot

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.  

xiSerializible 

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.

See Also

Samples