• Andrew Dunstan's avatar
    Add a direct function call mechanism using the caller's context. · 29bf5016
    Andrew Dunstan authored
    The current DirectFunctionCall functions use NULL as the flinfo in
    initializing the FunctionCallInfoData for the call. That means the
    called function has no fn_mcxt or fn_extra to work with, and attempting
    to do so will result in an access violation. These functions instead use
    the provided flinfo, which will usually be the caller's own flinfo. The
    caller needs to ensure that it doesn't use the fn_extra in way that is
    incompatible with the way the called function will use it. The called
    function should not rely on anything else in the provided context, as it
    will be relevant to the caller, not the callee.
    
    Original code from Tom Lane.
    
    Discussion: https://postgr.es/m/db2b70a4-78d7-294a-a315-8e7f506c5978@2ndQuadrant.com
    29bf5016
fmgr.h 31.7 KB