JBoss.orgCommunity Documentation

Chapter 6. Transaction Support

6.1. AutoCommitTxn Execution Property
6.2. Updating Model Count
6.3. JDBC and Transactions
6.3.1. JDBC API Functionality
6.3.2. J2EE Usage Models
6.4. Limitations and Workarounds

Teiid utilizes XA transactions for participating in global transactions and for demarcating its local and command scoped transactions. JBoss Transactions is used by Teiid as its transaction manager. See this documentation for the advanced features provided by JBoss Transactions.

Table 6.1. Teiid Transaction Scopes

ScopeDescription
Command Treats the user command as if all source commands are executed within the scope of the same transaction. The AutoCommitTxn execution property controls the behavior of command level transactions.
LocalThe transaction boundary is local defined by a single client session.
GlobalTeiid participates in a global transaction as an XA Resource.

The default transaction isolation level for Teiid is READ_COMMITTED.

Since user level commands may execute multiple source commands, users can specify the AutoCommitTxn execution property to control the transactional behavior of a user command when not in a local or global transaction.


The concept of command safety with respect to a transaction is determined by Teiid based upon command type, the transaction isolation level, and available metadata. A wrapping transaction is not needed if:

The update count may be set on all procedures as part of the procedure metadata in the model.

The term "updating model count" refers to the number of times any model is updated during the execution of a command. It is used to determine whether a transaction, of any scope, is required to safely execute the command.