protected static class RelDecorrelator.CorelMap extends Object
Correlate
in a tree of RelNode
s.
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<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,
NavigableMap<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, NavigableMap<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 NavigableMap<org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rel.RelNode> getMapCorToCorRel()
public boolean hasCorrelation()
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.