I just read across the code in command/trigger.c:ExecCallTriggerFunc() and
apparently the trigger function is called unconditionally even if the
"strict" flag is set. Perhaps this should be amended somewhere.
For coding clarity and convenience I'd suggest that we add another
function as a wrapper around FunctionCallInvoke() which does the right
thing with "strict". We could call that FunctionCallInvoke(), and call the
current version FunctionCallInvokeNoNulls() or some such.
Btw., FunctionCallInvoke() would look to be the most prominent place to
hook in the "setuid" feature. For that purpose I'd make the macro an
inline function instead.
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/