Robert Haas <> writes:
> I definitely agree that the current output is messed up, but I'm not
> sure your proposed output is much better.  I wonder if it shouldn't
> say something like:
> Output: serialfn(transfn(args))
> for the partial aggregate and
> Output: finalfn(combinefn(deserialfn(args)))
> for the finalize aggregate step.

> Or maybe just insert the word PARTIAL before each partial aggregate
> step, like PARTIAL sum(num) for the partial step and then just
> sum(num) for the final step.

+1 for the latter, if we can do it conveniently.  I think exposing
the names of the aggregate implementation functions would be very
user-unfriendly, as nobody but us hackers knows what those are.

> I think ending up with sum(sum(num)) is
> right out.  It doesn't look so bad for that case but avg(avg(num))
> would certainly imply something that's not the actual behavior.


                        regards, tom lane

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to