Re: Using each rel as both outer and inner for JOIN_ANTI

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Ronan Dunklau <ronan(dot)dunklau(at)aiven(dot)io>
Cc: Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Emre Hasegeli <emre(at)hasegeli(dot)com>
Subject: Re: Using each rel as both outer and inner for JOIN_ANTI
Date: 2021-07-02 03:23:59
Message-ID: CAMbWs48hf3mEAHawo0HVTXniGg5hUhBCgG-uW_CmUuETMy578w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jul 1, 2021 at 3:18 PM Ronan Dunklau <ronan(dot)dunklau(at)aiven(dot)io> wrote:

> Le jeudi 1 juillet 2021, 09:09:38 CEST Ronan Dunklau a écrit :
> > > Yes, thanks! I was making a big mistake here thinking the executor can
> > > stop after the first match. That's not true. We need to use each outer
> > > tuple to find all the matches and mark the corresponding hashtable
> > > entries. I have updated the patch with the fix.
> >
> > It looks OK to me.
>
> I forgot to mention: you also have failing tests due to the plans changing
> to
> use the new join type. This might not be the case anymore once you update
> the
> cost model, but if that's the case the tests should be updated.
>

Thanks! Test cases are updated in v3 patch. Also merge join can do the
'right anti join' too in the same patch.

Thanks again for reviewing this patch.

Thanks
Richard

Attachment Content-Type Size
v3-0001-Using-each-rel-as-both-outer-and-inner-for-anti-join.patch application/octet-stream 24.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-07-02 03:44:44 Re: relation OID in ReorderBufferToastReplace error message
Previous Message Alvaro Herrera 2021-07-02 03:05:26 Re: Refactor "mutually exclusive options" error reporting code in parse_subscription_options