use of org.apache.jena.atlas.lib.Pair in project jena by apache.
the class TestTransRestart method countRDFNodes.
// Only call when the dataset is not in TDBMaker or in StoreConnection
private int countRDFNodes() {
ObjectFile objects = FileFactory.createObjectFileDisk(location.getPath(Names.indexId2Node, Names.extNodeData));
int count = 0;
Iterator<Pair<Long, ByteBuffer>> iter = objects.all();
while (iter.hasNext()) {
iter.next();
count++;
}
objects.close();
return count;
}
use of org.apache.jena.atlas.lib.Pair in project jena by apache.
the class dumpnodetable method dump.
public static void dump(OutputStream w, NodeTable nodeTable) {
// Better to hack the indexes?
Iterator<Pair<NodeId, Node>> iter = nodeTable.all();
long count = 0;
try (IndentedWriter iw = new IndentedWriter(w)) {
for (; iter.hasNext(); ) {
Pair<NodeId, Node> pair = iter.next();
iw.print(pair.car().toString());
iw.print(" : ");
// iw.print(pair.cdr()) ;
Node n = pair.cdr();
String $ = stringForNode(n);
iw.print($);
iw.println();
count++;
}
iw.println();
iw.printf("Total: " + count);
iw.println();
iw.flush();
}
}
use of org.apache.jena.atlas.lib.Pair in project jena by apache.
the class BPlusTreeRewriter method writePackedDataBlocks.
// **** data block phase
/** Pack record blocks into linked RecordBufferPages */
private static Iterator<Pair<Integer, Record>> writePackedDataBlocks(Iterator<Record> records, final BPlusTree bpt) {
if (debug) {
divider();
System.out.println("---- Data level");
}
final RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr();
Iterator<RecordBufferPage> iter = new RecordBufferPageLinker(new RecordBufferPagePacker(records, mgr));
Function<RecordBufferPage, Pair<Integer, Record>> transform = rbp -> {
mgr.put(rbp);
Record r = rbp.getRecordBuffer().getHigh();
r = bpt.getRecordFactory().createKeyOnly(r);
return new Pair<>(rbp.getId(), r);
};
// Write and convert to split pairs.
Iterator<Pair<Integer, Record>> iter2 = Iter.map(iter, transform);
if (debug) {
if (rebalance)
System.out.println("Before rebalance (data)");
iter2 = summarizeDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr());
//iter2 = printDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr()) ;
}
if (rebalance)
iter2 = new RebalenceDataEnd(iter2, bpt);
// Testing - materialize - debug wil have done this
if (materialize && !debug)
iter2 = Iter.toList(iter2).iterator();
if (debug && rebalance) {
System.out.println("After rebalance (data)");
iter2 = summarizeDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr());
//iter2 = printDataBlocks(iter2, bpt.getRecordsMgr().getRecordBufferPageMgr()) ;
}
return iter2;
}
use of org.apache.jena.atlas.lib.Pair in project jena by apache.
the class BPlusTreeRewriterUtils method printDataBlocks.
private static Iterator<Pair<Integer, Record>> printDataBlocks(Iterator<Pair<Integer, Record>> iter, RecordBufferPageMgr recordPageMgr) {
divider();
List<Pair<Integer, Record>> x = Iter.toList(iter);
System.out.printf(">>Packed data blocks\n");
for (Pair<Integer, Record> pair : x) {
System.out.printf(" %s\n", pair);
RecordBufferPage rbp = recordPageMgr.getRead(pair.car());
//System.out.printf("RecordBufferPage[id=%d,link=%d] %d\n", rbp.getId(), rbp.getLink(), rbp.getCount() ) ;
System.out.println(rbp);
recordPageMgr.release(rbp);
}
System.out.printf("<<Packed data blocks\n");
System.out.printf("Blocks: %d\n", x.size());
return x.iterator();
}
use of org.apache.jena.atlas.lib.Pair in project jena by apache.
the class BPlusTreeRewriterUtils method summarizeDataBlocks.
static Iterator<Pair<Integer, Record>> summarizeDataBlocks(Iterator<Pair<Integer, Record>> iter, RecordBufferPageMgr recordPageMgr) {
divider();
List<Pair<Integer, Record>> x = Iter.toList(iter);
for (Pair<Integer, Record> pair : x) {
RecordBufferPage rbp = recordPageMgr.getRead(pair.car());
System.out.printf("%s -- RecordBufferPage[id=%d,link=%d] (%d) -> [%s]\n", pair, rbp.getId(), rbp.getLink(), rbp.getCount(), rbp.getRecordBuffer().getHigh());
recordPageMgr.release(rbp);
}
return x.iterator();
}
Aggregations