Re: Add semi-join pushdown to postgres_fdw

From: Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, "Fujii(dot)Yuki(at)df(dot)MitsubishiElectric(dot)co(dot)jp" <Fujii(dot)Yuki(at)df(dot)mitsubishielectric(dot)co(dot)jp>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>
Subject: Re: Add semi-join pushdown to postgres_fdw
Date: 2023-11-27 15:11:56
Message-ID: f76e5ec21f827bcc4ceca4b398ba7289@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Attachment Content-Type Size
v7-0001-postgres_fdw-add-support-for-deparsing-semi-joins.patch text/x-diff 52.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dominique Devienne 2023-11-27 15:26:43 Re: Emitting JSON to file using COPY TO
Previous Message Tom Lane 2023-11-27 14:56:22 Re: Emitting JSON to file using COPY TO