## Syntax ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR Start((START)) -->| | beginTransactionStatement beginTransactionStatement --> End((END)) Start((START)) -->| | rollbackTransactionStatement rollbackTransactionStatement --> End((END)) Start((START)) -->| | commitTransactionStatement commitTransactionStatement --> End((END)) ``` ## beginTransactionStatement ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR beginTransactionStatement_start((START)) beginTransactionStatement_start --> beginTransactionStatement_0_0[BEGIN]:::quoted beginTransactionStatement_0_0 --> beginTransactionStatement_0_1[TRANSACTION]:::quoted beginTransactionStatement_0_1 --> beginTransactionStatement_0_2[DATACONTAINER]:::quoted beginTransactionStatement_0_2 --> beginTransactionStatement_0_3[stringConstant] beginTransactionStatement_0_3 --> beginTransactionStatement_end((END)) ``` ## Purpose A begin transaction statement initiates a transaction. Invantive UniversalSQL typically provides no transaction logic given the distributed nature and the limitations of the possible platforms. Some platforms enable collection of transaction data, which are to be handed over to the backing platform all together. ## rollbackTransactionStatement ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR rollbackTransactionStatement_start((START)) rollbackTransactionStatement_start --> rollbackTransactionStatement_0_0[ROLLBACK]:::quoted rollbackTransactionStatement_0_0 --> rollbackTransactionStatement_0_1[TRANSACTION]:::quoted rollbackTransactionStatement_0_1 --> rollbackTransactionStatement_0_2[DATACONTAINER]:::quoted rollbackTransactionStatement_0_2 --> rollbackTransactionStatement_0_3[stringConstant] rollbackTransactionStatement_0_3 --> rollbackTransactionStatement_end((END)) ``` ## Purpose Forgets all collected transaction data not yet handed over to the backing platform. ## commitTransactionStatement ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR commitTransactionStatement_start((START)) commitTransactionStatement_start --> commitTransactionStatement_0_0[COMMIT]:::quoted commitTransactionStatement_0_0 --> commitTransactionStatement_0_1[TRANSACTION]:::quoted commitTransactionStatement_0_1 --> commitTransactionStatement_0_2[DATACONTAINER]:::quoted commitTransactionStatement_0_2 --> commitTransactionStatement_0_3[stringConstant] commitTransactionStatement_0_3 --> commitTransactionStatement_end((END)) ``` ## Purpose Hand over all collected transaction to the backing platform for registration.