/** * Get the current rootPage * * @return The rootPage */ public Page<K, V> getRootPage() { return getBtreeHeader().getRootPage(); }
/** * Get the rootPage associated to a give revision. * * @param revision The revision we are looking for * @return The rootPage associated to this revision * @throws IOException If we had an issue while accessing the underlying file * @throws KeyNotFoundException If the revision does not exist for this Btree */ public Page<K, V> getRootPage( long revision ) throws IOException, KeyNotFoundException { // Atm, the in-memory BTree does not support searches in many revisions return getBtreeHeader().getRootPage(); }
/* no qualifier */void setRootPage( Page<K, V> root ) { getBtreeHeader().setRootPage( root ); }
/** * {@inheritDoc} */ protected ReadTransaction<K, V> beginReadTransaction() { BTreeHeader<K, V> btreeHeader = getBtreeHeader(); ReadTransaction<K, V> readTransaction = new ReadTransaction<K, V>( btreeHeader, readTransactions ); readTransactions.add( readTransaction ); return readTransaction; }
/** * {@inheritDoc} */ protected ReadTransaction<K, V> beginReadTransaction( long revision ) { BTreeHeader<K, V> btreeHeader = getBtreeHeader( revision ); if ( btreeHeader != null ) { ReadTransaction<K, V> readTransaction = new ReadTransaction<K, V>( btreeHeader, readTransactions ); readTransactions.add( readTransaction ); return readTransaction; } else { return null; } }
sb.append( "( pageSize:" ).append( getPageSize() ); if ( getBtreeHeader().getRootPage() != null ) sb.append( ", nbEntries:" ).append( getBtreeHeader().getNbElems() );
insert( key, value, getBtreeHeader().getRevision() );
insert( key, value, getBtreeHeader().getRevision() ); delete( key, getBtreeHeader().getRevision() );
bb.putLong( getBtreeHeader().getNbElems() );
BTreeHeader<K, V> oldBtreeHeader = getBtreeHeader(); BTreeHeader<K, V> newBtreeHeader = createNewBtreeHeader( oldBtreeHeader, revision ); newBtreeHeader.setBtree( this );
BTreeHeader<K, V> oldBtreeHeader = getBtreeHeader(); BTreeHeader<K, V> newBtreeHeader = createNewBtreeHeader( oldBtreeHeader, revision ); newBtreeHeader.setBtree( this );