Package org.apache.calcite.plan
Class RelOptUtil.VariableUsedVisitor
- java.lang.Object
-
- org.apache.calcite.rex.RexShuttle
-
- org.apache.calcite.plan.RelOptUtil.VariableUsedVisitor
-
- All Implemented Interfaces:
RexVisitor<RexNode>
- Enclosing class:
- RelOptUtil
public static class RelOptUtil.VariableUsedVisitor extends RexShuttle
Visitor that finds all variables used in an expression.
-
-
Field Summary
Fields Modifier and Type Field Description private RelShuttle
relShuttle
com.google.common.collect.Multimap<CorrelationId,java.lang.Integer>
variableFields
java.util.Set<CorrelationId>
variables
-
Constructor Summary
Constructors Constructor Description VariableUsedVisitor(RelShuttle relShuttle)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RexNode
visitCorrelVariable(RexCorrelVariable p)
RexNode
visitFieldAccess(RexFieldAccess fieldAccess)
RexNode
visitSubQuery(RexSubQuery subQuery)
-
Methods inherited from class org.apache.calcite.rex.RexShuttle
apply, apply, apply, mutate, visitArray, visitCall, visitDynamicParam, visitFieldCollations, visitInputRef, visitList, visitList, visitLiteral, visitLocalRef, visitOver, visitPatternFieldRef, visitRangeRef, visitTableInputRef, visitWindow
-
-
-
-
Field Detail
-
variables
public final java.util.Set<CorrelationId> variables
-
variableFields
public final com.google.common.collect.Multimap<CorrelationId,java.lang.Integer> variableFields
-
relShuttle
private final RelShuttle relShuttle
-
-
Constructor Detail
-
VariableUsedVisitor
public VariableUsedVisitor(RelShuttle relShuttle)
-
-
Method Detail
-
visitCorrelVariable
public RexNode visitCorrelVariable(RexCorrelVariable p)
- Specified by:
visitCorrelVariable
in interfaceRexVisitor<RexNode>
- Overrides:
visitCorrelVariable
in classRexShuttle
-
visitFieldAccess
public RexNode visitFieldAccess(RexFieldAccess fieldAccess)
- Specified by:
visitFieldAccess
in interfaceRexVisitor<RexNode>
- Overrides:
visitFieldAccess
in classRexShuttle
-
visitSubQuery
public RexNode visitSubQuery(RexSubQuery subQuery)
- Specified by:
visitSubQuery
in interfaceRexVisitor<RexNode>
- Overrides:
visitSubQuery
in classRexShuttle
-
-