use of org.apache.jena.tdb.store.NodeId in project jena by apache.
the class AbstractTestNodeTableTrans method nodetrans_04.
@Test
public void nodetrans_04() {
Transaction txn = createTxn(11);
NodeTableTrans ntt = create(txn, node1);
NodeTable nt0 = ntt.getBaseNodeTable();
ntt.begin(txn);
// Add a node
NodeId nodeId = ntt.getAllocateNodeId(node2);
// Not here
assertEquals(NodeId.NodeDoesNotExist, nt0.getNodeIdForNode(node2));
// Is here
assertEquals(nodeId, ntt.getNodeIdForNode(node2));
ntt.commitPrepare(txn);
ntt.commitEnact(txn);
assertEquals(nodeId, nt0.getNodeIdForNode(node2));
ntt.commitClearup(txn);
}
use of org.apache.jena.tdb.store.NodeId in project jena by apache.
the class TDBInternal method getNodeId.
/**
* Return the NodeId for a node. Returns NodeId.NodeDoesNotExist when the
* node is not found. Returns null when not a TDB-backed dataset.
*/
public static NodeId getNodeId(DatasetGraphTDB dsg, Node node) {
if (dsg == null)
return null;
NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable();
NodeId nodeId = nodeTable.getNodeIdForNode(node);
return nodeId;
}
use of org.apache.jena.tdb.store.NodeId in project jena by apache.
the class NodeTableTrans method getAllocateNodeId.
@Override
public NodeId getAllocateNodeId(Node node) {
if (passthrough)
return base.getAllocateNodeId(node);
NodeId nodeId = getNodeIdForNode(node);
if (!NodeId.isDoesNotExist(nodeId))
return nodeId;
// add to journal
nodeId = allocate(node);
return nodeId;
}
use of org.apache.jena.tdb.store.NodeId in project jena by apache.
the class NodeTableTrans method getNodeIdForNode.
@Override
public NodeId getNodeIdForNode(Node node) {
if (node == Node.ANY)
return NodeId.NodeIdAny;
if (passthrough)
return base.getNodeIdForNode(node);
NodeId nodeId = nodeTableJournal.getNodeIdForNode(node);
if (!NodeId.isDoesNotExist(nodeId))
return mapFromJournal(nodeId);
nodeId = base.getNodeIdForNode(node);
return nodeId;
}
use of org.apache.jena.tdb.store.NodeId in project jena by apache.
the class NodeTableTrans method dump.
// Debugging only
private void dump() {
System.err.println(">>>>>>>>>>");
System.err.println("label = " + label);
System.err.println("txn = " + txn);
System.err.println("offset = " + allocOffset);
System.err.println("journalStartOffset = " + journalObjFileStartOffset);
System.err.println("journal = " + journalObjFile.getLabel());
if (true)
return;
System.err.println("nodeTableJournal >>>");
Iterator<Pair<NodeId, Node>> iter = nodeTableJournal.all();
for (; iter.hasNext(); ) {
Pair<NodeId, Node> x = iter.next();
NodeId nodeId = x.getLeft();
Node node = x.getRight();
NodeId mapped = mapFromJournal(nodeId);
//debug("append: %s -> %s", x, mapFromJournal(nodeId)) ;
// This does the write.
NodeId nodeId2 = base.getAllocateNodeId(node);
System.err.println(x + " mapped=" + mapped + " getAlloc=" + nodeId2);
}
System.err.println("journal >>>");
Iterator<Pair<Long, ByteBuffer>> iter1 = this.journalObjFile.all();
for (; iter1.hasNext(); ) {
Pair<Long, ByteBuffer> p = iter1.next();
System.err.println(p.getLeft() + " : " + p.getRight());
ByteBufferLib.print(System.err, p.getRight());
}
System.err.println("nodeIndex >>>");
Iterator<Record> iter2 = this.nodeIndex.iterator();
for (; iter2.hasNext(); ) {
Record r = iter2.next();
System.err.println(r);
}
System.err.println("<<<<<<<<<<");
}
Aggregations