Re: BUG #18953: Planner fails to build plan for complex query with LATERAL references
Alexander Lakhin <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-bugs@lists.postgresql.org, Richard Guo <guofenglinux@gmail.com>
Date: 2025-06-22T12:00:01Z
Lists: pgsql-bugs
Hello Tom, 17.06.2025 19:29, Tom Lane wrote: > So I'm inclined to leave that code as I had it. It's notationally > a bit simpler and it doesn't require assuming that we can ignore > the path's required_outer marking at this stage. If I'm wrong, > someone will eventually find a counterexample and we can fix it > then; the changes won't be large. Please look at the following (simplified version of a query generated by SQLsmith), which produces errors after a16ef313f2: CREATE TABLE t(b bool); ANALYZE t; SELECT 1 FROM t INNER JOIN (SELECT (SELECT true) AS c FROM t, LATERAL (SELECT b LIMIT 1)) ON true RIGHT JOIN (SELECT true) ON true, LATERAL (SELECT b WHERE c LIMIT 1) WHERE t.b; ERROR: XX000: unrecognized node type: 22 LOCATION: ExecInitExprRec, execExpr.c:2665 Or a slight variation: SELECT 1 FROM t INNER JOIN (SELECT (SELECT true) AS c FROM t, LATERAL (SELECT 1 LIMIT 1)) ON true RIGHT JOIN (SELECT true) ON true, LATERAL (SELECT b WHERE c LIMIT 1) WHERE t.b; ERROR: XX000: failed to assign all NestLoopParams to plan nodes LOCATION: create_plan, createplan.c:372 Best regards, Alexander
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix some new issues with planning of PlaceHolderVars.
- 66e9df9f6ef5 18.0 landed
-
Remove planner's have_dangerous_phv() join-order restriction.
- a16ef313f2c2 18.0 landed