Re: The bogus calls in remove_self_join_rel() - Mailing list pgsql-hackers

From Andrei Lepikhov
Subject Re: The bogus calls in remove_self_join_rel()
Date
Msg-id e0e6ad26-b3a0-4375-be0b-dc291534fbae@gmail.com
Whole thread
In response to The bogus calls in remove_self_join_rel()  (Richard Guo <guofenglinux@gmail.com>)
List 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



pgsql-hackers by date:

Previous
From: Richard Guo
Date:
Subject: Re: The bogus calls in remove_self_join_rel()
Next
From: Chao Li
Date:
Subject: Re: PoC: Add condition variable support to WaitEventSetWait()