Allow_NULL_toLookupFuncNameInternal.patch
text/x-patch
Filename: Allow_NULL_toLookupFuncNameInternal.patch
Type: text/x-patch
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/parser/parse_func.c | 4 | 4 |
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index 8e926539e6..1686a80403 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -2035,9 +2035,6 @@ LookupFuncNameInternal(List *funcname, int nargs, const Oid *argtypes,
{
FuncCandidateList clist;
- /* Passing NULL for argtypes is no longer allowed */
- Assert(argtypes);
-
/* Always set *lookupError, to forestall uninitialized-variable warnings */
*lookupError = FUNCLOOKUP_NOSUCHFUNC;
@@ -2047,7 +2044,7 @@ LookupFuncNameInternal(List *funcname, int nargs, const Oid *argtypes,
/*
* If no arguments were specified, the name must yield a unique candidate.
*/
- if (nargs < 0)
+ if (nargs <= 0)
{
if (clist)
{
@@ -2064,6 +2061,9 @@ LookupFuncNameInternal(List *funcname, int nargs, const Oid *argtypes,
return InvalidOid;
}
+ /* Passing NULL for argtypes is no longer allowed */
+ Assert(argtypes);
+
/*
* Otherwise, look for a match to the arg types. FuncnameGetCandidates
* has ensured that there's at most one match in the returned list.