Package org.apache.calcite.rex
Class RexTransformer
- java.lang.Object
-
- org.apache.calcite.rex.RexTransformer
-
public class RexTransformer extends java.lang.Object
Takes a tree ofRexNode
objects and transforms it into another in one sense equivalent tree. Nodes in tree will be modified and hence tree will not remain unchanged.NOTE: You must validate the tree of RexNodes before using this class.
-
-
Field Summary
Fields Modifier and Type Field Description private int
isParentsCount
private RexBuilder
rexBuilder
private RexNode
root
private java.util.Set<SqlOperator>
transformableOperators
-
Constructor Summary
Constructors Constructor Description RexTransformer(RexNode root, RexBuilder rexBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
isBoolean(RexNode node)
private boolean
isNullable(RexNode node)
private boolean
isTransformable(RexNode node)
RexNode
transformNullSemantics()
private RexNode
transformNullSemantics(RexNode node)
-
-
-
Field Detail
-
root
private RexNode root
-
rexBuilder
private final RexBuilder rexBuilder
-
isParentsCount
private int isParentsCount
-
transformableOperators
private final java.util.Set<SqlOperator> transformableOperators
-
-
Constructor Detail
-
RexTransformer
public RexTransformer(RexNode root, RexBuilder rexBuilder)
-
-