1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
.TH CosTransactions_Resource 3 "cosTransactions 1.2.4" "Ericsson AB" "ERLANG MODULE DEFINITION"
.SH MODULE
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
.TP
Types
Resource = #objref
.br
Return = ok | {\&'EXCEPTION\&', E}
.br
E = #\&'CosTransactions_NotPrepared\&'{} | #\&'CosTransactions_HeuristicRollback\&'{} | #\&'CosTransactions_HeuristicMixed\&'{} | #\&'CosTransactions_HeuristicHazard\&'{}
.br
.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\&.
.RE
.RE
.LP
.B
commit_one_phase(Resource) -> Return
.br
.RS
.TP
Types
Resource = #objref
.br
Return = ok | {\&'EXCEPTION\&', E}
.br
E = #\&'CosTransactions_HeuristicHazard\&'{} | #\&'CosTransactions_TransactionRolledBack\&'{}
.br
.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
.TP
Types
Resource = #objref
.br
Return = ok
.br
.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
.TP
Types
Resource = #objref
.br
Return = Vote | {\&'EXCEPTION\&', E}
.br
Vote = \&'VoteReadOnly\&' | \&'VoteCommit\&' | \&'VoteRollback\&'
.br
E = #\&'CosTransactions_HeuristicMixed\&'{} | #\&'CosTransactions_HeuristicHazard\&'{}
.br
.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\&.
.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\&.
.TP 2
*
\&'VoteRollback\&' - under any circumstances but must do so if none of the alternatives above are applicable\&.
.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\&.
.RE
.RE
.LP
.B
rollback(Resource) -> Return
.br
.RS
.TP
Types
Resource = #objref
.br
Return = ok | {\&'EXCEPTION\&', E}
.br
E = #\&'CosTransactions_HeuristicCommit\&'{} | #\&'CosTransactions_HeuristicMixed\&'{} | #\&'CosTransactions_HeuristicHazard\&'{}
.br
.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\&.
.RE
.RE
|