@Override protected Record internalMaxRecord(AccessPath path) { BPTreePage page = get(count) ; trackPath(path, this, count, page) ; Record r = page.internalMaxRecord(path) ; page.release() ; return r ; }
/** Find the next page to look at as we walk down the tree */ private final BPTreePage findHere(AccessPath path, Record rec) { int idx = findSlot(rec) ; idx = apply(idx) ; // Find index, or insertion point (immediate higher slot) as (-i-1) // A key is the highest element of the records up to this point // so we search down at slot idx (between something smaller and // something larger). BPTreePage page = get(idx) ; trackPath(path, this, idx, page) ; return page ; }
@Override protected Record internalMinRecord(AccessPath path) { BPTreePage page = get(0) ; trackPath(path, this, 0, page) ; Record r = page.internalMinRecord(path) ; page.release() ; return r ; }
@Override protected Record internalMaxRecord(AccessPath path) { BPTreePage page = get(count) ; trackPath(path, this, count, page) ; Record r = page.internalMaxRecord(path) ; page.release() ; return r ; }
/** Find the next page to look at as we walk down the tree */ private final BPTreePage findHere(AccessPath path, Record rec) { int idx = findSlot(rec) ; idx = apply(idx) ; // Find index, or insertion point (immediate higher slot) as (-i-1) // A key is the highest element of the records up to this point // so we search down at slot idx (between something smaller and // something larger). BPTreePage page = get(idx) ; trackPath(path, this, idx, page) ; return page ; }
@Override protected Record internalMinRecord(AccessPath path) { BPTreePage page = get(0) ; trackPath(path, this, 0, page) ; Record r = page.internalMinRecord(path) ; page.release() ; return r ; }
trackPath(path, this, idx, page) ;
if ( BPT.CheckingNode && !(page instanceof BPTreeRecords) ) BPT.error("Zero size leaf root but not pointing to a records block") ; trackPath(path, root, 0, page) ; Record r = page.internalDelete(path, rec) ; page.release() ;
if ( BPT.CheckingNode && !(page instanceof BPTreeRecords) ) BPT.error("Zero size leaf root but not pointing to a records block") ; trackPath(path, root, 0, page) ; Record r = page.internalDelete(path, rec) ; page.release() ;
trackPath(path, this, idx, page) ;
int y = apply(x) ; BPTreePage page = get(y) ; trackPath(path, this, y, page) ;
int y = apply(x) ; BPTreePage page = get(y) ; trackPath(path, this, y, page) ;