• Noah Misch's avatar
    Offer triggers on foreign tables. · 7cbe57c3
    Noah Misch authored
    This covers all the SQL-standard trigger types supported for regular
    tables; it does not cover constraint triggers.  The approach for
    acquiring the old row mirrors that for view INSTEAD OF triggers.  For
    AFTER ROW triggers, we spool the foreign tuples to a tuplestore.
    
    This changes the FDW API contract; when deciding which columns to
    populate in the slot returned from data modification callbacks, writable
    FDWs will need to check for AFTER ROW triggers in addition to checking
    for a RETURNING clause.
    
    In support of the feature addition, refactor the TriggerFlags bits and
    the assembly of old tuples in ModifyTable.
    
    Ronan Dunklau, reviewed by KaiGai Kohei; some additional hacking by me.
    7cbe57c3
postgres_fdw.c 78.1 KB