Transactions
A transaction groups the changes made to Tables within a Collection during an execution plan. These changes are committed together, so they become visible at the same time.
Transactions are how Tabsdata maintains pristine state. If an execution plan fails, its output is not published, and Tables remain in the same state they were in before the execution began. See Execution & Triggers for more information about pristine state.
Collection Transactions
The Collection is the transaction boundary in Tabsdata. When an execution plan processes a Collection, Tabsdata creates a transaction that includes the changes made to Tables in that Collection.
When the transaction is committed, all of those changes become visible together. This prevents users from reading a Collection while only some of its Tables have been updated.
Transactions Across Collections
An execution plan can process Functions across multiple Collections. Because each Collection has its own transaction, a single execution plan can contain multiple transactions.
This is why execution plans in Tabsdata are multi-transactional.