public class RexLocalRef extends RexSlot
Identity is based upon type and index. We want multiple references to the same slot in the same context to be equal. A side effect is that references to slots in different contexts which happen to have the same index and type will be considered equal; this is not desired, but not too damaging, because of the immutability.
Variables are immutable.
RexSlot.SelfPopulatingListname, type| Constructor and Description |
|---|
RexLocalRef(int index,
RelDataType type)
Creates a local variable.
|
| Modifier and Type | Method and Description |
|---|---|
<R,P> R |
accept(RexBiVisitor<R,P> visitor,
P arg)
Accepts a visitor with a payload, dispatching to the right overloaded
RexBiVisitor.visitInputRef(RexInputRef, Object) visitXxx} method. |
<R> R |
accept(RexVisitor<R> visitor)
Accepts a visitor, dispatching to the right overloaded
visitXxx method. |
boolean |
equals(Object obj)
Every node must implement
RexNode.equals(java.lang.Object) based on its content |
SqlKind |
getKind()
Returns the kind of node this is.
|
int |
hashCode()
Every node must implement
RexNode.hashCode() consistent with
RexNode.equals(java.lang.Object) |
getName, getTypeisA, isA, isAlwaysFalse, isAlwaysTrue, nodeCount, toStringpublic RexLocalRef(int index,
RelDataType type)
index - Index of the field in the underlying row typetype - Type of the columnpublic SqlKind getKind()
RexNodepublic boolean equals(Object obj)
RexNodeEvery node must implement RexNode.equals(java.lang.Object) based on its content
public int hashCode()
RexNodeEvery node must implement RexNode.hashCode() consistent with
RexNode.equals(java.lang.Object)
public <R> R accept(RexVisitor<R> visitor)
RexNodevisitXxx method.
Also see RexUtil.apply(RexVisitor, java.util.List, RexNode),
which applies a visitor to several expressions simultaneously.
public <R,P> R accept(RexBiVisitor<R,P> visitor, P arg)
RexNodeRexBiVisitor.visitInputRef(RexInputRef, Object) visitXxx} method.Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.