• Tomas Vondra's avatar
    Fix tuple routing to initialize batching only for inserts · 927f453a
    Tomas Vondra authored
    A cross-partition update on a partitioned table is implemented as a
    delete followed by an insert. With foreign partitions, this was however
    causing issues, because the FDW and core may disagree on when to enable
    batching.  postgres_fdw was only allowing batching for plain inserts
    (CMD_INSERT) while core was trying to batch the insert component of the
    cross-partition update.  Fix by restricting core to apply batching only
    to plain CMD_INSERT queries.
    
    It's possible to allow batching for cross-partition updates, but that
    will require more extensive changes, so better to leave that for a
    separate patch.
    
    Author: Amit Langote
    Reviewed-by: Tomas Vondra, Takayuki Tsunakawa
    Discussion: https://postgr.es/m/20200628151002.7x5laxwpgvkyiu3q@development
    927f453a
postgres_fdw.out 459 KB