@Override public Boolean call() { ds.begin(TxnType.READ); long x = counter.incrementAndGet(); // Hold the lock for a few seconds - these should be in parallel. Lib.sleep(1000); ds.commit(); return true; } };
@Test(expected=JenaTransactionException.class) public void transaction_err_nontxn_commit_1() { Dataset ds = create(); ds.commit(); }
@Test(expected=JenaTransactionException.class) public void transaction_err_nontxn_commit_2() { Dataset ds = create(); ds.begin(TxnType.READ); ds.end(); ds.commit(); }
@Test(expected=JenaTransactionException.class) public void transaction_err_nontxn_commit_3() { Dataset ds = create(); ds.begin(TxnType.WRITE); ds.end(); ds.commit(); }
private void read1(Dataset ds) { ds.begin(TxnType.READ); assertTrue(ds.isInTransaction()); ds.commit(); assertFalse(ds.isInTransaction()); ds.end(); }
private void write(Dataset ds) { ds.begin(TxnType.WRITE); assertTrue(ds.isInTransaction()); ds.commit(); assertFalse(ds.isInTransaction()); ds.end(); }
@Test public void uniontxn_ds_rr() { ds.begin(READ) ; ds.commit(); ds.end() ; ds.getContext().setTrue(TDB.symUnionDefaultGraph) ; test(ReadWrite.READ) ; //ds.getContext().unset(TDB.symUnionDefaultGraph) ; }
@Test public void uniontxn_ds_wr() { ds.begin(WRITE) ; ds.commit(); ds.end() ; ds.getContext().setTrue(TDB.symUnionDefaultGraph) ; test(ReadWrite.READ) ; //ds.getContext().unset(TDB.symUnionDefaultGraph) ; }
@Test public void uniontxn_ds_rw() { ds.begin(READ) ; ds.commit(); ds.end() ; ds.getContext().setTrue(TDB.symUnionDefaultGraph) ; test(ReadWrite.WRITE) ; //ds.getContext().unset(TDB.symUnionDefaultGraph) ; }
@Test public void uniontxn_ds_ww() { ds.begin(WRITE) ; ds.commit(); ds.end() ; ds.getContext().setTrue(TDB.symUnionDefaultGraph) ; test(ReadWrite.WRITE) ; //ds.getContext().unset(TDB.symUnionDefaultGraph) ; }
@Test public void transaction_w01() { Dataset ds = create(); ds.begin(TxnType.WRITE); assertTrue(ds.isInTransaction()); ds.commit(); assertFalse(ds.isInTransaction()); }
@Test public void transaction_w02() { Dataset ds = create(); ds.begin(ReadWrite.WRITE); assertTrue(ds.isInTransaction()); ds.commit(); assertFalse(ds.isInTransaction()); }
private void test(ReadWrite mode) { ds.begin(mode) ; Query q = QueryFactory.create("SELECT * { { ?s ?p ?o } UNION { GRAPH ?g { ?s ?p ?o }}}") ; QueryExecution qExec = QueryExecutionFactory.create(q, ds) ; long count = ResultSetFormatter.consume(qExec.execSelect()) ; ds.commit() ; ds.end() ; assertEquals(2, count) ; }
@Test public void transaction_read_promote() { assumeTrue(supportsPromote()); Dataset ds = create(); ds.begin(TxnType.READ); boolean b = ds.promote(); // Fails assertFalse(b); ds.commit(); ds.end(); }
private void test2(ReadWrite mode) { ds.begin(mode) ; Query q = QueryFactory.create("SELECT * { { ?s ?p ?o } UNION { GRAPH ?g { ?s ?p ?o }}}") ; QueryExecution qExec = QueryExecutionFactory.create(q, ds) ; qExec.getContext().setTrue(TDB.symUnionDefaultGraph) ; long count = ResultSetFormatter.consume(qExec.execSelect()) ; ds.commit() ; ds.end() ; assertEquals(2, count) ; }
private void testPromote(TxnType txnType , Promote promoteMode, boolean succeeds) { Dataset ds = create(); ds.begin(txnType); assertTrue(ds.isInTransaction()); boolean b1 = ds.promote(promoteMode); assertEquals(succeeds, b1); boolean b2 = ds.promote(promoteMode); assertEquals("Try same promote again", b1, b2); ds.commit(); ds.end(); }
@Test public void transaction_r02() { Dataset ds = create(); ds.begin(TxnType.READ); assertTrue(ds.isInTransaction()); ds.commit(); assertFalse(ds.isInTransaction()); ds.end(); assertFalse(ds.isInTransaction()); }
@Test public void transaction_w04() { Dataset ds = create(); ds.begin(TxnType.WRITE); assertTrue(ds.isInTransaction()); ds.commit(); assertFalse(ds.isInTransaction()); ds.end(); assertFalse(ds.isInTransaction()); }