public class DrillMergeProjectRule
extends org.apache.calcite.plan.RelOptRule
Modifier and Type | Method and Description |
---|---|
static DrillMergeProjectRule |
getInstance(boolean force,
org.apache.calcite.rel.core.RelFactories.ProjectFactory pFactory,
FunctionImplementationRegistry functionRegistry) |
boolean |
matches(org.apache.calcite.plan.RelOptRuleCall call) |
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call) |
static org.apache.calcite.rel.core.Project |
replace(org.apache.calcite.rel.core.Project topProject,
org.apache.calcite.rel.core.Project bottomProject)
The purpose of the replace() method is to allow the caller to replace a 'top' and 'bottom' project with
a single merged project with the assumption that caller knows exactly the semantics/correctness of merging
the two projects.
|
static List<org.apache.calcite.rex.RexNode> |
simplifyCast(List<org.apache.calcite.rex.RexNode> projectExprs) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
public static DrillMergeProjectRule getInstance(boolean force, org.apache.calcite.rel.core.RelFactories.ProjectFactory pFactory, FunctionImplementationRegistry functionRegistry)
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call)
matches
in class org.apache.calcite.plan.RelOptRule
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call)
onMatch
in class org.apache.calcite.plan.RelOptRule
public static List<org.apache.calcite.rex.RexNode> simplifyCast(List<org.apache.calcite.rex.RexNode> projectExprs)
public static org.apache.calcite.rel.core.Project replace(org.apache.calcite.rel.core.Project topProject, org.apache.calcite.rel.core.Project bottomProject)
topProject
- bottomProject
- Copyright © 1970 The Apache Software Foundation. All rights reserved.