Provided by: erlang-manpages_20.2.2+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.