Re: pull-up subquery if JOIN-ON contains refs to upper-query

solaimurugan vellaipandiyan <drsolaimurugan.v@gmail.com>

From: solaimurugan vellaipandiyan <drsolaimurugan.v@gmail.com>
To: Petr Petrov <p.petrov@postgrespro.ru>
Cc: Alena Rybakina <a.rybakina@postgrespro.ru>, Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>, David Rowley <dgrowleyml@gmail.com>, Ranier Vilela <ranier.vf@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-05-11T05:20:20Z
Lists: pgsql-hackers
Hi Alena,

I did some additional testing on the latest patch and the behavior
looks good in my environment so far.

I verified the original EXISTS pull-up case and confirmed that after
applying the patch the planner generates optimized Semi Join plans
instead of EXISTS(SubPlan).
I also tested several additional cases discussed in the thread, including:
1.NOT EXISTS queries
2. constant qual conditions
3. ANY array conditions
4. LEFT JOIN cases
5. FULL JOIN cases
For the FULL JOIN scenarios, I checked both the execution plans and
actual query results. In one case the planner simplified the query
into a Hash Join plan, but the final query results remained correct.
I additionally ran:
 - make check
 - make -C contrib check
Both completed successfully in my environment and I did not observe
planner crashes or incorrect query results during testing.
Overall, the patch seems to improve planner behavior consistently for
these EXISTS pull-up scenarios.

Regards,
Solaimurugan V