| package edu.uci.ics.hyracks.storage.am.common.api; |
| |
| import edu.uci.ics.hyracks.api.exceptions.HyracksDataException; |
| |
| public interface IFreePageManager { |
| public void open(int fileId); |
| |
| public void close(); |
| |
| public int getFreePage(ITreeIndexMetaDataFrame metaFrame) |
| throws HyracksDataException; |
| |
| public void addFreePage(ITreeIndexMetaDataFrame metaFrame, int freePage) |
| throws HyracksDataException; |
| |
| public int getMaxPage(ITreeIndexMetaDataFrame metaFrame) |
| throws HyracksDataException; |
| |
| public void init(ITreeIndexMetaDataFrame metaFrame, int currentMaxPage) |
| throws HyracksDataException; |
| |
| public ITreeIndexMetaDataFrameFactory getMetaDataFrameFactory(); |
| |
| // required to return negative values |
| public byte getMetaPageLevelIndicator(); |
| |
| public byte getFreePageLevelIndicator(); |
| |
| // determined by examining level indicator |
| public boolean isMetaPage(ITreeIndexMetaDataFrame metaFrame); |
| |
| public boolean isFreePage(ITreeIndexMetaDataFrame metaFrame); |
| |
| public int getFirstMetadataPage(); |
| } |