From 7b6cbd53f7930838060dcec1503d1be1fb4ac5f0 Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" <scrappy@hub.org> Date: Thu, 5 Feb 1998 04:08:44 +0000 Subject: [PATCH] func_error() changed so that if caller is passed with NULL value, its output at least doesn't appear that its missing something. wasn't particularly confident with removing 'caller' altogether :( --- src/backend/parser/parse_func.c | 14 +++++++++----- src/include/parser/parse_func.h | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index f1ce43f8b82..2325251ade3 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.11 1998/02/05 03:35:48 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.12 1998/02/05 04:08:42 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -728,7 +728,7 @@ func_get_detail(char *funcname, funcname); elog(NOTICE, "that satisfies the given argument types. you will have to"); elog(NOTICE, "retype your query using explicit typecasts."); - func_error(funcname, nargs, oid_array); + func_error(NULL, funcname, nargs, oid_array); } else { @@ -758,7 +758,7 @@ func_get_detail(char *funcname, elog(ERROR, "no such attribute or function \"%s\"", funcname); } - func_error(funcname, nargs, oid_array); + func_error(NULL, funcname, nargs, oid_array); } else { @@ -1276,7 +1276,7 @@ ParseComplexProjection(ParseState *pstate, * argument types */ void -func_error(char *funcname, int nargs, Oid *argtypes) +func_error(char *caller, char *funcname, int nargs, Oid *argtypes) { char p[(NAMEDATALEN + 2) * MAXFMGRARGS], *ptr; @@ -1301,5 +1301,9 @@ func_error(char *funcname, int nargs, Oid *argtypes) ptr += strlen(ptr); } - elog(ERROR, "function %s(%s) does not exist", funcname, p); + if(caller == NULL) { + elog(ERROR, "function %s(%s) does not exist", funcname, p); + } else { + elog(ERROR, "%s: function %s(%s) does not exist", caller, funcname, p); + } } diff --git a/src/include/parser/parse_func.h b/src/include/parser/parse_func.h index 119d242f407..4b03e0ced58 100644 --- a/src/include/parser/parse_func.h +++ b/src/include/parser/parse_func.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_func.h,v 1.6 1998/02/05 03:40:10 scrappy Exp $ + * $Id: parse_func.h,v 1.7 1998/02/05 04:08:44 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -47,7 +47,7 @@ extern Node *ParseNestedFuncOrColumn(ParseState *pstate, Attr *attr, extern Node *ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs, int *curr_resno, int precedence); -extern void func_error(char *funcname, int nargs, Oid *argtypes); +extern void func_error(char *caller, char *funcname, int nargs, Oid *argtypes); #endif /* PARSE_FUNC_H */ -- GitLab