Re: Make EXPLAIN generate a generic plan for a parameterized query - Mailing list pgsql-hackers

From Laurenz Albe
Subject Re: Make EXPLAIN generate a generic plan for a parameterized query
Date
Msg-id c9a84fdb3be2d0d9f838d35dfb40eea33b63b5c4.camel@cybertec.at
Whole thread Raw
In response to Re: Make EXPLAIN generate a generic plan for a parameterized query  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Make EXPLAIN generate a generic plan for a parameterized query  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, 2023-02-03 at 09:44 -0500, Tom Lane wrote:
> Laurenz Albe <laurenz.albe@cybertec.at> writes:
> > I played around with it, and I ran into a problem with partitions that
> > are foreign tables:
> > ...
> >   EXPLAIN (GENERIC_PLAN) SELECT * FROM looppart WHERE key = $1;
> >   ERROR:  no value found for parameter 1
>
> Hmm, offhand I'd say that something is doing something it has no
> business doing when EXEC_FLAG_EXPLAIN_ONLY is set (that is, premature
> evaluation of an expression).  I wonder whether this failure is
> reachable without this patch.

Thanks for the pointer.  Perhaps something like the attached?
The changes in "CreatePartitionPruneState" make my test case work,
but they cause a difference in the regression tests, which would be
intended if we have no partition pruning with plain EXPLAIN.

Yours,
Laurenz Albe

Attachment

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: proposal: psql: show current user in prompt
Next
From: Andrew Dunstan
Date:
Subject: Re: run pgindent on a regular basis / scripted manner