Provided by: erlang-manpages_18.3-dfsg-1ubuntu3.1_all bug

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.

Ericsson AB                                   cosTransactions 1.3.1               CosTransactions_Resource(3erl)