public class FlinkRelDecorrelator extends Object implements org.apache.calcite.util.ReflectiveVisitor
RelDecorrelator
, should be
removed once [CALCITE-1543] fixes.Modifier and Type | Method and Description |
---|---|
protected org.apache.calcite.rex.RexNode |
decorrelateExpr(org.apache.calcite.rex.RexNode exp) |
static org.apache.calcite.rel.RelNode |
decorrelateQuery(org.apache.calcite.rel.RelNode rootRel)
Decorrelates a query.
|
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.logical.LogicalAggregate rel)
Rewrites a
LogicalAggregate . |
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.logical.LogicalCorrelate rel)
Rewrite Correlator into a left outer join.
|
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.logical.LogicalFilter rel)
Rewrite LogicalFilter.
|
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.logical.LogicalJoin rel)
Rewrite LogicalJoin.
|
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.logical.LogicalProject rel)
Rewrite LogicalProject.
|
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.RelNode rel)
Fallback if none of the other
decorrelateRel methods match. |
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.core.Sort rel)
Rewrite Sort.
|
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
decorrelateRel(org.apache.calcite.rel.core.Values rel)
Rewrites a
Values . |
org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame |
getInvoke(org.apache.calcite.rel.RelNode r,
org.apache.calcite.rel.RelNode parent) |
protected org.apache.calcite.rex.RexNode |
removeCorrelationExpr(org.apache.calcite.rex.RexNode exp,
boolean projectPulledAboveLeftCorrelator) |
protected org.apache.calcite.rex.RexNode |
removeCorrelationExpr(org.apache.calcite.rex.RexNode exp,
boolean projectPulledAboveLeftCorrelator,
org.apache.calcite.rex.RexInputRef nullIndicator) |
protected org.apache.calcite.rex.RexNode |
removeCorrelationExpr(org.apache.calcite.rex.RexNode exp,
boolean projectPulledAboveLeftCorrelator,
Set<Integer> isCount) |
org.apache.calcite.rel.RelNode |
removeCorrelationViaRule(org.apache.calcite.rel.RelNode root) |
public static org.apache.calcite.rel.RelNode decorrelateQuery(org.apache.calcite.rel.RelNode rootRel)
This is the main entry point to FlinkRelDecorrelator
.
rootRel
- Root node of the queryLogicalCorrelate
instances removedpublic org.apache.calcite.rel.RelNode removeCorrelationViaRule(org.apache.calcite.rel.RelNode root)
protected org.apache.calcite.rex.RexNode decorrelateExpr(org.apache.calcite.rex.RexNode exp)
protected org.apache.calcite.rex.RexNode removeCorrelationExpr(org.apache.calcite.rex.RexNode exp, boolean projectPulledAboveLeftCorrelator)
protected org.apache.calcite.rex.RexNode removeCorrelationExpr(org.apache.calcite.rex.RexNode exp, boolean projectPulledAboveLeftCorrelator, org.apache.calcite.rex.RexInputRef nullIndicator)
protected org.apache.calcite.rex.RexNode removeCorrelationExpr(org.apache.calcite.rex.RexNode exp, boolean projectPulledAboveLeftCorrelator, Set<Integer> isCount)
public org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.RelNode rel)
decorrelateRel
methods match.public org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.core.Sort rel)
rel
- Sort to be rewrittenpublic org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.core.Values rel)
Values
.rel
- Values to be rewrittenpublic org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.logical.LogicalAggregate rel)
LogicalAggregate
.rel
- Aggregate to rewritepublic org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame getInvoke(org.apache.calcite.rel.RelNode r, org.apache.calcite.rel.RelNode parent)
public org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.logical.LogicalProject rel)
rel
- the project rel to rewritepublic org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.logical.LogicalFilter rel)
rel
- the filter rel to rewritepublic org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.logical.LogicalCorrelate rel)
rel
- Correlatorpublic org.apache.flink.table.calcite.sql2rel.FlinkRelDecorrelator.Frame decorrelateRel(org.apache.calcite.rel.logical.LogicalJoin rel)
rel
- LogicalJoinCopyright © 2014–2017 The Apache Software Foundation. All rights reserved.