Thread

  1. Re: Function scan FDW pushdown

    Alexander Pyhalov <a.pyhalov@postgrespro.ru> — 2026-05-06T06:59:15Z

    Alexander Pyhalov писал(а) 2026-03-18 15:08:
    > Álvaro Herrera писал(а) 2025-08-05 22:55:
    >> Hello,
    >> 
    >> On 2024-Nov-05, g.kashkin@postgrespro.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