|
|
|
@ -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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|