@Override public void open(int fileId) throws HyracksDataException { this.fileId = fileId; // get the number of pages of the file int pages = bufferCache.getNumPagesOfFile(fileId); //if there are no pages in the file yet, we're just initializing if (pages == 0) { if (confiscatedPage != null) { throw new HyracksDataException("Metadata Page Manager is already initialized"); } ITreeIndexMetadataFrame metaFrame = createMetadataFrame(); ICachedPage metaNode = bufferCache.confiscatePage(BufferCache.INVALID_DPID); try { metaFrame.setPage(metaNode); metaFrame.init(); metaFrame.setMaxPage(-1); } finally { confiscatedPage = metaNode; } } }
System.arraycopy(metaPage.getBuffer().array(), 0, newNode.getBuffer().array(), 0, metaPage.getBuffer().capacity()); metaFrame.init(); metaFrame.setNextMetadataPage(newPageNum); metaFrame.setMaxPage(metaMaxPage);
metaPage.getBuffer().capacity()); metaFrame.init(); metaFrame.setNextMetadataPage(newPageNum); metaFrame.setMaxPage(metaMaxPage);
try { metaFrame.setPage(metaNode); metaFrame.init(); metaFrame.setRootPageId(1); metaFrame.setMaxPage(1);