Re: Support "Right Semi Join" plan shapes
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Li Japin <japinli@hotmail.com>
Cc: Alena Rybakina <lena.ribackina@yandex.ru>,
wenhui qiu <qiuwenhuifx@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>,
vignesh C <vignesh21@gmail.com>
Date: 2024-06-28T06:54:39Z
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 →
-
Support "Right Semi Join" plan shapes
- aa86129e19d7 18.0 landed
-
Fix neqjoinsel's behavior for semi/anti join cases.
- 7ca25b7de6ae 11.0 cited
Attachments
- v7-0001-Support-Right-Semi-Join-plan-shapes.patch (application/octet-stream) patch v7-0001
On Mon, Jun 24, 2024 at 5:59 PM Richard Guo <guofenglinux@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. Thanks Richard