Re: Using each rel as both outer and inner for JOIN_ANTI - Mailing list pgsql-hackers

From Zhihong Yu
Subject Re: Using each rel as both outer and inner for JOIN_ANTI
Date
Msg-id CALNJ-vQin1dL0bdVsPr3dFupLNs6ubPL1WY2vWO92sYgutqqow@mail.gmail.com
Whole thread Raw
In response to Re: Using each rel as both outer and inner for JOIN_ANTI  (Richard Guo <guofenglinux@gmail.com>)
Responses Re: Using each rel as both outer and inner for JOIN_ANTI
List pgsql-hackers


On Thu, Jul 1, 2021 at 8:24 PM Richard Guo <guofenglinux@gmail.com> wrote:

On Thu, Jul 1, 2021 at 3:18 PM Ronan Dunklau <ronan.dunklau@aiven.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

pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: ECPG doesn't compile CREATE AS EXECUTE properly.
Next
From: Michael Paquier
Date:
Subject: Re: ERROR: "ft1" is of the wrong type.