Re: Planner : anti-join on left joins
| От | wenhui qiu |
|---|---|
| Тема | Re: Planner : anti-join on left joins |
| Дата | |
| Msg-id | CAGjGUA+8uaR412ZZ0iNAHLn7-qMMKPdrTQxAZrnJvT6s0pMJ8w@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: Planner : anti-join on left joins (Richard Guo <guofenglinux@gmail.com>) |
| Список | pgsql-hackers |
HI Richard
> 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.
> 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.
The v6 path correctly extends LEFT→ANTI join reduction using NOT NULL constraints, carefully accounting for nullability introduced by lower-level outer joins; the approach is sound, well-contained, and adequately covered by regression tests. LGTM
Thanks
On Tue, Jan 6, 2026 at 4:24 PM Richard Guo <guofenglinux@gmail.com> wrote:
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
В списке pgsql-hackers по дате отправления: