ITreeIndexCursor diskOrderCursor = treeIndexAccessor.createDiskOrderScanCursor(); try { int actualCount = 0; treeIndexAccessor.diskOrderScan(diskOrderCursor); try { actualCount = scan(ctx, diskOrderCursor); treeIndexAccessor.destroy();
@Override public void run() { try { for (int i = 0; i < numBatches; i++) { TupleBatch batch = dataGen.tupleBatchQueue.take(); for (int j = 0; j < batch.size(); j++) { try { indexAccessor.insert(batch.get(j)); } catch (Exception e) { e.printStackTrace(); throw e; } } } } catch (Exception e) { e.printStackTrace(); } } }
private void searchNextCursor() throws HyracksDataException { if (currentCursor < numMemoryComponents) { mutableRTreeCursors[currentCursor].close(); mutableRTreeAccessors[currentCursor].search(mutableRTreeCursors[currentCursor], rtreeSearchPredicate); } }
(TreeIndexDiskOrderScanCursor) treeIndexAccessor.createDiskOrderScanCursor(); try { treeIndexAccessor.diskOrderScan(diskOrderCursor); try { while (diskOrderCursor.hasNext()) {
private void scan(FrameTupleAppender appender) throws IOException { ITreeIndex treeIndex = (ITreeIndex) treeIndexHelper.getIndexInstance(); LocalResource resource = treeIndexHelper.getResource(); ISearchOperationCallback searchCallback = searchCallbackFactory.createSearchOperationCallback(resource.getId(), ctx, null); IIndexAccessParameters iap = new IndexAccessParameters(NoOpOperationCallback.INSTANCE, searchCallback); ITreeIndexAccessor indexAccessor = (ITreeIndexAccessor) treeIndex.createAccessor(iap); try { doScan(treeIndex, indexAccessor, appender); } finally { indexAccessor.destroy(); } }
private void doScan(ITreeIndex treeIndex, ITreeIndexAccessor indexAccessor, FrameTupleAppender appender) throws IOException { int fieldCount = treeIndex.getFieldCount(); ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); DataOutput dos = tb.getDataOutput(); ITreeIndexFrame cursorFrame = treeIndex.getLeafFrameFactory().createFrame(); ITreeIndexCursor cursor = new TreeIndexDiskOrderScanCursor(cursorFrame); try { indexAccessor.diskOrderScan(cursor); try { while (cursor.hasNext()) { tb.reset(); cursor.next(); ITupleReference frameTuple = cursor.getTuple(); for (int i = 0; i < frameTuple.getFieldCount(); i++) { dos.write(frameTuple.getFieldData(i), frameTuple.getFieldStart(i), frameTuple.getFieldLength(i)); tb.addFieldEndOffset(); } FrameUtils.appendToWriter(writer, appender, tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize()); } } finally { cursor.close(); } } finally { cursor.destroy(); } }
(TreeIndexDiskOrderScanCursor) treeIndexAccessor.createDiskOrderScanCursor(); try { treeIndexAccessor.diskOrderScan(diskOrderCursor); try { while (diskOrderCursor.hasNext()) {
private boolean searchMemBTrees(ITupleReference tuple, int lastBTreeToSearch) throws HyracksDataException { for (int i = 0; i < lastBTreeToSearch; i++) { btreeCursors[i].close(); btreeRangePredicate.setHighKey(tuple, true); btreeRangePredicate.setLowKey(tuple, true); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); try { if (btreeCursors[i].hasNext()) { return false; } } finally { btreeCursors[i].close(); } } return true; }
RTree rtree = ((LSMRTreeWithAntimatterDiskComponent) component).getIndex(); immutableRTreeAccessors[j] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); immutableRTreeAccessors[j].search(rangeCursors[j], searchPred); j++;