@Override public void get(IValueReference key, ArrayBackedValueStorage value) throws HyracksDataException { mdpManager.get(mdpManager.createMetadataFrame(), key, value); }
@Override public boolean readFilter(ILSMComponentFilter filter, ITreeIndex treeIndex) throws HyracksDataException { IMetadataPageManager treeMetaManager = (IMetadataPageManager) treeIndex.getPageManager(); ILSMComponentFilterReference filterFrame = filterFrameFactory.createFrame(); treeMetaManager.get(treeMetaManager.createMetadataFrame(), FILTER_KEY, filterFrame); // TODO: Filters never have one of min/max set and the other not if (!filterFrame.isMinTupleSet() || !filterFrame.isMaxTupleSet()) { return false; } List<ITupleReference> filterTuples = new ArrayList<>(); filterTuples.add(filterFrame.getMinTuple()); filterTuples.add(filterFrame.getMaxTuple()); updateFilter(filter, filterTuples, NoOpOperationCallback.INSTANCE); return true; }
public static long getTreeIndexLSN(DiskComponentMetadata md) throws HyracksDataException { LongPointable pointable = new LongPointable(); IMetadataPageManager metadataPageManager = md.getMetadataPageManager(); metadataPageManager.get(metadataPageManager.createMetadataFrame(), KEY_METADATA_FLUSH_LOG_LSN, pointable); return pointable.getLength() == 0 ? INVALID_LSN : pointable.longValue(); }