Re: Convert NOT IN sublinks to anti-joins when safe

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Japin Li <japinli(at)hotmail(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Convert NOT IN sublinks to anti-joins when safe
Date: 2026-03-08 08:16:58
Message-ID: CAMbWs48YE2V9YhHWHP5seZ8fs2of7xcG1Vace7BQWsSvsQ2EjQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 5, 2026 at 10:57 AM Japin Li <japinli(at)hotmail(dot)com> wrote:
> Just a quick note: I think `foreach_ptr` is more appropriate here than `foreach`.

Agreed.

For homogeneous lists, it is better to use foreach_node so we get the
additional type-safety assertions in dev builds. For heterogeneous
lists, we should use foreach_ptr.

Attached is an updated version of the patch that replaces foreach with
foreach_ptr or foreach_node accordingly. Nothing else has changed.

I plan to do one more round of self-review on this. Unless there are
any further thoughts or concerns, I'm hoping to commit this in a week
or two. Please let me know if anyone spots anything else I might have
missed.

- Richard

Attachment Content-Type Size
v5-0001-Convert-NOT-IN-sublinks-to-anti-joins-when-safe.patch application/octet-stream 61.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2026-03-08 09:55:56 Re: index prefetching
Previous Message Alexandre Felipe 2026-03-08 06:16:00 Re: index prefetching