Re: BUG #18576: Using EXPLAIN (VERBOSE) in information_schema.element_types returns ERROR: failed to find plan for
Andrei Lepikhov <lepihov@gmail.com>
From: Andrei Lepikhov <lepihov@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Richard Guo <guofenglinux@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-08-19T11:23:51Z
Lists: pgsql-bugs
Attachments
- minor_fix.diff (text/plain) patch
On 9/8/2024 17:25, Tom Lane wrote: > I wrote: >> Richard Guo <guofenglinux@gmail.com> writes: >>> Agreed. Do you think it would be helpful to add some assertions to >>> verify the plan type? > >> I thought about that but didn't experiment with it. I wonder whether >> it'd just make the code more fragile. Still, it might be useful to >> verify that things are happening as we expect. > > After sleeping on it, I elected to add the Asserts as suggested, > except in v12 where they'd have had to look different. That's > not strictly a matter of laziness: v12's next release will be its > last, and I've been burned often enough to become very hesitant > about pushing even slightly-questionable code into an EOL release. Thanks for pushing this! But could you change this code a little bit? I reported this issue a year ago. At that time, it was triggered by the CustomScan node [1]. I haven't found the solution there [2]. Your code looks like a good tradeoff, and if you slightly change the code (like in the attachment), it allows CustomScan to survive such cases. [1] https://www.postgresql.org/message-id/3933834e-b657-4ad1-bf4e-5f3fbba7ba14%40app.fastmail.com [2] https://www.postgresql.org/message-id/0cbbd87e-1b57-4b7e-9825-19a6fb2f8670%40postgrespro.ru -- regards, Andrei Lepikhov
Commits
-
Fix "failed to find plan for subquery/CTE" errors in EXPLAIN.
- b919a97a6cd2 18.0 landed
- 81a12a447753 17.0 landed
- 7408772de563 12.21 landed
- 3ad35d5022c9 13.17 landed
- 120dd033761d 14.14 landed
- 12010f414615 15.9 landed
- 03f679475d9a 16.5 landed
-
Make the upper part of the planner work by generating and comparing Paths.
- 3fc6e2d7f5b6 9.6.0 cited