public RTreeBulkLoader(float fillFactor) throws HyracksDataException { super(fillFactor); prevInteriorFrame = interiorFrameFactory.createFrame(); }
public IBTreeInteriorFrame createInteriorFrame() { return (IBTreeInteriorFrame) interiorFrameFactory.createFrame(); }
@Override public RTreeSearchCursor createSearchCursor(boolean exclusive) { return new RTreeSearchCursor((IRTreeInteriorFrame) interiorFrameFactory.createFrame(), (IRTreeLeafFrame) leafFrameFactory.createFrame()); }
private RTreeOpContext createOpContext(IModificationOperationCallback modificationCallback) { return new RTreeOpContext((IRTreeLeafFrame) leafFrameFactory.createFrame(), (IRTreeInteriorFrame) interiorFrameFactory.createFrame(), freePageManager, cmpFactories, modificationCallback); }
public IBTreeLeafFrame createLeafFrame() { return (IBTreeLeafFrame) getLeafFrameFactory().createFrame(); }
@Override public ITreeIndexCursor createDiskOrderScanCursor() { return new TreeIndexDiskOrderScanCursor(leafFrameFactory.createFrame()); }
public BTree(IBufferCache bufferCache, IPageManager freePageManager, ITreeIndexFrameFactory interiorFrameFactory, ITreeIndexFrameFactory leafFrameFactory, IBinaryComparatorFactory[] cmpFactories, int fieldCount, FileReference file) { super(bufferCache, freePageManager, interiorFrameFactory, leafFrameFactory, cmpFactories, fieldCount, file); this.treeLatch = new ReentrantReadWriteLock(true); this.smoCounter = new AtomicInteger(); ITreeIndexFrame leafFrame = leafFrameFactory.createFrame(); ITreeIndexFrame interiorFrame = interiorFrameFactory.createFrame(); maxTupleSize = Math.min(leafFrame.getMaxTupleSize(bufferCache.getPageSize()), interiorFrame.getMaxTupleSize(bufferCache.getPageSize())); }
public RTree(IBufferCache bufferCache, IPageManager freePageManager, ITreeIndexFrameFactory interiorFrameFactory, ITreeIndexFrameFactory leafFrameFactory, IBinaryComparatorFactory[] cmpFactories, int fieldCount, FileReference file, boolean isPointMBR) { super(bufferCache, freePageManager, interiorFrameFactory, leafFrameFactory, cmpFactories, fieldCount, file); globalNsn = new AtomicLong(); ITreeIndexFrame leafFrame = leafFrameFactory.createFrame(); ITreeIndexFrame interiorFrame = interiorFrameFactory.createFrame(); maxTupleSize = Math.min(leafFrame.getMaxTupleSize(bufferCache.getPageSize()), interiorFrame.getMaxTupleSize(bufferCache.getPageSize())); this.isPointMBR = isPointMBR; }
@Override public DiskBTreeRangeSearchCursor createSearchCursor(boolean exclusive) { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) btree.getLeafFrameFactory().createFrame(); return new DiskBTreeRangeSearchCursor(leafFrame, exclusive); }
@Override public BTreeRangeSearchCursor createSearchCursor(boolean exclusive) { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) btree.getLeafFrameFactory().createFrame(); return new BTreeRangeSearchCursor(leafFrame, exclusive); }
@Override public BTreeRangeSearchCursor createPointCursor(boolean exclusive) { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) btree.getLeafFrameFactory().createFrame(); return new DiskBTreePointSearchCursor(leafFrame, exclusive); }
@Override public ITreeIndexCursor createDiskOrderScanCursor() { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) btree.getLeafFrameFactory().createFrame(); return new DiskBTreeDiskScanCursor(leafFrame); }
public ITreeIndexCursor createCountingSearchCursor() { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) btree.getLeafFrameFactory().createFrame(); return new BTreeCountingSearchCursor(leafFrame, false); }
@Override protected IIndexCursor createCursor() { ITreeIndex treeIndex = (ITreeIndex) index; ITreeIndexFrame cursorFrame = treeIndex.getLeafFrameFactory().createFrame(); return new BTreeRangeSearchCursor((IBTreeLeafFrame) cursorFrame, true); }
@Override public ITreeIndexCursor createDiskOrderScanCursor() { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) btree.getLeafFrameFactory().createFrame(); return new TreeIndexDiskOrderScanCursor(leafFrame); }
@Override public IIndexCursor createRangeSearchCursor() { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) index.getBTree().getLeafFrameFactory().createFrame(); return new BTreeRangeSearchCursor(leafFrame, false); }
public ExternalBTreeOpContext(ILSMIndex index, ITreeIndexFrameFactory insertLeafFrameFactory, ITreeIndexFrameFactory deleteLeafFrameFactory, ISearchOperationCallback searchCallback, int numBloomFilterKeyFields, IBinaryComparatorFactory[] cmpFactories, int targetIndexVersion, ILSMHarness lsmHarness, ITracer tracer) { super(index, null, null, null, searchCallback, null, tracer); if (cmpFactories != null) { this.cmp = MultiComparator.create(cmpFactories); } else { this.cmp = null; } bloomFilterCmp = MultiComparator.create(cmpFactories, 0, numBloomFilterKeyFields); this.insertLeafFrame = (IBTreeLeafFrame) insertLeafFrameFactory.createFrame(); this.deleteLeafFrame = (IBTreeLeafFrame) deleteLeafFrameFactory.createFrame(); if (insertLeafFrame != null && this.cmp != null) { insertLeafFrame.setMultiComparator(cmp); } if (deleteLeafFrame != null && this.cmp != null) { deleteLeafFrame.setMultiComparator(cmp); } this.targetIndexVersion = targetIndexVersion; searchInitialState = new LSMBTreeCursorInitialState(insertLeafFrameFactory, cmp, bloomFilterCmp, lsmHarness, null, searchCallback, null); }
@Override public void init(ITreeIndexFrameFactory interiorFrameFactory, ITreeIndexFrameFactory leafFrameFactory) throws HyracksDataException { currentPageId.set(1); ICachedPage page = bufferCache.pin(BufferedFileHandle.getDiskPageId(fileId, 0), true); page.acquireWriteLatch(); page.releaseWriteLatch(false); bufferCache.unpin(page); page = bufferCache.pin(BufferedFileHandle.getDiskPageId(fileId, currentPageId.get()), true); if (leafFrameFactory != null) { page.acquireWriteLatch(); ITreeIndexFrame leafFrame = leafFrameFactory.createFrame(); leafFrame.setPage(page); leafFrame.initBuffer((byte) 0); page.releaseWriteLatch(true); } bufferCache.unpin(page); }
public AbstractTreeIndexBulkLoader(float fillFactor) throws HyracksDataException { leafFrame = leafFrameFactory.createFrame(); interiorFrame = interiorFrameFactory.createFrame(); metaFrame = freePageManager.createMetadataFrame(); queue = bufferCache.createFIFOQueue(); if (!isEmptyTree(leafFrame)) { throw HyracksDataException.create(ErrorCode.CANNOT_BULK_LOAD_NON_EMPTY_TREE); } this.cmp = MultiComparator.create(cmpFactories); leafFrame.setMultiComparator(cmp); interiorFrame.setMultiComparator(cmp); tupleWriter = leafFrame.getTupleWriter(); NodeFrontier leafFrontier = new NodeFrontier(leafFrame.createTupleReference()); leafFrontier.pageId = freePageManager.takePage(metaFrame); leafFrontier.page = bufferCache.confiscatePage(BufferedFileHandle.getDiskPageId(fileId, leafFrontier.pageId)); interiorFrame.setPage(leafFrontier.page); interiorFrame.initBuffer((byte) 0); interiorMaxBytes = (int) (interiorFrame.getBuffer().capacity() * fillFactor); leafFrame.setPage(leafFrontier.page); leafFrame.initBuffer((byte) 0); leafMaxBytes = (int) (leafFrame.getBuffer().capacity() * fillFactor); slotSize = leafFrame.getSlotSize(); nodeFrontiers.add(leafFrontier); pagesToWrite = new ArrayList<>(); compressedPageWriter = bufferCache.getCompressedPageWriter(fileId); }
BTree btree = ((LSMRTreeMemoryComponent) component).getBuddyIndex(); 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(NoOpIndexAccessParameters.INSTANCE); mutableRTreeAccessors[i] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); ILSMComponent component = operationalComponents.get(i); rangeCursors[j] = new RTreeSearchCursor( (IRTreeInteriorFrame) lsmInitialState.getRTreeInteriorFrameFactory().createFrame(), (IRTreeLeafFrame) lsmInitialState.getRTreeLeafFrameFactory().createFrame()); RTree rtree = ((LSMRTreeWithAntimatterDiskComponent) component).getIndex(); immutableRTreeAccessors[j] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE);