On Sun, 13 Jun 2021 at 03:07, David Rowley <dgrowle...@gmail.com> wrote: > > Please find attached my WIP patch. It's WIP due to what I mentioned > in the above paragraph and also because I've not bothered to add JIT > support for the new expression evaluation steps.
I've split this patch into two parts. 0001 Adds planner support for ORDER BY aggregates. 0002 is a WIP patch for DISTINCT support. This still lacks JIT support and I'm still not certain of the best where to store the previous value or tuple to determine if the current one is distinct from it. The 0001 patch is fairly simple and does not require much in the way of changes in the planner aside from standard_qp_callback(). Surprisingly the executor does not need a great deal of work here either. It's just mostly about skipping the normal agg(.. ORDER BY) code when the Aggref is presorted. David
v2-0001-Add-planner-support-for-ORDER-BY-aggregates.patch
Description: Binary data
v2-0002-WIP-Add-planner-support-for-DISTINCT-aggregates.patch
Description: Binary data