/** * Set the rootPage offset of the B-tree * * @param btree The B-tree to update * @param rootPageOffset The rootPageOffset to set */ /* no qualifier*/static <K, V> void setRootPageOffset( BTree<K, V> btree, long rootPageOffset ) { if ( btree instanceof PersistedBTree ) { ( ( PersistedBTree<K, V> ) btree ).getBtreeHeader().setRootPageOffset( rootPageOffset ); } else { throw new IllegalArgumentException( "The B-tree must be a PersistedBTree" ); } }
/** * {@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>( recordManager, btreeHeader, readTransactions ); readTransactions.add( readTransaction ); return readTransaction; } else { return null; } }
private BTreeHeader<K, V> getNewBTreeHeader( String name ) { if ( btreeType == BTreeTypeEnum.PERSISTED_SUB ) { return getBtreeHeader(); } BTreeHeader<K, V> btreeHeader = recordManager.getNewBTreeHeader( getName() ); return btreeHeader; }
private BTreeHeader<K, V> getBTreeHeader( String name ) { switch ( btreeType ) { case PERSISTED_SUB: return getBtreeHeader(); case BTREE_OF_BTREES: return recordManager.getNewBTreeHeader( RecordManager.BTREE_OF_BTREES_NAME ); case COPIED_PAGES_BTREE: return recordManager.getNewBTreeHeader( RecordManager.COPIED_PAGE_BTREE_NAME ); default: return recordManager.getBTreeHeader( name ); } }
currentBtreeOfBtreesOffset = ( ( PersistedBTree<NameRevision, Long> ) btreeOfBtrees ).getBtreeHeader() .getBTreeHeaderOffset(); updateRecordManagerHeader(); ( ( PersistedBTree<NameRevision, Long> ) btreeOfBtrees ).getBtreeHeader() ); newBTreeHeaders.put( BTREE_OF_BTREES_NAME, ( ( PersistedBTree<NameRevision, Long> ) btreeOfBtrees ).getBtreeHeader() ); currentCopiedPagesBtreeOffset = ( ( PersistedBTree<RevisionName, long[]> ) copiedPageBtree ).getBtreeHeader().getBTreeHeaderOffset(); updateRecordManagerHeader(); currentBTreeHeaders.put( COPIED_PAGE_BTREE_NAME, ( ( PersistedBTree<RevisionName, long[]> ) copiedPageBtree ).getBtreeHeader() ); newBTreeHeaders.put( COPIED_PAGE_BTREE_NAME, ( ( PersistedBTree<RevisionName, long[]> ) copiedPageBtree ).getBtreeHeader() );
currentBTreeHeaders.put( btree.getName(), ( ( PersistedBTree<K, V> ) btree ).getBtreeHeader() ); newBTreeHeaders.put( btree.getName(), ( ( PersistedBTree<K, V> ) btree ).getBtreeHeader() );