Re: Planner : anti-join on left joins - Mailing list pgsql-hackers

From Richard Guo
Subject Re: Planner : anti-join on left joins
Date
Msg-id CAMbWs4-m4-50RxF4cMnCvguAscAHr=ZS9GNzy+jgDjHM++0P4w@mail.gmail.com
Whole thread Raw
In response to Re: Planner : anti-join on left joins  (Tender Wang <tndrwang@gmail.com>)
List pgsql-hackers
On Tue, Jan 6, 2026 at 10:47 AM Tender Wang <tndrwang@gmail.com> wrote:
> ...
> SELECT ... FROM a LEFT JOIN b ON (a.x = b.y) WHERE b.z IS NULL;
>  * If we can prove that b.z must be non-null for any matching row, either
>  * because the join clause is strict for b.z, or because b.z is defined NOT
>  * NULL by table constraints,
> ...
> How can the strict join clause influence b.z?

The logic 'strict for b.z' effectively applies only if b.z happens to
be the join key b.y.  To avoid confusion, I have rephrased the comment
to make this distinction clear.

I've also included a commit message, refined the comments throughout,
and added test cases in the updated patch.

Feedback and testing are very welcome.

- Richard

Attachment

pgsql-hackers by date:

Previous
From: Jakub Wartak
Date:
Subject: Re: [PATCH] Add Windows support for backtrace_functions (MSVC only)
Next
From: "Jonathan Gonzalez V."
Date:
Subject: Re: Make PGOAUTHCAFILE in libpq-oauth work out of debug mode