private class PushProjector.RefAndExprConverter extends RelOptUtil.RexInputConverter
| Modifier and Type | Field and Description |
|---|---|
private int |
firstLeftRef |
private int |
firstRightRef |
private List<RexNode> |
preserveLeft |
private List<RexNode> |
preserveRight |
destFields, rexBuilder| Constructor and Description |
|---|
RefAndExprConverter(RexBuilder rexBuilder,
List<RelDataTypeField> srcFields,
List<RelDataTypeField> destFields,
int[] adjustments,
List<RexNode> preserveLeft,
int firstLeftRef,
List<RexNode> preserveRight,
int firstRightRef) |
| Modifier and Type | Method and Description |
|---|---|
private int |
findExprInList(RexNode rex,
List<RexNode> rexList) |
private int |
findExprInLists(RexNode rex,
List<RexNode> rexList1,
int adjust1,
List<RexNode> rexList2,
int adjust2)
Looks for a matching RexNode from among two lists of RexNodes and
returns the offset into the list corresponding to the match, adjusted
by an amount, depending on whether the match was from the first or
second list.
|
RexNode |
visitCall(RexCall call) |
visitInputRefapply, apply, apply, mutate, visitArray, visitCorrelVariable, visitDynamicParam, visitFieldAccess, visitFieldCollations, visitList, visitList, visitLiteral, visitLocalRef, visitOver, visitPatternFieldRef, visitRangeRef, visitSubQuery, visitTableInputRef, visitWindowprivate final int firstLeftRef
private final int firstRightRef
RefAndExprConverter(RexBuilder rexBuilder, List<RelDataTypeField> srcFields, List<RelDataTypeField> destFields, int[] adjustments, List<RexNode> preserveLeft, int firstLeftRef, List<RexNode> preserveRight, int firstRightRef)
public RexNode visitCall(RexCall call)
visitCall in interface RexVisitor<RexNode>visitCall in class RexShuttleprivate int findExprInLists(RexNode rex, List<RexNode> rexList1, int adjust1, List<RexNode> rexList2, int adjust2)
rex - RexNode that is being matched againstrexList1 - first list of RexNodesadjust1 - adjustment if match occurred in first listrexList2 - second list of RexNodesadjust2 - adjustment if match occurred in the second listCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.