Search in sources :

Example 1 with IndexScanExpression

use of com.apple.foundationdb.record.query.plan.temp.expressions.IndexScanExpression in project fdb-record-layer by FoundationDB.

the class ImplementIndexScanRule method onMatch.

@Override
public void onMatch(@Nonnull PlannerRuleCall call) {
    final IndexScanExpression logical = call.get(root);
    final IndexScanParameters scan = new IndexScanComparisons(logical.getScanType(), logical.scanComparisons());
    call.yield(call.ref(new RecordQueryIndexPlan(Objects.requireNonNull(logical.getIndexName()), scan, logical.isReverse())));
}
Also used : IndexScanParameters(com.apple.foundationdb.record.provider.foundationdb.IndexScanParameters) IndexScanComparisons(com.apple.foundationdb.record.provider.foundationdb.IndexScanComparisons) RecordQueryIndexPlan(com.apple.foundationdb.record.query.plan.plans.RecordQueryIndexPlan) IndexScanExpression(com.apple.foundationdb.record.query.plan.temp.expressions.IndexScanExpression)

Aggregations

IndexScanComparisons (com.apple.foundationdb.record.provider.foundationdb.IndexScanComparisons)1 IndexScanParameters (com.apple.foundationdb.record.provider.foundationdb.IndexScanParameters)1 RecordQueryIndexPlan (com.apple.foundationdb.record.query.plan.plans.RecordQueryIndexPlan)1 IndexScanExpression (com.apple.foundationdb.record.query.plan.temp.expressions.IndexScanExpression)1