@Override public BTreeAccessor createAccessor(IIndexAccessParameters iap) { return new DiskBTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); }
@Override public RTreeAccessor createAccessor(IIndexAccessParameters iap) { return new RTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); }
@Override public BTreeAccessor createAccessor(IIndexAccessParameters iap) { return new BTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); }
@Override public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { return new LSMRTreeAccessor(getHarness(), createOpContext(iap.getSearchOperationCallback(), version), buddyBTreeFields); }
@Override public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { ExternalBTreeOpContext opCtx = createOpContext(iap.getSearchOperationCallback(), version); return new LSMTreeIndexAccessor(getHarness(), opCtx, cursorFactory); }
public LSMInvertedIndexOpContext(ILSMIndex index, List<ILSMMemoryComponent> mutableComponents, IIndexAccessParameters iap, int[] invertedIndexFields, int[] filterFields, IBinaryComparatorFactory[] filterComparatorFactories, ITracer tracer) throws HyracksDataException { super(index, invertedIndexFields, filterFields, filterComparatorFactories, iap.getSearchOperationCallback(), (IExtendedModificationOperationCallback) iap.getModificationCallback(), tracer); mutableInvIndexAccessors = new IInvertedIndexAccessor[mutableComponents.size()]; deletedKeysBTreeAccessors = new IIndexAccessor[mutableComponents.size()]; for (int i = 0; i < mutableComponents.size(); i++) { LSMInvertedIndexMemoryComponent mutableComponent = (LSMInvertedIndexMemoryComponent) mutableComponents.get(i); mutableInvIndexAccessors[i] = mutableComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); deletedKeysBTreeAccessors[i] = mutableComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); } // Project away the document fields, leaving only the key fields. LSMInvertedIndexMemoryComponent c = (LSMInvertedIndexMemoryComponent) mutableComponents.get(0); int numKeyFields = c.getIndex().getInvListTypeTraits().length; int[] keyFieldPermutation = new int[numKeyFields]; for (int i = 0; i < numKeyFields; i++) { keyFieldPermutation[i] = NUM_DOCUMENT_FIELDS + i; } keysOnlyTuple = new PermutingTupleReference(keyFieldPermutation); this.iap = iap; }
@Override public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new LSMTreeIndexAccessor(getHarness(), createOpContext(iap.getSearchOperationCallback(), version), ctx -> new LSMBTreeWithBuddySearchCursor(ctx, buddyBTreeFields)); }
@Override protected LSMRTreeOpContext createOpContext(IIndexAccessParameters iap) { return new LSMRTreeOpContext(this, memoryComponents, rtreeLeafFrameFactory, rtreeInteriorFrameFactory, btreeLeafFrameFactory, (IExtendedModificationOperationCallback) iap.getModificationCallback(), iap.getSearchOperationCallback(), getTreeFields(), getFilterFields(), getHarness(), comparatorFields, linearizerArray, getFilterCmpFactories(), tracer); }
@Override public LSMBTreeOpContext createOpContext(IIndexAccessParameters iap) { int numBloomFilterKeyFields = hasBloomFilter ? ((LSMBTreeWithBloomFilterDiskComponentFactory) componentFactory).getBloomFilterKeyFields().length : 0; return new LSMBTreeOpContext(this, memoryComponents, insertLeafFrameFactory, deleteLeafFrameFactory, (IExtendedModificationOperationCallback) iap.getModificationCallback(), iap.getSearchOperationCallback(), numBloomFilterKeyFields, getTreeFields(), getFilterFields(), getHarness(), getFilterCmpFactories(), tracer); }