Class PGXAConnection

    • Method Detail

      • start

        public void start​(Xid xid,
                          int flags)
                   throws XAException
        Preconditions: 1. flags must be one of TMNOFLAGS, TMRESUME or TMJOIN 2. xid != null 3. connection must not be associated with a transaction 4. the TM hasn't seen the xid before Implementation deficiency preconditions: 1. TMRESUME not supported. 2. if flags is TMJOIN, we must be in ended state, and xid must be the current transaction 3. unless flags is TMJOIN, previous transaction using the connection must be committed or prepared or rolled back Postconditions: 1. Connection is associated with the transaction
        Specified by:
        start in interface XAResource
        Throws:
        XAException
      • end

        public void end​(Xid xid,
                        int flags)
                 throws XAException
        Preconditions: 1. Flags is one of TMSUCCESS, TMFAIL, TMSUSPEND 2. xid != null 3. Connection is associated with transaction xid Implementation deficiency preconditions: 1. Flags is not TMSUSPEND Postconditions: 1. connection is disassociated from the transaction.
        Specified by:
        end in interface XAResource
        Throws:
        XAException
      • prepare

        public int prepare​(Xid xid)
                    throws XAException
        Preconditions: 1. xid != null 2. xid is in ended state Implementation deficiency preconditions: 1. xid was associated with this connection Postconditions: 1. Transaction is prepared
        Specified by:
        prepare in interface XAResource
        Throws:
        XAException
      • recover

        public Xid[] recover​(int flag)
                      throws XAException
        Preconditions: 1. flag must be one of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS or TMSTARTTRSCAN | TMENDRSCAN 2. if flag isn't TMSTARTRSCAN or TMSTARTRSCAN | TMENDRSCAN, a recovery scan must be in progress Postconditions: 1. list of prepared xids is returned
        Specified by:
        recover in interface XAResource
        Throws:
        XAException
      • rollback

        public void rollback​(Xid xid)
                      throws XAException
        Preconditions: 1. xid is known to the RM or it's in prepared state Implementation deficiency preconditions: 1. xid must be associated with this connection if it's not in prepared state. Postconditions: 1. Transaction is rolled back and disassociated from connection
        Specified by:
        rollback in interface XAResource
        Throws:
        XAException
      • getTransactionTimeout

        public int getTransactionTimeout()
        We don't do transaction timeouts. Just returns 0.
        Specified by:
        getTransactionTimeout in interface XAResource
      • setTransactionTimeout

        public boolean setTransactionTimeout​(int seconds)
        We don't do transaction timeouts. Returns false.
        Specified by:
        setTransactionTimeout in interface XAResource