use of org.apache.hyracks.storage.am.rtree.impls.RTree in project asterixdb by apache.
the class LSMRTreeWithAntiMatterTuples method clearDiskComponent.
@Override
protected void clearDiskComponent(ILSMDiskComponent c) throws HyracksDataException {
RTree rtree = ((LSMRTreeDiskComponent) c).getRTree();
rtree.deactivate();
rtree.destroy();
}
use of org.apache.hyracks.storage.am.rtree.impls.RTree in project asterixdb by apache.
the class LSMRTreeWithAntiMatterTuples method deactivateDiskComponent.
@Override
protected void deactivateDiskComponent(ILSMDiskComponent c) throws HyracksDataException {
RTree rtree = ((LSMRTreeDiskComponent) c).getRTree();
rtree.deactivateCloseHandle();
}
use of org.apache.hyracks.storage.am.rtree.impls.RTree in project asterixdb by apache.
the class LSMRTreeWithAntiMatterTuples method markAsValid.
@Override
public void markAsValid(ILSMDiskComponent lsmComponent) throws HyracksDataException {
RTree rtree = ((LSMRTreeDiskComponent) lsmComponent).getRTree();
markAsValidInternal(rtree);
}
use of org.apache.hyracks.storage.am.rtree.impls.RTree in project asterixdb by apache.
the class LSMRTreeWithAntiMatterTuples method getLSMComponentPhysicalFiles.
@Override
public Set<String> getLSMComponentPhysicalFiles(ILSMComponent lsmComponent) {
Set<String> files = new HashSet<>();
RTree rtree = ((LSMRTreeDiskComponent) lsmComponent).getRTree();
files.add(rtree.getFileReference().getFile().getAbsolutePath());
return files;
}
use of org.apache.hyracks.storage.am.rtree.impls.RTree in project asterixdb by apache.
the class LSMRTreeWithAntiMatterTuplesSearchCursor method open.
@Override
public void open(ICursorInitialState initialState, ISearchPredicate searchPred) throws HyracksDataException {
LSMRTreeCursorInitialState lsmInitialState = (LSMRTreeCursorInitialState) initialState;
cmp = lsmInitialState.getHilbertCmp();
btreeCmp = lsmInitialState.getBTreeCmp();
lsmHarness = lsmInitialState.getLSMHarness();
comparatorFields = lsmInitialState.getComparatorFields();
operationalComponents = lsmInitialState.getOperationalComponents();
rtreeSearchPredicate = (SearchPredicate) searchPred;
searchCallback = lsmInitialState.getSearchOperationCallback();
includeMutableComponent = false;
numMutableComponents = 0;
int numImmutableComponents = 0;
for (ILSMComponent component : operationalComponents) {
if (component.getType() == LSMComponentType.MEMORY) {
includeMutableComponent = true;
numMutableComponents++;
} else {
numImmutableComponents++;
}
}
if (includeMutableComponent) {
btreeRangePredicate = new RangePredicate(null, null, true, true, btreeCmp, btreeCmp);
}
mutableRTreeCursors = new RTreeSearchCursor[numMutableComponents];
mutableRTreeAccessors = new ITreeIndexAccessor[numMutableComponents];
btreeCursors = new BTreeRangeSearchCursor[numMutableComponents];
btreeAccessors = new ITreeIndexAccessor[numMutableComponents];
for (int i = 0; i < numMutableComponents; i++) {
ILSMComponent component = operationalComponents.get(i);
RTree rtree = ((LSMRTreeMemoryComponent) component).getRTree();
BTree btree = ((LSMRTreeMemoryComponent) component).getBTree();
mutableRTreeCursors[i] = new RTreeSearchCursor((IRTreeInteriorFrame) lsmInitialState.getRTreeInteriorFrameFactory().createFrame(), (IRTreeLeafFrame) lsmInitialState.getRTreeLeafFrameFactory().createFrame());
btreeCursors[i] = new BTreeRangeSearchCursor((IBTreeLeafFrame) lsmInitialState.getBTreeLeafFrameFactory().createFrame(), false);
btreeAccessors[i] = btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE);
mutableRTreeAccessors[i] = rtree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE);
}
rangeCursors = new RTreeSearchCursor[numImmutableComponents];
ITreeIndexAccessor[] immutableRTreeAccessors = new ITreeIndexAccessor[numImmutableComponents];
int j = 0;
for (int i = numMutableComponents; i < operationalComponents.size(); i++) {
ILSMComponent component = operationalComponents.get(i);
rangeCursors[j] = new RTreeSearchCursor((IRTreeInteriorFrame) lsmInitialState.getRTreeInteriorFrameFactory().createFrame(), (IRTreeLeafFrame) lsmInitialState.getRTreeLeafFrameFactory().createFrame());
RTree rtree = ((LSMRTreeDiskComponent) component).getRTree();
immutableRTreeAccessors[j] = rtree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE);
immutableRTreeAccessors[j].search(rangeCursors[j], searchPred);
j++;
}
searchNextCursor();
setPriorityQueueComparator();
initPriorityQueue();
open = true;
}
Aggregations