public RTreeSearchOperatorNodePushable(IHyracksTaskContext ctx, int partition, RecordDescriptor inputRecDesc, int[] keyFields, int[] minFilterFieldIndexes, int[] maxFilterFieldIndexes, IIndexDataflowHelperFactory indexHelperFactory, boolean retainInput, boolean retainMissing, IMissingWriterFactory missingWriterFactory, ISearchOperationCallbackFactory searchCallbackFactory, boolean appendIndexFilter, boolean appendOpCallbackProceedResult, byte[] searchCallbackProceedResultFalseValue, byte[] searchCallbackProceedResultTrueValue) throws HyracksDataException { // TODO: predicate & limit pushdown not enabled for RTree yet super(ctx, inputRecDesc, partition, minFilterFieldIndexes, maxFilterFieldIndexes, indexHelperFactory, retainInput, retainMissing, missingWriterFactory, searchCallbackFactory, appendIndexFilter, null, -1, appendOpCallbackProceedResult, searchCallbackProceedResultFalseValue, searchCallbackProceedResultTrueValue); if (keyFields != null && keyFields.length > 0) { searchKey = new PermutingFrameTupleReference(); searchKey.setFieldPermutation(keyFields); } }
public BTreeSearchOperatorNodePushable(IHyracksTaskContext ctx, int partition, RecordDescriptor inputRecDesc, int[] lowKeyFields, int[] highKeyFields, boolean lowKeyInclusive, boolean highKeyInclusive, int[] minFilterFieldIndexes, int[] maxFilterFieldIndexes, IIndexDataflowHelperFactory indexHelperFactory, boolean retainInput, boolean retainMissing, IMissingWriterFactory missingWriterFactory, ISearchOperationCallbackFactory searchCallbackFactory, boolean appendIndexFilter, ITupleFilterFactory tupleFilterFactory, long outputLimit, boolean appendOpCallbackProceedResult, byte[] searchCallbackProceedResultFalseValue, byte[] searchCallbackProceedResultTrueValue) throws HyracksDataException { super(ctx, inputRecDesc, partition, minFilterFieldIndexes, maxFilterFieldIndexes, indexHelperFactory, retainInput, retainMissing, missingWriterFactory, searchCallbackFactory, appendIndexFilter, tupleFilterFactory, outputLimit, appendOpCallbackProceedResult, searchCallbackProceedResultFalseValue, searchCallbackProceedResultTrueValue); this.lowKeyInclusive = lowKeyInclusive; this.highKeyInclusive = highKeyInclusive; if (lowKeyFields != null && lowKeyFields.length > 0) { lowKey = new PermutingFrameTupleReference(); lowKey.setFieldPermutation(lowKeyFields); } if (highKeyFields != null && highKeyFields.length > 0) { highKey = new PermutingFrameTupleReference(); highKey.setFieldPermutation(highKeyFields); } }
this.maxFilterFieldIndexes = maxFilterFieldIndexes; if (minFilterFieldIndexes != null && minFilterFieldIndexes.length > 0) { minFilterKey = new PermutingFrameTupleReference(); minFilterKey.setFieldPermutation(minFilterFieldIndexes); maxFilterKey = new PermutingFrameTupleReference(); maxFilterKey.setFieldPermutation(maxFilterFieldIndexes);
public LSMSecondaryIndexBulkLoadNodePushable(IHyracksTaskContext ctx, int partition, RecordDescriptor inputRecDesc, IIndexDataflowHelperFactory primaryIndexHelperFactory, IIndexDataflowHelperFactory secondaryIndexHelperFactory, int[] fieldPermutation, int numTagFields, int numSecondaryKeys, int numPrimaryKeys, boolean hasBuddyBTree) throws HyracksDataException { super(ctx, partition, inputRecDesc, numTagFields, numSecondaryKeys, numPrimaryKeys, hasBuddyBTree); this.primaryIndexHelper = primaryIndexHelperFactory.create(ctx.getJobletContext().getServiceContext(), partition); this.secondaryIndexHelper = secondaryIndexHelperFactory.create(ctx.getJobletContext().getServiceContext(), partition); this.tuple = new PermutingFrameTupleReference(fieldPermutation); int[] sourcePermutation = new int[fieldPermutation.length - numTagFields]; for (int i = 0; i < sourcePermutation.length; i++) { sourcePermutation[i] = i + numTagFields; } sourceTuple = new PermutingTupleReference(sourcePermutation); int[] deletedKeyPermutation = new int[inputRecDesc.getFieldCount() - numTagFields - numSecondaryKeys]; for (int i = 0; i < deletedKeyPermutation.length; i++) { deletedKeyPermutation[i] = i + numTagFields + numSecondaryKeys; } deletedKeyTuple = new PermutingTupleReference(deletedKeyPermutation); }
super(ctx, partition, indexHelperFactory, fieldPermutation, inputRecDesc, IndexOperation.UPSERT, modCallbackFactory, null); this.key = new PermutingFrameTupleReference(); this.searchCallbackFactory = searchCallbackFactory; this.numOfPrimaryKeys = numOfPrimaryKeys;