On Fri, Jun 28, 2024 at 2:54 PM Richard Guo <guofengli...@gmail.com> wrote: > On Mon, Jun 24, 2024 at 5:59 PM Richard Guo <guofengli...@gmail.com> wrote: > > I noticed that this patch changes the plan of a query in join.sql from > > a semi join to right semi join, compromising the original purpose of > > this query, which was to test the fix for neqjoinsel's behavior for > > semijoins (see commit 7ca25b7d). > > > > -- > > -- semijoin selectivity for <> > > -- > > explain (costs off) > > select * from int4_tbl i4, tenk1 a > > where exists(select * from tenk1 b > > where a.twothousand = b.twothousand and a.fivethous <> > > b.fivethous) > > and i4.f1 = a.tenthous; > > > > So I've changed this test case a bit so that it is still testing what it > > is supposed to test. > > I've refined this test case further to make it more stable by using an > additional filter 'a.tenthous < 5000'. Besides, I noticed a surplus > blank line in ExecHashJoinImpl(). I've removed it in the v7 patch.
BTW, I've also verified the empty-rel optimization for hash join and AFAICT it works correctly for the new right-semi join. Thanks Richard