/** * @return the btreeOffset */ /* No qualifier*/long getBtreeOffset() { return getBTreeHeader( getName() ).getBTreeHeaderOffset(); }
/** * Add a new <btree, revision> tuple into the CopiedPages B-tree. * * @param name The B-tree name * @param revision The B-tree revision * @param btreeHeaderOffset The B-tree offset * @throws IOException If the update failed */ /* no qualifier */<K, V> void addInCopiedPagesBtree( String name, long revision, List<Page<K, V>> pages ) throws IOException { RevisionName revisionName = new RevisionName( revision, name ); long[] pageOffsets = new long[pages.size()]; int pos = 0; for ( Page<K, V> page : pages ) { pageOffsets[pos++] = ( ( AbstractPage<K, V> ) page ).getOffset(); } copiedPageBtree.insert( revisionName, pageOffsets ); // Update the CopiedPageBtree offset currentCopiedPagesBtreeOffset = ( ( AbstractBTree<RevisionName, long[]> ) copiedPageBtree ).getBtreeHeader().getBTreeHeaderOffset(); }
/** * Add a new <btree, revision> tuple into the B-tree of B-trees. * * @param name The B-tree name * @param revision The B-tree revision * @param btreeHeaderOffset The B-tree offset * @throws IOException If the update failed */ /* no qualifier */<K, V> void addInBtreeOfBtrees( String name, long revision, long btreeHeaderOffset ) throws IOException { checkOffset( btreeHeaderOffset ); NameRevision nameRevision = new NameRevision( name, revision ); btreeOfBtrees.insert( nameRevision, btreeHeaderOffset ); // Update the B-tree of B-trees offset currentBtreeOfBtreesOffset = getNewBTreeHeader( BTREE_OF_BTREES_NAME ).getBTreeHeaderOffset(); }
.getBTreeHeaderOffset(); updateRecordManagerHeader(); currentCopiedPagesBtreeOffset = ( ( PersistedBTree<RevisionName, long[]> ) copiedPageBtree ).getBtreeHeader().getBTreeHeaderOffset(); updateRecordManagerHeader();
/** * Create a new B-tree header to be used for update operations * @param revision The reclaimed revision */ private BTreeHeader<K, V> createNewBtreeHeader( BTreeHeader<K, V> btreeHeader, long revision ) { BTreeHeader<K, V> newBtreeHeader = new BTreeHeader<K, V>(); newBtreeHeader.setBTreeHeaderOffset( btreeHeader.getBTreeHeaderOffset() ); newBtreeHeader.setRevision( revision ); newBtreeHeader.setNbElems( btreeHeader.getNbElems() ); newBtreeHeader.setRootPage( btreeHeader.getRootPage() ); return newBtreeHeader; }
PageIO[] pageIos = recordManager.readPageIOs( btreeHeader.getBTreeHeaderOffset(), -1L );
PageIO[] pageIos = recordManager.readPageIOs( btreeHeader.getBTreeHeaderOffset(), -1L );