Re: Memoize ANTI and SEMI JOIN inner

From: wenhui qiu <qiuwenhuifx(at)gmail(dot)com>
To: Richard Guo <guofenglinux(at)gmail(dot)com>
Cc: David Rowley <dgrowleyml(at)gmail(dot)com>, Andrei Lepikhov <lepihov(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Memoize ANTI and SEMI JOIN inner
Date: 2025-07-02 03:48:11
Message-ID: CAGjGUAL+GcLFGh0117xGcXk1jXyhM7ShNxnaoV3vUH8PyO654g@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

HI

> - if (!extra->inner_unique && (jointype == JOIN_SEMI ||
> - jointype == JOIN_ANTI))
> + if ((jointype == JOIN_SEMI || jointype == JOIN_ANTI) &&
> + !extra->inner_unique)
To be nitpicky, this change is meant to align with the earlier comment
modifications to improve code readability, right? Everything else looks
good to me."

Thanks

On Wed, Jul 2, 2025 at 10:08 AM Richard Guo <guofenglinux(at)gmail(dot)com> wrote:

> On Thu, Apr 10, 2025 at 7:36 PM Richard Guo <guofenglinux(at)gmail(dot)com>
> wrote:
> > On Wed, Apr 9, 2025 at 6:18 PM David Rowley <dgrowleyml(at)gmail(dot)com>
> wrote:
> > > On Wed, 9 Apr 2025 at 18:48, Richard Guo <guofenglinux(at)gmail(dot)com>
> wrote:
> > > > Perhaps we could spend some planner cycles proving inner_unique for
> > > > anti joins, so that Memoize nodes can be considered for them?
>
> > > Worth a try. It should be pretty easy to enable, as far as I can see.
> > > It might just be a case of shuffling the cases around in the switch
> > > statement in add_paths_to_joinrel().
>
> > Right. Here is a patch for that.
>
> Here's a rebased version with no other changes.
>
> David, Andrei, would you like to take another look? I'm planning to
> push it soon.
>
> Thanks
> Richard
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Lakhin 2025-07-02 04:00:00 Re: Improving tracking/processing of buildfarm test failures
Previous Message vignesh C 2025-07-02 03:39:52 Re: Huge commitfest app update upcoming: Tags, Draft CF, Help page, and automated commitfest creat/open/close