protected static class RelDecorrelator.CorelMap extends Object
Correlate in a tree of RelNodes.
It is used to drive the decorrelation process. Treat it as immutable; rebuild if you modify the tree.
There are three maps:
mapRefRelToCorRef maps a RelNode to the correlated variables it
references;
mapCorToCorRel maps a correlated variable to the Correlate providing
it;
mapFieldAccessToCorRef maps a rex field access to the corVar it represents.
Because typeFlattener does not clone or modify a correlated field access this map does
not need to be updated.
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
SortedMap<org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode> |
getMapCorToCorRel() |
boolean |
hasCorrelation()
Returns whether there are any correlating variables in this statement.
|
int |
hashCode() |
static RelDecorrelator.CorelMap |
of(com.google.common.collect.SortedSetMultimap<org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapRefRelToCorVar,
SortedMap<org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode> mapCorToCorRel,
Map<org.apache.calcite.rex.RexFieldAccess,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapFieldAccessToCorVar)
Creates a CorelMap with given contents.
|
String |
toString() |
public static RelDecorrelator.CorelMap of(com.google.common.collect.SortedSetMultimap<org.apache.calcite.rel.RelNode,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapRefRelToCorVar, SortedMap<org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode> mapCorToCorRel, Map<org.apache.calcite.rex.RexFieldAccess,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapFieldAccessToCorVar)
public SortedMap<org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode> getMapCorToCorRel()
public boolean hasCorrelation()
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.