ImmutableMap.Builder<Symbol, FunctionHandle> functions = ImmutableMap.builder();
// 2.a. Rewrite aggregates in terms of pre-projected inputs
TranslationMap translations = new TranslationMap(subPlan.getRelationPlan(), analysis);
for (FunctionCall aggregate : analysis.getAggregates(node)) {
FunctionCall rewritten = (FunctionCall) subPlan.rewrite(aggregate);
Symbol newSymbol = symbolAllocator.newSymbol(rewritten, analysis.getType(aggregate));
aggregationAssignments.put(newSymbol, rewritten);
translations.put(aggregate, newSymbol);