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(@Nullable Object obj) |
NavigableMap<CorrelationId,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<RelNode,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapRefRelToCorVar,
NavigableMap<CorrelationId,RelNode> mapCorToCorRel,
Map<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<RelNode,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapRefRelToCorVar, NavigableMap<CorrelationId,RelNode> mapCorToCorRel, Map<RexFieldAccess,org.apache.calcite.sql2rel.RelDecorrelator.CorRef> mapFieldAccessToCorVar)
public NavigableMap<CorrelationId,RelNode> getMapCorToCorRel()
public boolean hasCorrelation()
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.