>>>>> "Andres" == Andres Freund <and...@anarazel.de> writes:

 Andres> Andrew, are you going to be working on any of these?

As discussed on IRC, current status is:

 >>> * The increased complexity of grouping_planner. It'd imo be good if some
 >>>   of that could be refactored into a separate function. Specifically the
 >>>   else if (parse->hasAggs || (parse->groupingSets && parse->groupClause))
 >>>   block.

done and pushed at you

 >>> * The Hopcroft-Karp stuff not being separate

done and pushed

 Andres> * to split agg_retrieve_direct into a version for grouping sets
 Andres> and one without. I think that'll be a pretty clear win for
 Andres> clarity.

I don't see how this helps given that the grouping sets version will be
exactly as complex as the current code.

 Andres> * to spin out common code between agg_retrieve_direct (in both
 Andres> the functions its split into), agg_retrieve_hashed and
 Andres> agg_retrieve_chained. It should e.g. be fairly simple to spin
 Andres> out the tail end processing of a input group
 Andres> (finalize_aggregate loop, ExecQual) into a separate function.

This isn't _quite_ as simple as it sounds but I'll have a go.

 >> * The code in nodeAgg.c isn't pretty in places. Stuff like if
 >> (node->chain_depth > 0) estate->agg_chain_head = save_chain_head;...
 >> Feels like a good bit of cleanup would be possible there.

I'll look.

-- 
Andrew (irc:RhodiumToad)


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to