TransactionFlags Enumeration

Meta Data Services Programming

Meta Data Services Programming

TransactionFlags Enumeration

This enumeration specifies which transaction option is to be retrieved or set.

enum {
TXN_RESET_OPTIONS           = 1
TXN_NORMAL                  = 2
TXN_EXCLUSIVE_WRITEBACK     = 3
TXN_EXCLUSIVE_WRITETHROUGH  = 4
TXN_TIMEOUT_DURATION        = 5
TXN_START_TIMEOUT           = 6
TXN_QUERY_TIMEOUT           = 7
TXN_DBMS_READONLY           = 8
TXN_USE_DTC                 = 10
} TransactionFlags;
Value Description
TXN_RESET_OPTIONS Specifies that all options must be reset to their default values. Any associated option value is ignored. It is valid only for setting transaction options.
TXN_NORMAL Specifies the nonexclusive writeback mode transaction option.

Nonexclusive writeback mode allows transactions for other repository instances to execute concurrently. Updates are cached for each session until a transaction is committed.

TXN_NORMAL, TXN_EXCLUSIVE_WRITEBACK, and TXN_EXCLUSIVE_WRITETHROUGH are write modes. Write modes are mutually exclusive. Only one write mode can be specified for each transaction.

TXN_EXCLUSIVE_WRITEBACK This flag was created for use with version 1 of the repository engine. This flag is no longer valid.
TXN_EXCLUSIVE_WRITETHROUGH This flag was created for use with version 1 of the repository engine. This flag is no longer valid.
TXN_TIMEOUT_DURATION Specifies the transaction option that determines the maximum time to wait for a lock. The default value for this option is 20000 milliseconds.
TXN_START_TIMEOUT Specifies the transaction option that determines the maximum time to wait before starting a transaction.

TXN_START_TIMEOUT is the timeout duration if there are any conflicts in starting a transaction (for example, when two transactions want to use a shared cache in exclusive mode).

Setting TXN_START_TIMEOUT to zero means that there is no timeout. As a result, the repository engine will continuously try to start the transaction until it succeeds.

The default value for this option is 0 milliseconds.

TXN_QUERY_TIMEOUT Specifies the transaction option that determines the maximum number of seconds to wait while a database query is executing.

If multiple applications are performing transactions on the same cache, you may want to increase this value. Doing so gives a transaction from one application more time to complete before a second transaction (from another application) begins.

The default value for this option is 10 seconds.

TXN_DBMS_READONLY Specifies whether you can make changes to the repository database. If the value is zero, you can make changes. If the value is nonzero, the database is read-only. You can read the value of this option, but you cannot set it.
TXN_USE_DTC Specifies whether to use Microsoft® Distributed Transaction Coordinator (MS DTC) transactions.

See Also

IRepositoryTransaction::Get Option

IRepositoryTransaction::Set Option

RepositoryTransaction Get Option Method

RepositoryTransaction Set Option Method