| From: | Richard Guo <guofenglinux(at)gmail(dot)com> |
|---|---|
| To: | Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Use exact nullingrels matches for NestLoopParams |
| Date: | 2025-11-11 06:58:31 |
| Message-ID: | CAMbWs482_DFHzQ079ZPp6c8UvmFdz3Jj+4K8tVRu9g2Bw34NPA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
As noted in the commit message of 66e9df9f6, we can now safely use
NRM_EQUAL to process NestLoopParams in setrefs.c. This is because
identify_current_nestloop_params now ensures that Vars or PHVs seen in
a NestLoopParam expression have nullingrels that include exactly the
outer-join relids that appear in the outer side's output and can null
the respective Var or PHV.
Here is a patch that makes that change. It also removes the
NRM_SUBSET enum value, along with all remaining checks for it, since
it is no longer used.
(I'm wondering if we have a way to identify the nullingrels added by
an outer join when fixing up its targetlist and qpqual. If so, we
might be able to switch to exact nullingrels matches for them and
thereby get rid of NRM_SUPERSET too.)
- Richard
| Attachment | Content-Type | Size |
|---|---|---|
| v1-0001-Use-exact-nullingrels-matches-for-NestLoopParams.patch | application/octet-stream | 4.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2025-11-11 07:04:17 | Re: Reorganize GUC structs |
| Previous Message | Chao Li | 2025-11-11 06:57:07 | Re: [PATCH} Move instrumentation structs |