@Override protected String visitRow(Row node, Boolean unmangleNames) { return "ROW (" + Joiner.on(", ") .join( node.getItems() .stream() .map((child) -> process(child, unmangleNames)) .collect(Collectors.toList())) + ")"; }
@Override protected Type visitRow(Row node, AnalysisContext context) { List<Type> types = node.getItems() .stream() .map((child) -> process(child, context)) .collect(toImmutableList()); Type type = new RowType(types, Optional.empty()); expressionTypes.put(node, type); return type; }