Class IndexIntersectPlanGenerator
java.lang.Object
org.apache.drill.exec.planner.physical.SubsetTransformer<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.InvalidRelException>
org.apache.drill.exec.planner.index.generators.AbstractIndexPlanGenerator
org.apache.drill.exec.planner.index.generators.IndexIntersectPlanGenerator
IndexScanIntersectGenerator is to generate index plan against multiple index tables,
the input indexes are assumed to be ranked by selectivity(low to high) already.
-
Field Summary
Fields inherited from class org.apache.drill.exec.planner.index.generators.AbstractIndexPlanGenerator
builder, indexCondition, indexContext, origProject, origScan, remainderCondition, settings, upperProject -
Constructor Summary
ConstructorsConstructorDescriptionIndexIntersectPlanGenerator(IndexLogicalPlanCallContext indexContext, Map<IndexDescriptor, IndexConditionInfo> indexInfoMap, org.apache.calcite.rex.RexBuilder builder, PlannerSettings settings) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.calcite.rel.RelNodebuildIntersectPlan(Map.Entry<IndexDescriptor, org.apache.calcite.rex.RexNode> pair, org.apache.calcite.rel.RelNode right, boolean generateDistribution) org.apache.calcite.rel.RelNodebuildOriginalProject(org.apache.calcite.rel.RelNode newRel) org.apache.calcite.rel.RelNodebuildRowKeyJoin(org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, boolean isRowKeyJoin, int htControl) org.apache.calcite.rel.RelNodebuildRowKeyProject(org.apache.calcite.rel.RelNode inputRel, int fieldIndex) org.apache.calcite.rel.RelNodeconvertChild(org.apache.calcite.rel.RelNode filter, org.apache.calcite.rel.RelNode input) Methods inherited from class org.apache.drill.exec.planner.index.generators.AbstractIndexPlanGenerator
checkRowKey, convertRowType, createRangeDistRight, forceConvert, getExchange, getRowKeyIndex, getSortNode, go, newTraitSet, toRemoveSortMethods inherited from class org.apache.drill.exec.planner.physical.SubsetTransformer
go
-
Constructor Details
-
IndexIntersectPlanGenerator
public IndexIntersectPlanGenerator(IndexLogicalPlanCallContext indexContext, Map<IndexDescriptor, IndexConditionInfo> indexInfoMap, org.apache.calcite.rex.RexBuilder builder, PlannerSettings settings)
-
-
Method Details
-
buildRowKeyJoin
public org.apache.calcite.rel.RelNode buildRowKeyJoin(org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, boolean isRowKeyJoin, int htControl) throws org.apache.calcite.rel.InvalidRelException - Throws:
org.apache.calcite.rel.InvalidRelException
-
buildRowKeyProject
public org.apache.calcite.rel.RelNode buildRowKeyProject(org.apache.calcite.rel.RelNode inputRel, int fieldIndex) -
buildOriginalProject
public org.apache.calcite.rel.RelNode buildOriginalProject(org.apache.calcite.rel.RelNode newRel) -
buildIntersectPlan
public org.apache.calcite.rel.RelNode buildIntersectPlan(Map.Entry<IndexDescriptor, org.apache.calcite.rex.RexNode> pair, org.apache.calcite.rel.RelNode right, boolean generateDistribution) throws org.apache.calcite.rel.InvalidRelException- Throws:
org.apache.calcite.rel.InvalidRelException
-
convertChild
public org.apache.calcite.rel.RelNode convertChild(org.apache.calcite.rel.RelNode filter, org.apache.calcite.rel.RelNode input) throws org.apache.calcite.rel.InvalidRelException - Specified by:
convertChildin classAbstractIndexPlanGenerator- Throws:
org.apache.calcite.rel.InvalidRelException
-