From 3d8874224ff25de3ca4f9da8ce3118391bd6609e Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 13 Dec 2017 10:37:48 -0500 Subject: Fix crash when using CALL on an aggregate Author: Ashutosh Bapat Reported-by: Rushabh Lathia --- src/backend/parser/parse_func.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/backend/parser/parse_func.c') diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index 2f20516e766..e6b085637b2 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -336,6 +336,15 @@ ParseFuncOrColumn(ParseState *pstate, List *funcname, List *fargs, Form_pg_aggregate classForm; int catDirectArgs; + if (proc_call) + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_FUNCTION), + errmsg("%s is not a procedure", + func_signature_string(funcname, nargs, + argnames, + actual_arg_types)), + parser_errposition(pstate, location))); + tup = SearchSysCache1(AGGFNOID, ObjectIdGetDatum(funcid)); if (!HeapTupleIsValid(tup)) /* should not happen */ elog(ERROR, "cache lookup failed for aggregate %u", funcid); -- cgit v1.2.3