static Iterator<Pair<Integer, Record>> summarizeIndexBlocks(Iterator<Pair<Integer, Record>> iter2, BPTreeNodeMgr bptNodeMgr) { divider() ; List<Pair<Integer, Record>> pairs = Iter.toList(iter2) ; for ( Pair<Integer, Record> pair : pairs ) { BPTreeNode bpNode = bptNodeMgr.getRead(pair.car(), BPlusTreeParams.RootParent) ; String hr = "null" ; if ( !bpNode.getRecordBuffer().isEmpty() ) hr = bpNode.getRecordBuffer().getHigh().toString() ; System.out.printf("%s -- BPTreeNode: %d (%d) -> [%s]\n", pair, bpNode.getId(), bpNode.getCount(), hr) ; bptNodeMgr.release(bpNode) ; } return pairs.iterator() ; }
static Iterator<Pair<Integer, Record>> summarizeIndexBlocks(Iterator<Pair<Integer, Record>> iter2, BPTreeNodeMgr bptNodeMgr) { divider() ; List<Pair<Integer, Record>> pairs = Iter.toList(iter2) ; for ( Pair<Integer, Record> pair : pairs ) { BPTreeNode bpNode = bptNodeMgr.getRead(pair.car(), BPlusTreeParams.RootParent) ; String hr = "null" ; if ( !bpNode.getRecordBuffer().isEmpty() ) hr = bpNode.getRecordBuffer().getHigh().toString() ; System.out.printf("%s -- BPTreeNode: %d (%d) -> [%s]\n", pair, bpNode.getId(), bpNode.getCount(), hr) ; bptNodeMgr.release(bpNode) ; } return pairs.iterator() ; }
private static void copyBPTreeNode(BPTreeNode nodeSrc, BPTreeNode nodeDst, BPlusTree bpt2) { PtrBuffer pBuff = nodeSrc.getPtrBuffer() ; pBuff.copy(0, nodeDst.getPtrBuffer(), 0, pBuff.getSize()) ; RecordBuffer rBuff = nodeSrc.getRecordBuffer() ; rBuff.copy(0, nodeDst.getRecordBuffer(), 0, rBuff.getSize()) ; nodeDst.setCount(nodeSrc.getCount()) ; nodeDst.setIsLeaf(nodeSrc.isLeaf()) ; bpt2.getNodeManager().put(nodeDst) ; } }
private static void copyBPTreeNode(BPTreeNode nodeSrc, BPTreeNode nodeDst, BPlusTree bpt2) { PtrBuffer pBuff = nodeSrc.getPtrBuffer() ; pBuff.copy(0, nodeDst.getPtrBuffer(), 0, pBuff.getSize()) ; RecordBuffer rBuff = nodeSrc.getRecordBuffer() ; rBuff.copy(0, nodeDst.getRecordBuffer(), 0, rBuff.getSize()) ; nodeDst.setCount(nodeSrc.getCount()) ; nodeDst.setIsLeaf(nodeSrc.isLeaf()) ; bpt2.getNodeManager().put(nodeDst) ; } }
private static void fixupRoot(BPTreeNode root, Pair<Integer, Record> pair, BPlusTree bpt2) { root.getPtrBuffer().clear() ; root.getRecordBuffer().clear() ; if ( BPlusTreeRewriter.debug ) { divider() ; System.out.printf("** Process root: %s\n", pair) ; } // Node or records? // BPTreeNode => BPTree copy. BPTreeNode node = bpt2.getNodeManager().getRead(pair.car(), BPlusTreeParams.RootParent) ; copyBPTreeNode(node, root, bpt2) ; bpt2.getNodeManager().release(node) ; bpt2.getNodeManager().write(root); }
private static void fixupRoot(BPTreeNode root, Pair<Integer, Record> pair, BPlusTree bpt2) { root.getPtrBuffer().clear() ; root.getRecordBuffer().clear() ; if ( BPlusTreeRewriter.debug ) { divider() ; System.out.printf("** Process root: %s\n", pair) ; } // Node or records? // BPTreeNode => BPTree copy. BPTreeNode node = bpt2.getNodeManager().getRead(pair.car(), BPlusTreeParams.RootParent) ; copyBPTreeNode(node, root, bpt2) ; bpt2.getNodeManager().release(node) ; bpt2.getNodeManager().write(root); }
splitPoint = node1.getRecordBuffer().getHigh() ; node1.getRecordBuffer().removeTop() ; node1.setCount(node1.getCount() - 1) ; node2.getRecordBuffer().add(0, r) ; node2.setCount(node2.getCount() + 1) ;
splitPoint = node1.getRecordBuffer().getHigh() ; node1.getRecordBuffer().removeTop() ; node1.setCount(node1.getCount() - 1) ; node2.getRecordBuffer().add(0, r) ; node2.setCount(node2.getCount() + 1) ;
bptNode.setIsLeaf(leafLayer) ; RecordBuffer recBuff = bptNode.getRecordBuffer() ; PtrBuffer ptrBuff = bptNode.getPtrBuffer() ; recBuff.setSize(0) ;
bptNode.setIsLeaf(leafLayer) ; RecordBuffer recBuff = bptNode.getRecordBuffer() ; PtrBuffer ptrBuff = bptNode.getPtrBuffer() ; recBuff.setSize(0) ;
root.getRecordBuffer().clear() ;
root.getRecordBuffer().clear() ;