Re: Memoize ANTI and SEMI JOIN inner
wenhui qiu <qiuwenhuifx@gmail.com>
From: wenhui qiu <qiuwenhuifx@gmail.com>
To: Richard Guo <guofenglinux@gmail.com>
Cc: David Rowley <dgrowleyml@gmail.com>, Andrei Lepikhov <lepihov@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-07-02T03:48:11Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Enable use of Memoize for ANTI joins
- 0da29e4cb161 19 (unreleased) landed
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@gmail.com> wrote: > On Thu, Apr 10, 2025 at 7:36 PM Richard Guo <guofenglinux@gmail.com> > wrote: > > On Wed, Apr 9, 2025 at 6:18 PM David Rowley <dgrowleyml@gmail.com> > wrote: > > > On Wed, 9 Apr 2025 at 18:48, Richard Guo <guofenglinux@gmail.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 >