Also see {@link RexProgram#apply(RexVisitor,java.util.List,RexNode)}, which applies a visitor to several expressions simultaneously.
111112113114115116117118119120121
final RexNode left = call.getOperands().get(0); final RexLiteral literal = (RexLiteral) call.getOperands().get(1); final String field = (String) literal.getValue2(); // buf.append('\''); final int length = buf.length(); left.accept(this); if (buf.length() > length) { // check before generating empty LHS if inputName is null buf.append('.'); } buf.append(field);
208209210211212213214215216217218
obExpr = null; if (obRefToCallMap != null) obExpr = obRefToCallMap.get(c.getFieldIndex()); if (obExpr != null) { astCol = obExpr.accept(new RexVisitor(schema)); } else { ColumnInfo cI = schema.get(c.getFieldIndex()); /* * The RowResolver setup for Select drops Table associations. So * setup ASTNode on unqualified name.