# CosTransactions_Terminator

### MODULE

CosTransactions_Terminator

### MODULE SUMMARY

This module implements the OMG CosTransactions::Terminator interface.

### DESCRIPTION

To get access to the record definitions for the structures use:
`-include_lib("cosTransactions/include/CosTransactions.hrl").`

### EXPORTS

`commit(Terminator, ReportHeuristics) -> Return`

Types:

`Terminator = #objref`
`ReportHeuristics = boolean()`
`Return = ok | {'EXCEPTION', E}`
`E = #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazrd'{} | #'CosTransactions_TransactionRolledBack'{}`

This operation initiates the two-phase commit protocol. If the transaction has not been marked `'rollback only'` and all the participants agree to commit, the operation terminates normally. Otherwise, the TransactionRolledBack is raised. If the parameter `ReportHeuristics` is true and inconsistent outcomes by raising an Heuristic Exception.

`rollback(Terminator) -> Return`

Types:

`Terminator = #objref`
`Return = ok`

This operation roles back the transaction.

### AUTHORS

Niclas Eklund - support@erlang.ericsson.se

cosTransactions 1.2
Copyright © 1991-2006 Ericsson AB