private Record keyRecord(Record record) { return bpTree.getRecordFactory().createKeyOnly(record) ; }
private Record keyRecord(Record record) { return bpTree.getRecordFactory().createKeyOnly(record) ; }
private static Iterator<Pair<Integer, Record>> genTreeLevel(Iterator<Pair<Integer, Record>> iter, BPlusTree bpt, boolean leafLayer) { if ( debug ) { divider() ; System.out.println("---- Index level") ; List<Pair<Integer, Record>> x = Iter.toList(iter) ; System.out.println(x) ; iter = x.iterator() ; } Iterator<Pair<Integer, Record>> iter2 = new BPTreeNodeBuilder(iter, bpt.getNodeManager(), leafLayer, bpt.getRecordFactory()) ; if ( debug ) { if ( rebalance ) System.out.println("Before rebalance (index)") ; // iter2 = summarizeIndexBlocks(iter2, bpt.getNodeManager()) ; iter2 = printIndexBlocks(iter2, bpt.getNodeManager()) ; } if ( rebalance ) iter2 = new RebalenceIndexEnd(iter2, bpt, leafLayer) ; if ( materialize && !debug ) iter2 = Iter.toList(iter2).iterator() ; if ( debug && rebalance ) { System.out.println("After rebalance (index)") ; // iter2 = summarizeIndexBlocks(iter2, bpt.getNodeManager()) ; iter2 = printIndexBlocks(iter2, bpt.getNodeManager()) ; } return iter2 ; }
private static Iterator<Pair<Integer, Record>> genTreeLevel(Iterator<Pair<Integer, Record>> iter, BPlusTree bpt, boolean leafLayer) { if ( debug ) { divider() ; System.out.println("---- Index level") ; List<Pair<Integer, Record>> x = Iter.toList(iter) ; System.out.println(x) ; iter = x.iterator() ; } Iterator<Pair<Integer, Record>> iter2 = new BPTreeNodeBuilder(iter, bpt.getNodeManager(), leafLayer, bpt.getRecordFactory()) ; if ( debug ) { if ( rebalance ) System.out.println("Before rebalance (index)") ; // iter2 = summarizeIndexBlocks(iter2, bpt.getNodeManager()) ; iter2 = printIndexBlocks(iter2, bpt.getNodeManager()) ; } if ( rebalance ) iter2 = new RebalenceIndexEnd(iter2, bpt, leafLayer) ; if ( materialize && !debug ) iter2 = Iter.toList(iter2).iterator() ; if ( debug && rebalance ) { System.out.println("After rebalance (index)") ; // iter2 = summarizeIndexBlocks(iter2, bpt.getNodeManager()) ; iter2 = printIndexBlocks(iter2, bpt.getNodeManager()) ; } return iter2 ; }
mgr.put(rbp) ; Record r = rbp.getRecordBuffer().getHigh() ; r = bpt.getRecordFactory().createKeyOnly(r) ; return new Pair<>(rbp.getId(), r) ; }) ;
mgr.put(rbp) ; Record r = rbp.getRecordBuffer().getHigh() ; r = bpt.getRecordFactory().createKeyOnly(r) ; return new Pair<>(rbp.getId(), r) ; }) ;
@Override protected Record rebalance(int id1, Record r1, int id2, Record r2) { RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr() ; RecordBufferPage page1 = mgr.getWrite(id1) ; RecordBufferPage page2 = mgr.getWrite(id2) ; // Wrong calculatation. for ( int i = page2.getCount() ; i < page1.getMaxSize() / 2 ; i++ ) { // shiftOneup(node1, node2) ; Record r = page1.getRecordBuffer().getHigh() ; page1.getRecordBuffer().removeTop() ; page2.getRecordBuffer().add(0, r) ; } mgr.put(page1) ; mgr.put(page2) ; Record splitPoint = page1.getRecordBuffer().getHigh() ; splitPoint = bpt.getRecordFactory().createKeyOnly(splitPoint) ; // Record splitPoint = node1.maxRecord() ; return splitPoint ; } }
@Override protected Record rebalance(int id1, Record r1, int id2, Record r2) { RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr() ; RecordBufferPage page1 = mgr.getWrite(id1) ; RecordBufferPage page2 = mgr.getWrite(id2) ; // Wrong calculatation. for ( int i = page2.getCount() ; i < page1.getMaxSize() / 2 ; i++ ) { // shiftOneup(node1, node2) ; Record r = page1.getRecordBuffer().getHigh() ; page1.getRecordBuffer().removeTop() ; page2.getRecordBuffer().add(0, r) ; } mgr.put(page1) ; mgr.put(page2) ; Record splitPoint = page1.getRecordBuffer().getHigh() ; splitPoint = bpt.getRecordFactory().createKeyOnly(splitPoint) ; // Record splitPoint = node1.maxRecord() ; return splitPoint ; } }