I wrote: > Actually, the Gather path *isn't* parameterized. The problem here is > that we're planning an unflattened subquery, and the only thing that > is parallel-unsafe is that there is an outer Param in its toplevel tlist, > and we're somehow deciding that we can stick that unsafe tlist into (and > beneath) the Gather node. So something rotten in that area, but I've not > quite found it yet.
Hah: not where I thought it was at all. The problem seems to be down to the optimization I put into is_parallel_safe() awhile back to skip testing anything if we previously found the entire querytree to be parallel-safe. Well, the raw query tree *is* parallel-safe. It's only when we inject some Params that we have a parallel hazard. So that optimization is too optimistic :-( regards, tom lane -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers