Re: The bogus calls in remove_self_join_rel()
Andrei Lepikhov <lepihov@gmail.com>
From: Andrei Lepikhov <lepihov@gmail.com>
To: Richard Guo <guofenglinux@gmail.com>,
Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-23T08:11:06Z
Lists: pgsql-hackers
On 23/04/2026 04:45, Richard Guo wrote: > I noticed these two calls in remove_self_join_rel(): > > adjust_relid_set(root->all_result_relids, toRemove->relid, toKeep->relid); > adjust_relid_set(root->leaf_result_relids, toRemove->relid, toKeep->relid); > > There's no comment explaining them, and as far as I can tell they do > nothing: adjust_relid_set returns a Relids and does not modify the > input in place. There is a clear history of these calls. When designing SJE, we initially applied it to partitioned tables. Later, we realised complicated issues arise when SJE meets DML, the RETURNING clause, and partitioned tables. So, we reduced the feature for some time. I guess the core code's stability has been proven enough by PG18. We may introduce SJE over partitioned tables in the next release. You can probably remove these calls for now. Just make sure to add assertions to help with developing the partitioned case. -- regards, Andrei Lepikhov, pgEdge
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix bogus calls in remove_self_join_rel()
- c66d6d19eb1a 19 (unreleased) landed