public abstract class AbstractIndexPlanGenerator extends SubsetTransformer<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.InvalidRelException>
Modifier and Type | Field and Description |
---|---|
protected org.apache.calcite.rex.RexBuilder |
builder |
protected org.apache.calcite.rex.RexNode |
indexCondition |
protected IndexCallContext |
indexContext |
protected DrillProjectRelBase |
origProject |
protected DrillScanRelBase |
origScan |
protected org.apache.calcite.rex.RexNode |
remainderCondition |
protected PlannerSettings |
settings |
protected DrillProjectRelBase |
upperProject |
Constructor and Description |
---|
AbstractIndexPlanGenerator(IndexCallContext indexContext,
org.apache.calcite.rex.RexNode indexCondition,
org.apache.calcite.rex.RexNode remainderCondition,
org.apache.calcite.rex.RexBuilder builder,
PlannerSettings settings) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkRowKey(List<SchemaPath> columns) |
abstract org.apache.calcite.rel.RelNode |
convertChild(org.apache.calcite.rel.RelNode current,
org.apache.calcite.rel.RelNode child) |
protected org.apache.calcite.rel.type.RelDataType |
convertRowType(org.apache.calcite.rel.type.RelDataType origRowType,
org.apache.calcite.rel.type.RelDataTypeFactory typeFactory) |
protected org.apache.calcite.rel.RelNode |
createRangeDistRight(org.apache.calcite.rel.RelNode rightPrel,
org.apache.calcite.rel.type.RelDataTypeField rightRowKeyField,
DbGroupScan origDbGroupScan) |
boolean |
forceConvert() |
static org.apache.calcite.rel.RelNode |
getExchange(org.apache.calcite.plan.RelOptCluster cluster,
boolean isSingleton,
boolean isExchangeRequired,
org.apache.calcite.plan.RelTraitSet traits,
DrillDistributionTrait distributionTrait,
IndexCallContext indexContext,
org.apache.calcite.rel.RelNode input) |
static int |
getRowKeyIndex(org.apache.calcite.rel.type.RelDataType rowType,
DrillScanRelBase origScan) |
static org.apache.calcite.rel.RelNode |
getSortNode(IndexCallContext indexContext,
org.apache.calcite.rel.RelNode newRel,
boolean donotGenerateSort,
boolean isSingleton,
boolean isExchangeRequired) |
void |
go() |
org.apache.calcite.plan.RelTraitSet |
newTraitSet(org.apache.calcite.plan.RelTrait... traits) |
protected static boolean |
toRemoveSort(org.apache.calcite.rel.RelCollation sortCollation,
org.apache.calcite.rel.RelCollation inputCollation) |
go
protected final DrillProjectRelBase origProject
protected final DrillScanRelBase origScan
protected final DrillProjectRelBase upperProject
protected final org.apache.calcite.rex.RexNode indexCondition
protected final org.apache.calcite.rex.RexNode remainderCondition
protected final org.apache.calcite.rex.RexBuilder builder
protected final IndexCallContext indexContext
protected final PlannerSettings settings
public AbstractIndexPlanGenerator(IndexCallContext indexContext, org.apache.calcite.rex.RexNode indexCondition, org.apache.calcite.rex.RexNode remainderCondition, org.apache.calcite.rex.RexBuilder builder, PlannerSettings settings)
public static int getRowKeyIndex(org.apache.calcite.rel.type.RelDataType rowType, DrillScanRelBase origScan)
protected org.apache.calcite.rel.type.RelDataType convertRowType(org.apache.calcite.rel.type.RelDataType origRowType, org.apache.calcite.rel.type.RelDataTypeFactory typeFactory)
protected boolean checkRowKey(List<SchemaPath> columns)
protected org.apache.calcite.rel.RelNode createRangeDistRight(org.apache.calcite.rel.RelNode rightPrel, org.apache.calcite.rel.type.RelDataTypeField rightRowKeyField, DbGroupScan origDbGroupScan)
public org.apache.calcite.plan.RelTraitSet newTraitSet(org.apache.calcite.plan.RelTrait... traits)
newTraitSet
in class SubsetTransformer<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.InvalidRelException>
protected static boolean toRemoveSort(org.apache.calcite.rel.RelCollation sortCollation, org.apache.calcite.rel.RelCollation inputCollation)
public static org.apache.calcite.rel.RelNode getExchange(org.apache.calcite.plan.RelOptCluster cluster, boolean isSingleton, boolean isExchangeRequired, org.apache.calcite.plan.RelTraitSet traits, DrillDistributionTrait distributionTrait, IndexCallContext indexContext, org.apache.calcite.rel.RelNode input)
public static org.apache.calcite.rel.RelNode getSortNode(IndexCallContext indexContext, org.apache.calcite.rel.RelNode newRel, boolean donotGenerateSort, boolean isSingleton, boolean isExchangeRequired)
public abstract org.apache.calcite.rel.RelNode convertChild(org.apache.calcite.rel.RelNode current, org.apache.calcite.rel.RelNode child) throws org.apache.calcite.rel.InvalidRelException
convertChild
in class SubsetTransformer<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.InvalidRelException>
org.apache.calcite.rel.InvalidRelException
public boolean forceConvert()
forceConvert
in class SubsetTransformer<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.InvalidRelException>
public void go() throws org.apache.calcite.rel.InvalidRelException
org.apache.calcite.rel.InvalidRelException
Copyright © 1970 The Apache Software Foundation. All rights reserved.