aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/functioncmds.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2018-07-06 22:27:42 +0200
committerPeter Eisentraut <peter_e@gmx.net>2018-07-06 22:40:16 +0200
commite34ec136201df07a05a83825ebff7fffb9043598 (patch)
treea97a99d9a503b7b66b363c51b6d9f83ed591ad6b /src/backend/commands/functioncmds.c
parent0ce5cf2ef24f638ff05569d027135fa1c7683a71 (diff)
downloadpostgresql-e34ec136201df07a05a83825ebff7fffb9043598.tar.gz
postgresql-e34ec136201df07a05a83825ebff7fffb9043598.zip
Allow CALL with polymorphic type arguments
In order to be able to resolve polymorphic types, we need to set fn_expr before invoking the procedure.
Diffstat (limited to 'src/backend/commands/functioncmds.c')
-rw-r--r--src/backend/commands/functioncmds.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index 8864d9ae446..acc08b1990e 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -2264,6 +2264,7 @@ ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic, DestReceiver
/* Initialize function call structure */
InvokeFunctionExecuteHook(fexpr->funcid);
fmgr_info(fexpr->funcid, &flinfo);
+ fmgr_info_set_expr((Node *) fexpr, &flinfo);
InitFunctionCallInfoData(fcinfo, &flinfo, nargs, fexpr->inputcollid, (Node *) callcontext, NULL);
/*