@Override protected R visitUnnest(Unnest node, C context) { for (Expression expression : node.getExpressions()) { process(expression, context); } return null; }
@Override protected R visitUnnest(Unnest node, C context) { for (Expression expression : node.getExpressions()) { process(expression, context); } return null; }
@Override protected Void visitUnnest(Unnest node, Integer indent) { builder.append("UNNEST(") .append(node.getExpressions().stream() .map(expression -> formatExpression(expression, parameters)) .collect(joining(", "))) .append(")"); if (node.isWithOrdinality()) { builder.append(" WITH ORDINALITY"); } return null; }
@Override protected Void visitUnnest(Unnest node, Integer indent) { builder.append("UNNEST(") .append(node.getExpressions().stream() .map(expression -> formatExpression(expression, parameters)) .collect(joining(", "))) .append(")"); if (node.isWithOrdinality()) { builder.append(" WITH ORDINALITY"); } return null; }
ImmutableMap.Builder<Symbol, List<Symbol>> unnestSymbols = ImmutableMap.builder(); Iterator<Symbol> unnestedSymbolsIterator = unnestedSymbols.iterator(); for (Expression expression : node.getExpressions()) { Type type = analysis.getType(expression); Expression rewritten = Coercer.addCoercions(expression, analysis);
ImmutableMap.Builder<Symbol, List<Symbol>> unnestSymbols = ImmutableMap.builder(); Iterator<Symbol> unnestedSymbolsIterator = unnestedSymbols.iterator(); for (Expression expression : node.getExpressions()) { Type type = analysis.getType(expression); Expression rewritten = Coercer.addCoercions(expression, analysis);
for (Expression expression : node.getExpressions()) { ExpressionAnalysis expressionAnalysis = analyzeExpression(expression, createScope(scope)); Type expressionType = expressionAnalysis.getType(expression);
for (Expression expression : node.getExpressions()) { ExpressionAnalysis expressionAnalysis = analyzeExpression(expression, createScope(scope)); Type expressionType = expressionAnalysis.getType(expression);
planBuilder = planBuilder.appendProjections(node.getExpressions(), symbolAllocator, idAllocator); TranslationMap translations = planBuilder.getTranslations(); ProjectNode projectNode = (ProjectNode) planBuilder.getRoot(); for (Expression expression : node.getExpressions()) { Type type = analysis.getType(expression); Symbol inputSymbol = translations.get(expression);
planBuilder = planBuilder.appendProjections(node.getExpressions(), symbolAllocator, idAllocator); TranslationMap translations = planBuilder.getTranslations(); ProjectNode projectNode = (ProjectNode) planBuilder.getRoot(); for (Expression expression : node.getExpressions()) { Type type = analysis.getType(expression); Symbol inputSymbol = translations.get(expression);