Robert Haas <robertmhaas@gmail.com> 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.
Agreed.
regards, tom lane