Re: Add semi-join pushdown to postgres_fdw
Alexander Pyhalov <a.pyhalov@postgrespro.ru>
From: Alexander Pyhalov <a.pyhalov@postgrespro.ru>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>,
"Fujii.Yuki@df.MitsubishiElectric.co.jp"
<Fujii.Yuki@df.mitsubishielectric.co.jp>, Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com>, Pgsql Hackers
<pgsql-hackers@postgresql.org>, Ian Lawrence Barwick <barwick@gmail.com>
Date: 2023-11-27T15:11:56Z
Lists: pgsql-hackers
Attachments
- v7-0001-postgres_fdw-add-support-for-deparsing-semi-joins.patch (text/x-diff) patch v7-0001
Alexander Korotkov писал(а) 2023-11-27 03:49: > Thank you for the revision. > > I've revised the patch myself. I've replaced StringInfo with > additional conds into a list of strings as I proposed before. I think > the code became much clearer. Also, it gets rid of some unnecessary > allocations. > > I think the code itself is not in bad shape. But patch lacks some > high-level description of semi-joins processing as well as comments on > each manipulation with additional conds. Could you please add this? > Hi. The updated patch looks better. It seems I've failed to fix logic in deparseFromExprForRel() when tried to convert StringInfos to Lists. I've added some comments. The most complete description of how SEMI-JOIN is processed, is located in deparseFromExprForRel(). Unfortunately, there seems to be no single place, describing current JOIN deparsing logic. -- Best regards, Alexander Pyhalov, Postgres Professional
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
postgres_fdw: Avoid pulling up restrict infos from subqueries
- 729fe699e612 17.5 landed
- 023fb512755f 18.0 landed
-
Add support for deparsing semi-joins to contrib/postgres_fdw
- 824dbea3e41e 17.0 landed
-
Move PartitioPruneInfo out of plan nodes into PlannedStmt
- ec386948948c 16.0 cited