Re: PoC: adding CustomJoin, separate from CustomScan

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: PoC: adding CustomJoin, separate from CustomScan
Дата
Msg-id CA+TgmoaxSJ6XA+xaT=CvXqxyjCrdTu_VSLo9F7UrGu3qLRptWw@mail.gmail.com
обсуждение исходный текст
Ответ на PoC: adding CustomJoin, separate from CustomScan  (Tomas Vondra <tomas@vondra.me>)
Ответы Re: PoC: adding CustomJoin, separate from CustomScan
Список pgsql-hackers
On Thu, Jul 24, 2025 at 9:04 AM Tomas Vondra <tomas@vondra.me> wrote:
> With this patch, my custom join can simply do
>
>     econtext->ecxt_outertuple = outer;
>     econtext->ecxt_innertuple = inner;
>
>     return ExecProject(node->js.ps.ps_ProjInfo);
>
> and it works.

This doesn't seem like the right approach to me because, AFAICS, it's
only going to work if you're replacing a single join. But I think it
would be very desirable for a CustomScan to be able to replace
multiple joins with a single scan node and handle all the details
internally. I'm fairly certain that was part of the original design
intent here.

And I think that must already work for foreign joins, because I
believe postgres_fdw is perfectly capable of pushing a multi-way join
down to a remote node -- and if it's doing that, it's somehow solving
the problem you encountered here. So maybe we can study how that works
and figure out how to apply it to this case.

--
Robert Haas
EDB: http://www.enterprisedb.com



В списке pgsql-hackers по дате отправления: