Implicit Transactions - Teradata Meta Data Services

Teradata Meta Data Services Programmer Guide

Teradata Meta Data Services
Release Number
English (United States)
Last Update
Product Category
Teradata Tools and Utilities

Implicit Transactions

Implicit transactions are MDS API-level transactions which automatically occur without any special action from the user. If the user has not initiated an explicit MDS transaction, then each MDS API call is automatically performed as a separate implicit transaction. The implicit transaction brackets all database activity occurring within the MDS API call, guaranteeing the ACID properties.

These transactions ensure that the MDS repository data remains consistent at the MDS object level, that is, that the structure of all MDS repository objects and the relationships between them remain intact. Implicit transactions are needed because in the database, MDS objects are decomposed into relational table entries, and the data comprising a single object will in general be stored in multiple rows distributed among multiple tables. Without implicit transactions, it would be possible for several MDS users to read and write parts of a single MDS object in an interleaved fashion, resulting in inconsistent data returned and/or persisted in the repository, or for a crash during an MDS API’s execution to leave the repository in an inconsistent state.

Because the structural preservation of MDS repository objects fundamentally depends on the existence of implicit MDS API-level transactions, there is no way for the user to disable them. Database changes made during an MDS API call will only be committed if the entire API completes execution without errors. Otherwise the changes will be rolled back to the state prior to the API call.