.TH CosTransactions_Resource 3erl "cosTransactions 1.3.2" "Ericsson AB" "Erlang Module Definition" .SH NAME CosTransactions_Resource \- This module implements the OMG CosTransactions::Resource interface. .SH DESCRIPTION .LP To get access to the record definitions for the structures use: .br \fI-include_lib("cosTransactions/include/CosTransactions\&.hrl")\&.\fR\& .SH EXPORTS .LP .B commit(Resource) -> Return .br .RS .LP Types: .RS 3 Resource = #objref .br Return = ok | {\&'EXCEPTION\&', E} .br E = #\&'CosTransactions_NotPrepared\&'{} | #\&'CosTransactions_HeuristicRollback\&'{} | #\&'CosTransactions_HeuristicMixed\&'{} | #\&'CosTransactions_HeuristicHazard\&'{} .br .RE .RE .RS .LP This operation instructs the Resource to commit all changes made as a part of the transaction\&. .LP The Resource can raise: .RS 2 .TP 2 * 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 \fIforget\fR\& operation is performed\&. .LP .RE .RE .LP .B commit_one_phase(Resource) -> Return .br .RS .LP Types: .RS 3 Resource = #objref .br Return = ok | {\&'EXCEPTION\&', E} .br E = #\&'CosTransactions_HeuristicHazard\&'{} | #\&'CosTransactions_TransactionRolledBack\&'{} .br .RE .RE .RS .LP 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\&. .RE .LP .B forget(Resource) -> Return .br .RS .LP Types: .RS 3 Resource = #objref .br Return = ok .br .RE .RE .RS .LP This operation informs the Resource that it is safe to forget any Heuristic decisions and the knowledge of the transaction\&. .RE .LP .B prepare(Resource) -> Return .br .RS .LP Types: .RS 3 Resource = #objref .br Return = Vote | {\&'EXCEPTION\&', E} .br Vote = \&'VoteReadOnly\&' | \&'VoteCommit\&' | \&'VoteRollback\&' .br E = #\&'CosTransactions_HeuristicMixed\&'{} | #\&'CosTransactions_HeuristicHazard\&'{} .br .RE .RE .RS .LP This operation is invoked on the Resource to begin the two-phase commit protocol\&. .LP The Resource can reply: .RS 2 .TP 2 * \&'VoteReadOnly\&' - if no persistent data has been modified by the transaction\&. The Resource can forget all knowledge of the transaction\&. .LP .TP 2 * \&'VoteCommit\&' - if the Resource has been prepared and is able to write all the data needed to commit the transaction to stable storage\&. .LP .TP 2 * \&'VoteRollback\&' - under any circumstances but must do so if none of the alternatives above are applicable\&. .LP .TP 2 * 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 \fIforget\fR\& operation is performed\&. .LP .RE .RE .LP .B rollback(Resource) -> Return .br .RS .LP Types: .RS 3 Resource = #objref .br Return = ok | {\&'EXCEPTION\&', E} .br E = #\&'CosTransactions_HeuristicCommit\&'{} | #\&'CosTransactions_HeuristicMixed\&'{} | #\&'CosTransactions_HeuristicHazard\&'{} .br .RE .RE .RS .LP This operation instructs the Resource to rollback all changes made as a part of the transaction\&. .LP The Resource can raise: .RS 2 .TP 2 * 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 \fIforget\fR\& operation is performed\&. .LP .RE .RE