Re: Make EXPLAIN generate a generic plan for a parameterized query
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michel Pelletier <pelletier.michel@gmail.com>, Julien Rouhaud <rjuju123@gmail.com>, pgsql-hackers@postgresql.org
Date: 2023-02-03T16:14:29Z
Lists: pgsql-hackers
Attachments
- 0001-Add-EXPLAIN-option-GENERIC_PLAN.v6.patch (text/x-patch) patch v6-0001
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
Commits
-
Invent GENERIC_PLAN option for EXPLAIN.
- 3c05284d83b2 16.0 landed