Re: [sqlsmith] ERROR: plan should not reference subplan's variable - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [sqlsmith] ERROR: plan should not reference subplan's variable
Date
Msg-id 14046.1467413551@sss.pgh.pa.us
Whole thread Raw
In response to Re: [sqlsmith] ERROR: plan should not reference subplan's variable  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Fri, Jul 1, 2016 at 5:29 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> ... but if I try to actually execute the query, it crashes at runtime,
>> apparently because the CTE has not been passed over to the parallel
>> worker.  Robert, is it expected that CTEs should be parallel-safe?
>> I'd have thought not.

> Not.  See the RTE_CTE case in set_rel_consider_parallel.

OK; but this is crashing anyway, because after const-simplification the
CTE isn't actually referenced anywhere.  But it still ends up as an
initplan attached to the top plan node.  This may have accidentally
failed to fail before you removed this bit in 5ce5e4a12:
   if (glob->subplans != NULL)       glob->wholePlanParallelSafe = false;

I think in the current code, the equivalent thing is that we need to
consider that a plan node is parallel-unsafe once we've stuck some
initPlans on it (which happens only in createplan.c and so doesn't affect
the parallel_safe state of the source Path).  Will see if that helps.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [sqlsmith] ERROR: plan should not reference subplan's variable
Next
From: "Karl O. Pinc"
Date:
Subject: Re: Patch to implement pg_current_logfile() function