@Override public boolean promote(Promote txnType) { return txn.promote(txnType); } @Override public void commit() { txn.commit(); }
@Override public boolean promote(Promote txnType) { return txn.promote(txnType); } @Override public void commit() { txn.commit(); }
@Override public boolean promote(Promote mode) { return delegate.promote(mode); }
@Override public boolean promote(Promote promote) { return txnLifecycle.promote(promote); } @Override public void commit() { txnLifecycle.commit(); }
@Override public boolean promote(Promote txnType) { return txn.promote(txnType); } @Override public void commit() { txn.commit(); }
@Override public boolean promote(Promote mode) { return txn.promote(mode) ; } @Override public boolean isInTransaction() { return txn.isInTransaction(); }
@Override public boolean promote(Promote txnType) { return txn.promote(txnType); } @Override public void commit() { txn.commit(); }
@Override public boolean promote(Promote txnType) { return txn.promote(txnType); } @Override public void abort() { txn.abort(); }
@Override public boolean promote(Promote txnType) { return txn.promote(txnType); } //Above: commit()
@Override public boolean promote(Promote mode) { return txn.promote(mode) ; } @Override public boolean isInTransaction() { return txn.isInTransaction(); }
@Override public boolean promote(Promote promote) { return transactional.promote(promote); } @Override public void commit() { transactional.commit(); }
@Override public boolean promote(Promote promote) { return transactional.promote(promote); } @Override public void commit() { transactional.commit(); }
@Override public boolean promote(Promote promote) { return txnLifecycle.promote(promote); } @Override public void commit() { txnLifecycle.commit(); }
@Override public boolean promote(Promote txnType) { checkTransactional(); return transactional.promote(txnType); }
@Override public boolean promote(Promote mode) { return TransactionalMultiplex.forEachR(delegates, d -> d.promote(mode)); }
boolean x = txn.promote(); if ( x ) return ;
@Test public void txn_threaded_02() { //Transactional tx = DatasetGraphFactory.createTxnMem(); Transactional tx = counter; // Start and enter the W transaction. ThreadAction a = ThreadTxn.threadTxnWrite(tx, ()->{}); // ThreadAction started ... in W transaction. Txn.exec(tx, TxnType.READ_PROMOTE, ()->{ // ... have the thread action complete. a.run(); // Blocks promotion. boolean b = tx.promote(); assertFalse(b); assertEquals(ReadWrite.READ, tx.transactionMode()); }); }
@Test public void txn_threaded_03() { Transactional tx = DatasetGraphFactory.createTxnMem(); //Transactional tx = counter; // Start and enter the W transaction. ThreadAction a = ThreadTxn.threadTxnWriteAbort(tx, ()->{}); // ThreadAction started ... in W transaction. Txn.exec(tx, TxnType.READ_PROMOTE, ()->{ // ... have the thread action abort.. a.run(); // Does not block promotion. boolean b = tx.promote(); assertTrue(b); assertEquals(ReadWrite.WRITE, tx.transactionMode()); }); }