File: CosTransactions_Resource.3

package info (click to toggle)
erlang-manpages 1%3A12.b.3-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,188 kB
  • ctags: 2
  • sloc: makefile: 68; perl: 30; sh: 15
file content (130 lines) | stat: -rw-r--r-- 3,409 bytes parent folder | download
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