From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Andreas Seltenreich <seltenreich(at)gmx(dot)de>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [sqlsmith] Parallel worker crash on seqscan |
Date: | 2016-11-21 18:00:12 |
Message-ID: | 25380.1479751212@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2016-11-21 18:05:40 | pgsql: autovacuum: Drop orphan temp tables more quickly but with more c |
Previous Message | Michael Meskes | 2016-11-21 17:56:32 | Re: DECLARE STATEMENT setting up a connection in ECPG |