Search in sources :

Example 11 with DatasetGraphTxn

use of org.apache.jena.tdb.transaction.DatasetGraphTxn in project jena by apache.

the class AbstractTestTransSeq method trans_readBlock_09.

@Test
public void trans_readBlock_09() {
    // WRITE(commit)-READ(start)-WRITE(commit)-READ(finish)-check
    StoreConnection sConn = getStoreConnection();
    DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE);
    dsgW1.add(q1);
    dsgW1.commit();
    dsgW1.end();
    DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ);
    DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE);
    dsgW2.add(q2);
    dsgW2.commit();
    dsgW2.end();
    DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ);
    assertTrue(dsgR1.contains(q1));
    assertFalse(dsgR1.contains(q2));
    assertTrue(dsgR2.contains(q1));
    assertTrue(dsgR2.contains(q2));
    dsgR1.end();
    dsgR2.end();
    sConn.flush();
    DatasetGraph dsg = sConn.getBaseDataset();
    assertTrue(dsg.contains(q1));
    assertTrue(dsg.contains(q2));
}
Also used : StoreConnection(org.apache.jena.tdb.StoreConnection) DatasetGraphTxn(org.apache.jena.tdb.transaction.DatasetGraphTxn) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) Test(org.junit.Test) BaseTest(org.apache.jena.atlas.junit.BaseTest)

Example 12 with DatasetGraphTxn

use of org.apache.jena.tdb.transaction.DatasetGraphTxn in project jena by apache.

the class AbstractTestTransSeq method trans_04.

@Test
public void trans_04() {
    // WRITE-abort-READ-check
    StoreConnection sConn = getStoreConnection();
    DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE);
    dsgW.add(q);
    assertTrue(dsgW.contains(q));
    dsgW.abort();
    dsgW.end();
    DatasetGraphTxn dsg2 = sConn.begin(ReadWrite.READ);
    assertFalse(dsg2.contains(q));
    dsg2.end();
    sConn.flush();
    DatasetGraph dsg = sConn.getBaseDataset();
    assertFalse(dsg.contains(q));
}
Also used : StoreConnection(org.apache.jena.tdb.StoreConnection) DatasetGraphTxn(org.apache.jena.tdb.transaction.DatasetGraphTxn) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) Test(org.junit.Test) BaseTest(org.apache.jena.atlas.junit.BaseTest)

Example 13 with DatasetGraphTxn

use of org.apache.jena.tdb.transaction.DatasetGraphTxn in project jena by apache.

the class AbstractTestTransSeq method trans_readBlock_06.

@Test
public void trans_readBlock_06() {
    // WRITE(start)-READ(start)-WRITE(commit)-READ sees old DSG.
    // READ before WRITE remains seeing old view - READ after WRITE starts 
    StoreConnection sConn = getStoreConnection();
    DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE);
    DatasetGraphTxn dsgR = sConn.begin(ReadWrite.READ);
    dsgW.add(q);
    dsgW.commit();
    dsgW.end();
    assertFalse(dsgR.contains(q));
    dsgR.end();
    DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ);
    assertTrue(dsgR2.contains(q));
    dsgR2.end();
    sConn.flush();
    DatasetGraph dsg = sConn.getBaseDataset();
    assertTrue(dsg.contains(q));
}
Also used : StoreConnection(org.apache.jena.tdb.StoreConnection) DatasetGraphTxn(org.apache.jena.tdb.transaction.DatasetGraphTxn) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) Test(org.junit.Test) BaseTest(org.apache.jena.atlas.junit.BaseTest)

Example 14 with DatasetGraphTxn

use of org.apache.jena.tdb.transaction.DatasetGraphTxn in project jena by apache.

the class AbstractTestTransSeq method trans_readBlock_10.

@Test
public void trans_readBlock_10() {
    // READ(start)-WRITE(start)-WRITE(finish)-WRITE(start)-READ(finish)-WRITE(finish)-check
    StoreConnection sConn = getStoreConnection();
    DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ);
    DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE);
    dsgW1.add(q1);
    dsgW1.commit();
    dsgW1.end();
    DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE);
    dsgW2.add(q2);
    dsgR1.end();
    dsgW2.commit();
    dsgW2.end();
    sConn.forceRecoverFromJournal();
    DatasetGraphTDB dsg = sConn.getBaseDataset();
    assertTrue(dsg.contains(q1));
    assertTrue(dsg.contains(q2));
}
Also used : StoreConnection(org.apache.jena.tdb.StoreConnection) DatasetGraphTxn(org.apache.jena.tdb.transaction.DatasetGraphTxn) DatasetGraphTDB(org.apache.jena.tdb.store.DatasetGraphTDB) Test(org.junit.Test) BaseTest(org.apache.jena.atlas.junit.BaseTest)

Example 15 with DatasetGraphTxn

use of org.apache.jena.tdb.transaction.DatasetGraphTxn in project jena by apache.

the class AbstractTestTransSeq method trans_22.

@Test(expected = JenaTransactionException.class)
public void trans_22() {
    // WRITE-close causes implicit abort
    StoreConnection sConn = getStoreConnection();
    DatasetGraphTxn dsg = sConn.begin(ReadWrite.WRITE);
    dsg.add(q);
    dsg.end();
}
Also used : StoreConnection(org.apache.jena.tdb.StoreConnection) DatasetGraphTxn(org.apache.jena.tdb.transaction.DatasetGraphTxn) Test(org.junit.Test) BaseTest(org.apache.jena.atlas.junit.BaseTest)

Aggregations

DatasetGraphTxn (org.apache.jena.tdb.transaction.DatasetGraphTxn)33 StoreConnection (org.apache.jena.tdb.StoreConnection)32 BaseTest (org.apache.jena.atlas.junit.BaseTest)27 Test (org.junit.Test)27 DatasetGraph (org.apache.jena.sparql.core.DatasetGraph)15 ConfigTest (org.apache.jena.tdb.ConfigTest)8 Dataset (org.apache.jena.query.Dataset)2 Quad (org.apache.jena.sparql.core.Quad)2 Location (org.apache.jena.tdb.base.file.Location)2 DatasetGraphTDB (org.apache.jena.tdb.store.DatasetGraphTDB)2 CountDownLatch (java.util.concurrent.CountDownLatch)1 ExecutorService (java.util.concurrent.ExecutorService)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 Model (org.apache.jena.rdf.model.Model)1 BeforeClass (org.junit.BeforeClass)1