org.eigenbase.relopt
Class RelOptUtil.RexInputConverter
java.lang.Object
org.eigenbase.rex.RexShuttle
org.eigenbase.relopt.RelOptUtil.RexInputConverter
- All Implemented Interfaces:
- RexVisitor<RexNode>
- Direct Known Subclasses:
- PushProjector.RefAndExprConverter
- Enclosing class:
- RelOptUtil
public static class RelOptUtil.RexInputConverter
- extends RexShuttle
Walks an expression tree, converting the index of RexInputRefs based on
some adjustment factor.
Constructor Summary |
|
RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
int[] adjustments)
|
|
RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
RelDataTypeField[] destFields,
int[] adjustments)
|
|
RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
RelDataTypeField[] leftDestFields,
RelDataTypeField[] rightDestFields,
int[] adjustments)
|
private |
RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
RelDataTypeField[] destFields,
RelDataTypeField[] leftDestFields,
RelDataTypeField[] rightDestFields,
int[] adjustments)
|
Methods inherited from class org.eigenbase.rex.RexShuttle |
apply, apply, visitArray, visitCall, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitLiteral, visitLocalRef, visitOver, visitRangeRef, visitWindow |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
rexBuilder
protected final RexBuilder rexBuilder
srcFields
private final RelDataTypeField[] srcFields
destFields
protected final RelDataTypeField[] destFields
leftDestFields
private final RelDataTypeField[] leftDestFields
rightDestFields
private final RelDataTypeField[] rightDestFields
nLeftDestFields
private final int nLeftDestFields
adjustments
private final int[] adjustments
RelOptUtil.RexInputConverter
private RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
RelDataTypeField[] destFields,
RelDataTypeField[] leftDestFields,
RelDataTypeField[] rightDestFields,
int[] adjustments)
- Parameters:
rexBuilder
- builder for creating new RexInputRefssrcFields
- fields where the RexInputRefs originally originated
from; if null, a new RexInputRef is always created, referencing the
input from destFields corresponding to its current index valuedestFields
- fields that the new RexInputRefs will be
referencing; if null, use the type information from the source field
when creating the new RexInputRefleftDestFields
- in the case where the destination is a join,
these are the fields from the left join inputrightDestFields
- in the case where the destination is a join,
these are the fields from the right join inputadjustments
- the amount to adjust each field by
RelOptUtil.RexInputConverter
public RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
RelDataTypeField[] leftDestFields,
RelDataTypeField[] rightDestFields,
int[] adjustments)
RelOptUtil.RexInputConverter
public RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
RelDataTypeField[] destFields,
int[] adjustments)
RelOptUtil.RexInputConverter
public RelOptUtil.RexInputConverter(RexBuilder rexBuilder,
RelDataTypeField[] srcFields,
int[] adjustments)
visitInputRef
public RexNode visitInputRef(RexInputRef var)
- Specified by:
visitInputRef
in interface RexVisitor<RexNode>
- Overrides:
visitInputRef
in class RexShuttle