• Robert Haas's avatar
    postgres_fdw: Push down UPDATE/DELETE joins to remote servers. · 1bc0100d
    Robert Haas authored
    Commit 0bf3ae88 allowed direct
    foreign table modification; instead of fetching each row, updating
    it locally, and then pushing the modification back to the remote
    side, we would instead do all the work on the remote server via a
    single remote UPDATE or DELETE command.  However, that commit only
    enabled this optimization when join tree consisted only of the
    target table.
    
    This change allows the same optimization when an UPDATE statement
    has a FROM clause or a DELETE statement has a USING clause.  This
    works much like ordinary foreign join pushdown, in that the tables
    must be on the same remote server, relevant parts of the query
    must be pushdown-safe, and so forth.
    
    Etsuro Fujita, reviewed by Ashutosh Bapat, Rushabh Lathia, and me.
    Some formatting corrections by me.
    
    Discussion: http://postgr.es/m/5A57193A.2080003@lab.ntt.co.jp
    Discussion: http://postgr.es/m/b9cee735-62f8-6c07-7528-6364ce9347d0@lab.ntt.co.jp
    1bc0100d
postgres_fdw.h 6.17 KB