本文整理汇总了Java中org.eigenbase.rex.RexInputRef.getIndex方法的典型用法代码示例。如果您正苦于以下问题:Java RexInputRef.getIndex方法的具体用法?Java RexInputRef.getIndex怎么用?Java RexInputRef.getIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eigenbase.rex.RexInputRef
的用法示例。
在下文中一共展示了RexInputRef.getIndex方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getExprVarsFromRexCall
import org.eigenbase.rex.RexInputRef; //导入方法依赖的package包/类
public static void getExprVarsFromRexCall(RexNode cond, List<ExprVar> result) {
if(cond instanceof RexCall) {
RexCall call = (RexCall) cond;
for(int i = 0; i < call.getOperands().size(); i++) {
getExprVarsFromRexCall(call.getOperands().get(i), result);
}
return;
}
// assignable variable
if(cond instanceof RexInputRef) {
RexInputRef ref = (RexInputRef) cond;
for (ExprVar expr : result) {
if(expr.varName.equals(ref.getName())) {
// variable already created;
return;
}
}
ExprVar e = new ExprVar();
e.varName = ref.getName();
e.positionInRecord = ref.getIndex();
e.type = getTypeClass(ref.getType());
result.add(e);
return;
}
}
示例2: translateRexInputRef
import org.eigenbase.rex.RexInputRef; //导入方法依赖的package包/类
private TblColRef translateRexInputRef(RexInputRef inputRef, ColumnRowType inputColumnRowType, String fieldName, Set<TblColRef> sourceCollector) {
int index = inputRef.getIndex();
// check it for rewrite count
if (index < inputColumnRowType.size()) {
TblColRef column = inputColumnRowType.getColumnByIndex(index);
if (!column.isInnerColumn() && !this.rewriting && !this.afterAggregate) {
context.allColumns.add(column);
sourceCollector.add(column);
}
return column;
} else {
throw new IllegalStateException("Can't find " + inputRef + " from child columnrowtype " + inputColumnRowType + " with fieldname " + fieldName);
}
}
示例3: visitInputRef
import org.eigenbase.rex.RexInputRef; //导入方法依赖的package包/类
@Override
public ChildVisitor visitInputRef(RexInputRef inputRef) {
final int index = inputRef.getIndex();
final RelDataTypeField field = input.getRowType().getFieldList().get(index);
return new Field(field.getName());
}