summaryrefslogtreecommitdiff
path: root/src/backend/executor/execUtils.c
diff options
context:
space:
mode:
authorAndrew Dunstan2017-03-21 12:57:46 +0000
committerAndrew Dunstan2017-03-21 12:57:46 +0000
commit29bf5016835a2c2c23786f7cda347716c083d95f (patch)
treefa54e72faa6a8fe4ec1b0e67d0d86b77bcee7c0b /src/backend/executor/execUtils.c
parent010505546a343820f291e0e298673108e436c696 (diff)
Add a direct function call mechanism using the caller's context.
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/[email protected]
Diffstat (limited to 'src/backend/executor/execUtils.c')
0 files changed, 0 insertions, 0 deletions