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
ConstructorDescriptionIndexIntersectPlanGenerator
(IndexLogicalPlanCallContext indexContext, Map<IndexDescriptor, IndexConditionInfo> indexInfoMap, org.apache.calcite.rex.RexBuilder builder, PlannerSettings settings) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.calcite.rel.RelNode
buildIntersectPlan
(Map.Entry<IndexDescriptor, org.apache.calcite.rex.RexNode> pair, org.apache.calcite.rel.RelNode right, boolean generateDistribution) org.apache.calcite.rel.RelNode
buildOriginalProject
(org.apache.calcite.rel.RelNode newRel) org.apache.calcite.rel.RelNode
buildRowKeyJoin
(org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, boolean isRowKeyJoin, int htControl) org.apache.calcite.rel.RelNode
buildRowKeyProject
(org.apache.calcite.rel.RelNode inputRel, int fieldIndex) org.apache.calcite.rel.RelNode
convertChild
(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, toRemoveSort
Methods 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:
convertChild
in classAbstractIndexPlanGenerator
- Throws:
org.apache.calcite.rel.InvalidRelException
-