Man pages sections > man3 > CosTransactions_Resource

CosTransactions_Resource - This module implements the OMG

CosTransactions_Resource(3erl) Erlang Module Definition CosTransactions_Resource(3erl)

NAME

CosTransactions_Resource - This module implements the OMG CosTransactions::Resource interface.

DESCRIPTION

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

EXPORTS

commit(Resource) -> Return
 
Types:
 
Resource = #objref
 
Return = ok | {'EXCEPTION', E}
 
E = #'CosTransactions_NotPrepared'{} | #'CosTransactions_HeuristicRollback'{} | #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazard'{}
 
This operation instructs the Resource to commit all changes made as a part of the transaction.
The Resource can raise:
*
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.
 
commit_one_phase(Resource) -> Return
 
Types:
 
Resource = #objref
 
Return = ok | {'EXCEPTION', E}
 
E = #'CosTransactions_HeuristicHazard'{} | #'CosTransactions_TransactionRolledBack'{}
 
If possible, the Resource should commit all changes made as part of the transaction, else it should raise the TRANSACTION_ROLLEDBACK exception. This operation can only be used if the Resource is the only child of its parent.
 
forget(Resource) -> Return
 
Types:
 
Resource = #objref
 
Return = ok
 
This operation informs the Resource that it is safe to forget any Heuristic decisions and the knowledge of the transaction.
 
prepare(Resource) -> Return
 
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.
 
rollback(Resource) -> Return
 
Types:
 
Resource = #objref
 
Return = ok | {'EXCEPTION', E}
 
E = #'CosTransactions_HeuristicCommit'{} | #'CosTransactions_HeuristicMixed'{} | #'CosTransactions_HeuristicHazard'{}
 
This operation instructs the Resource to rollback all changes made as a part of the transaction.
The Resource can raise:
*
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.
cosTransactions 1.3.2 Ericsson AB