Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2_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.