aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/fmgr/fmgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/fmgr/fmgr.c')
-rw-r--r--src/backend/utils/fmgr/fmgr.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c
index d05e4d2dd8f..a115a29da4c 100644
--- a/src/backend/utils/fmgr/fmgr.c
+++ b/src/backend/utils/fmgr/fmgr.c
@@ -1622,6 +1622,26 @@ FunctionCall9(FmgrInfo *flinfo, Datum arg1, Datum arg2,
* do the fmgr_info() once and then use FunctionCallN().
*/
Datum
+OidFunctionCall0(Oid functionId)
+{
+ FmgrInfo flinfo;
+ FunctionCallInfoData fcinfo;
+ Datum result;
+
+ fmgr_info(functionId, &flinfo);
+
+ InitFunctionCallInfoData(fcinfo, &flinfo, 0, NULL, NULL);
+
+ result = FunctionCallInvoke(&fcinfo);
+
+ /* Check for null result, since caller is clearly not expecting one */
+ if (fcinfo.isnull)
+ elog(ERROR, "function %u returned NULL", flinfo.fn_oid);
+
+ return result;
+}
+
+Datum
OidFunctionCall1(Oid functionId, Datum arg1)
{
FmgrInfo flinfo;