• Tom Lane's avatar
    Invent start_proc parameters for PL/Tcl. · 0d2b1f30
    Tom Lane authored
    Define GUCs pltcl.start_proc and pltclu.start_proc.  When set to a
    nonempty value at the time a new Tcl interpreter is created, the
    parameterless pltcl or pltclu function named by the GUC is called to
    allow user-controlled initialization to occur within the interpreter.
    This is modeled on plv8's start_proc parameter, and also has much in
    common with plperl's on_init feature.  It allows users to fully
    replace the "modules" feature that was removed in commit 817f2a58.
    
    Since an initializer function could subvert later Tcl code in nearly
    arbitrary ways, mark both GUCs as SUSET for now.  It would be nice
    to find a way to relax that someday; but the corresponding GUCs in
    plperl are also SUSET, and there's not been much complaint.
    
    Discussion: https://postgr.es/m/22067.1488046447@sss.pgh.pa.us
    0d2b1f30
pltcl.c 94.5 KB