Robert Haas <robertmhaas@gmail.com> writes:
> One of my EDB colleagues, while in the process of refactoring some
> unrelated Advanced Server code, discovered that (1) there's no way to
> mark an aggregate as anything other than parallel-unsafe but (2) it
> doesn't matter because has_parallel_hazard ignores Aggrefs anyway.
> These mistakes cancel each other out (sorta) if all of your aggregates
> happen to be parallel-safe, but otherwise not so much. Barring
> objections, I intend to speedily apply the attached patch to fix this.
Um ... why is it a good idea to attach a parallel-safe annotation to an
aggregate as such, rather than relying on the parallel-safe annotations
of its implementation functions?
This seems not entirely academic, since perhaps the functions are not
all marked the same; which might be sensible. Perhaps the transition
function can be pushed down but not the final function.
regards, tom lane