@Override protected Record internalMaxRecord(AccessPath path) { BPTreePage page = get(count) ; trackPath(path, this, count, page) ; Record r = page.internalMaxRecord(path) ; page.release() ; return r ; }
x.add(get(i)) ;
@Override protected Record internalMaxRecord(AccessPath path) { BPTreePage page = get(count) ; trackPath(path, this, count, page) ; Record r = page.internalMaxRecord(path) ; page.release() ; return r ; }
x.add(get(i)) ;
/** 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 ; }
/** 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 ; }
/** Return true if there are no keys here or below this node */ @Override final boolean hasAnyKeys() { if ( this.count > 0 ) return true ; if ( !isRoot() ) return false ; // The root can be zero size and point to a single data block. BPTreePage page = get(0) ; boolean b = page.hasAnyKeys() ; page.release() ; return b ; }
@Override protected Record internalMinRecord(AccessPath path) { BPTreePage page = get(0) ; trackPath(path, this, 0, page) ; Record r = page.internalMinRecord(path) ; page.release() ; return r ; }
/** Return true if there are no keys here or below this node */ @Override final boolean hasAnyKeys() { if ( this.count > 0 ) return true ; if ( !isRoot() ) return false ; // The root can be zero size and point to a single data block. BPTreePage page = get(0) ; boolean b = page.hasAnyKeys() ; page.release() ; return b ; }
@Override public void output(IndentedWriter out) { out.print(toString()) ; out.incIndent() ; for ( int i = 0 ; i < count + 1 ; i++ ) { out.println() ; BPTreePage page = get(i) ; page.output(out) ; page.release() ; } out.decIndent() ; }
@Override public void output(IndentedWriter out) { out.print(toString()) ; out.incIndent() ; for ( int i = 0 ; i < count + 1 ; i++ ) { out.println() ; BPTreePage page = get(i) ; page.output(out) ; page.release() ; } out.decIndent() ; }
BPTreePage sub = root.get(0) ; promote1(sub, root, 0) ; BPTreeNode n = cast(sub) ;
BPTreePage sub = root.get(0) ; promote1(sub, root, 0) ; BPTreeNode n = cast(sub) ;
BPTreePage page = root.get(0) ; if ( BPT.CheckingNode && !(page instanceof BPTreeRecords) ) BPT.error("Zero size leaf root but not pointing to a records block") ;
BPTreePage page = root.get(0) ; if ( BPT.CheckingNode && !(page instanceof BPTreeRecords) ) BPT.error("Zero size leaf root but not pointing to a records block") ;