David Rowley <david.row...@2ndquadrant.com> wrote: > On 20 January 2017 at 00:22, Antonin Houska <a...@cybertec.at> wrote: > > Sorry, it was my thinko - I somehow confused David's CROSS JOIN example with > > this one. If one side of the join clause is unique and the other becomes > > unique due to aggregation (and if parallel processing is not engaged) then > > neither combinefn nor multiplyfn should be necessary before the finalfn. > > Yes, if the join can be detected not to duplicate the groups then a > normal aggregate node can be pushed below the join. No need for > Partial Aggregate, or Finalize Aggregate nodes. > > I've a pending patch in the commitfest named "Unique Joins", which > aims teach the planner about the unique properties of joins. So you > should just have both stages of aggregation occur for now, and that > can be improved on once the planner is a bit smart and knows about > unique joins.
Thanks for a hint. I haven't paid attention to the "Unique Joins" patch until today. Yes, that's definitely useful. Given the progress of your patch, I don't worry to make the next version of my patch depend on it. Implementing temporary solution for the aggregation push-down seems to me like wasted effort. -- Antonin Houska Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt Web: http://www.postgresql-support.de, http://www.cybertec.at -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers