2.2.6.9 OLETX_ISOLATION_LEVEL

The OLETX_ISOLATION_LEVEL enumeration values specify the isolation levels of a transaction. The OLETX_ISOLATION_LEVEL enumeration values are not interpreted by the transaction manager. They are typically interpreted by resource managers that implement data isolation. These values are transported by the transaction manager from the root application to the resource managers.

 typedef  enum 
 {
   ISOLATIONLEVEL_UNSPECIFIED = 0xffffffff,
   ISOLATIONLEVEL_CHAOS = 0x00000010,
   ISOLATIONLEVEL_READUNCOMMITTED = 0x00000100,
   ISOLATIONLEVEL_READCOMMITTED = 0x00001000,
   ISOLATIONLEVEL_REPEATABLEREAD = 0x00010000,
   ISOLATIONLEVEL_SERIALIZABLE = 0x00100000
 } OLETX_ISOLATION_LEVEL;

ISOLATIONLEVEL_UNSPECIFIED:  No isolation level was specified.

ISOLATIONLEVEL_CHAOS:  Data is not isolated.

ISOLATIONLEVEL_READUNCOMMITTED:  A transaction can read any data, even if it is being modified by another transaction. Any type of new data can be inserted during a transaction.

ISOLATIONLEVEL_READCOMMITTED:  A transaction MUST NOT read data that is being modified by another transaction that has not committed. Any type of new data can be inserted during a transaction.

ISOLATIONLEVEL_REPEATABLEREAD:  Data read by a current transaction MUST NOT be changed by another transaction until the current transaction finishes. Any type of new data can be inserted during a transaction.

ISOLATIONLEVEL_SERIALIZABLE:  Data read by a current transaction MUST NOT be changed by another transaction until the current transaction finishes. New data MUST NOT be inserted by another transaction that would affect the current transaction.