/*public*/private static void bpt_scan_nodes(BPlusTree bpt, boolean verbose) BPTreeNodeMgr nodeMgr = new BPTreeNodeMgr(bpt, bpt.getNodeManager().getBlockMgr()) ; BPTreeNode node = nodeMgr.getRead(idx, 0) ; if ( node == null ) break ; nodeMgr.release(node) ;
private BptTxnState createState() { return new BptTxnState(rootIdx, nodeManager.allocLimit(), recordsMgr.allocLimit()) ; }
@Override public void close() { nodeManager.close() ; recordsMgr.close() ; stateManager.close() ; }
blkMgrRecords.resetAlloc(stateMgr.getRecordsBlocksLimit()); BPTreeNodeMgr nodeManager = new BPTreeNodeMgr(bpt, blkMgrNodes) ; nodeManager.startRead(); BPTreeNode root = nodeManager.getRead(bpt.getRootId(), BPlusTreeParams.RootParent) ; root.checkNodeDeep() ; nodeManager.release(root) ; nodeManager.finishRead();
nodeManager.startUpdate(); recordsMgr.startUpdate(); BPTreeNode n = nodeManager.createNode(BPlusTreeParams.RootParent) ; n.setCount(0) ; // Count is count of records. int rootId = n.getId() ; nodeManager.write(n) ; nodeManager.release(n) ; } finally { recordsMgr.finishUpdate(); nodeManager.finishUpdate();
@Override protected ByteBuffer _commitPrepare(TxnId txnId, BptTxnState state) { nodeManager.getBlockMgr().sync(); recordsMgr.getBlockMgr().sync(); long nodeLimit = nodeManager.allocLimit() ; long recordsLimit = recordsMgr.allocLimit() ; // But don't write it yet. stateManager.setState(state.getRoot(), nodeLimit, recordsLimit); return stateManager.getState() ; }
BPTreeNode bptNode = mgr.createNode(-1) ; bptNode.setIsLeaf(leafLayer) ; if ( debug ) System.out.println("Slot = " + slot) ; mgr.put(bptNode) ; if ( debug ) System.out.println("Slot = " + slot) ; mgr.put(bptNode) ; return true ;
@Override public void reset(Block block) { this.block = block ; // reformat block (sets record and pointer buffers) BPTreeNodeMgr.formatBPTreeNode(this, bpTree, block, isLeaf, parent, count) ; }
BPTreeNodeMgr.formatForRoot(root, n.isLeaf) ; n.records.copy(0, root.records, 0, n.count) ; n.ptrs.copy(0, root.ptrs, 0, n.count + 1) ;
private void finishUpdateBlkMgr() { nodeManager.finishUpdate() ; recordsMgr.finishUpdate() ; }
private static BPTreeNode create(BPlusTree bpTree, int parent, boolean isLeaf) { BPTreeNode n = bpTree.getNodeManager().createNode(parent) ; n.isLeaf = isLeaf ; return n ; }
/** Allocate space for a fresh node. */ public BPTreeNode createNode(int parent) { BPTreeNode n = create(BPTREE_BRANCH) ; n.setIsLeaf(false) ; n.setParent(parent) ; return n ; }
void finishReadBlkMgr() { nodeManager.finishRead() ; recordsMgr.finishRead() ; }
n.setCount(decodeCount(n.getCount())) ; } else numPtrs = n.getCount() + 1 ;
blkMgrRecords.resetAlloc(stateMgr.getRecordsBlocksLimit()); BPTreeNodeMgr nodeManager = new BPTreeNodeMgr(bpt, blkMgrNodes) ; nodeManager.startRead(); BPTreeNode root = nodeManager.getRead(bpt.getRootId(), BPlusTreeParams.RootParent) ; root.checkNodeDeep() ; nodeManager.release(root) ; nodeManager.finishRead();
nodeManager.startUpdate(); recordsMgr.startUpdate(); BPTreeNode n = nodeManager.createNode(BPlusTreeParams.RootParent) ; n.setCount(0) ; // Count is count of records. int rootId = n.getId() ; nodeManager.write(n) ; nodeManager.release(n) ; } finally { recordsMgr.finishUpdate(); nodeManager.finishUpdate();
@Override protected ByteBuffer _commitPrepare(TxnId txnId, BptTxnState state) { nodeManager.getBlockMgr().sync(); recordsMgr.getBlockMgr().sync(); long nodeLimit = nodeManager.allocLimit() ; long recordsLimit = recordsMgr.allocLimit() ; // But don't write it yet. stateManager.setState(state.getRoot(), nodeLimit, recordsLimit); return stateManager.getState() ; }
BPTreeNode bptNode = mgr.createNode(-1) ; bptNode.setIsLeaf(leafLayer) ; if ( debug ) System.out.println("Slot = " + slot) ; mgr.put(bptNode) ; if ( debug ) System.out.println("Slot = " + slot) ; mgr.put(bptNode) ; return true ;
@Override public void reset(Block block) { this.block = block ; // reformat block (sets record and pointer buffers) BPTreeNodeMgr.formatBPTreeNode(this, bpTree, block, isLeaf, parent, count) ; }
BPTreeNodeMgr.formatForRoot(root, n.isLeaf) ; n.records.copy(0, root.records, 0, n.count) ; n.ptrs.copy(0, root.ptrs, 0, n.count + 1) ;