Types
Resource = #objref
Return = Vote | {'EXCEPTION', E}
Vote = 'VoteReadOnly' | 'VoteCommit' | 'VoteRollback'
E = #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazard'{}
This operation is invoked on the Resource to begin the two-phase commit protocol.
The Resource can reply:
- 'VoteReadOnly' - if no persistent data has been modified by the transaction.
The Resource can forget all knowledge of the transaction.
- 'VoteCommit' - if the Resource has been prepared and is able to write all the
data needed to commit the transaction to stable storage.
- 'VoteRollback' - under any circumstances but must do so if none of the alternatives above
are applicable.
- Heuristic Exception - if a Heuristic decision is made which differ
from the true outcome of the transaction. The Resource must remember
the Heuristic outcome until the forget operation is performed.