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

public class IndexIntersectPlanGenerator extends AbstractIndexPlanGenerator
IndexScanIntersectGenerator is to generate index plan against multiple index tables, the input indexes are assumed to be ranked by selectivity(low to high) already.
  • Constructor Details

  • 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 class AbstractIndexPlanGenerator
      Throws:
      org.apache.calcite.rel.InvalidRelException