Alexander Pyhalov писал(а) 2026-03-18 15:08:
> Álvaro Herrera писал(а) 2025-08-05 22:55:
>> Hello,
>>
>> On 2024-Nov-05, g(dot)kashkin(at)postgrespro(dot)ru wrote:
>>
>>> This is a long-overdue follow-up to the original patch.
>>> Note that this patch contains only the changes required for
>>> function scan pushdown, examples and code related to asymmetric
>>> join are dropped.
>>
>> I've marked this as returned with feedback, as several months have
>> passed without a further version; the current one has a number of
>> gotchas, including some problematic coding detected by a compiler
>> warning, as well as unfinished design:
>>
>>> The issue with setting newrte->functions to NIL still persists.
>>> [...]
>>> I am aware that the rte->functions will now be copied even on
>>> instances that don't utilize a FDW, but I don't see a way to solve
>>> it.
>>> Any suggestions are welcome.
>>
>> Feel free to reopen this CF entry[1] once you're able to figure this
>> out.
>>
>> [1] https://commitfest.postgresql.org/patch/5470/
>
> Hi.
> I've updated patch with latest fixes, including more checks for corner
> cases.
> Now function pushdown is forbidden for functions, returning sets of
> complex types
> or which arguments contain parameters. Together with Gleb Kashkin we've
> also moved
> information about functions to foreign scan private data. The tricky
> part here was
> to get correct rti mappings after setrefs, but it seems we've managed
> to do it.
> Also I've removed some changes, which are required only in presence of
> asymmetric
> join.
>
> Of course, I'm targeting PostgreSQL 20.
Hi. Updated patch to apply cleanly after recent changes.
--
Best regards,
Alexander Pyhalov,
Postgres Professional