• Kevin Grittner's avatar
    Follow-on cleanup for the transition table patch. · 5ebeb579
    Kevin Grittner authored
    Commit 59702716 added transition table support to PL/pgsql so that
    SQL queries in trigger functions could access those transient
    tables.  In order to provide the same level of support for PL/perl,
    PL/python and PL/tcl, refactor the relevant code into a new
    function SPI_register_trigger_data.  Call the new function in the
    trigger handler of all four PLs, and document it as a public SPI
    function so that authors of out-of-tree PLs can do the same.
    
    Also get rid of a second QueryEnvironment object that was
    maintained by PL/pgsql.  That was previously used to deal with
    cursors, but the same approach wasn't appropriate for PLs that are
    less tangled up with core code.  Instead, have SPI_cursor_open
    install the connection's current QueryEnvironment, as already
    happens for SPI_execute_plan.
    
    While in the docs, remove the note that transition tables were only
    supported in C and PL/pgSQL triggers, and correct some ommissions.
    
    Thomas Munro with some work by Kevin Grittner (mostly docs)
    5ebeb579
plperl_trigger.sql 5.9 KB