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

From: Zhihong Yu <zyu(at)yugabyte(dot)com>
To: Richard Guo <guofenglinux(at)gmail(dot)com>
Cc: Ronan Dunklau <ronan(dot)dunklau(at)aiven(dot)io>, 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 04:04:47
Message-ID: CALNJ-vQin1dL0bdVsPr3dFupLNs6ubPL1WY2vWO92sYgutqqow@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jul 1, 2021 at 8:24 PM Richard Guo <guofenglinux(at)gmail(dot)com> wrote:

>
> 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
>
>
Hi,
Minor comment:
+ * In a right-antijoin, we never return a matched tuple.

matched tuple -> matching tuple

Cheers

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2021-07-02 04:20:21 Re: ERROR: "ft1" is of the wrong type.
Previous Message Kyotaro Horiguchi 2021-07-02 04:01:11 Re: ECPG doesn't compile CREATE AS EXECUTE properly.