Package org.apache.calcite.sql2rel
Class RelDecorrelator.CorelMap
java.lang.Object
org.apache.calcite.sql2rel.RelDecorrelator.CorelMap
- Enclosing class:
RelDecorrelator
A map of the locations of
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 aRelNode
to the correlated variables it references;mapCorToCorRel
maps a correlated variable to theCorrelate
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.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
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.toString()
-
Method Details
-
toString
-
equals
-
hashCode
public int hashCode() -
getMapCorToCorRel
-
hasCorrelation
public boolean hasCorrelation()Returns whether there are any correlating variables in this statement.- Returns:
- whether there are any correlating variables
-