aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_oper.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2016-12-28 12:00:00 -0500
committerPeter Eisentraut <peter_e@gmx.net>2017-03-06 13:31:47 -0500
commit2ca64c6f7105f97ce886bdbbd880f50225bf24ba (patch)
tree711fe393b0a128f5a905fbdf1991fa6f54e837c4 /src/backend/parser/parse_oper.c
parent8b6d6cf853aab12f0dc2adba7c99c3e458662734 (diff)
downloadpostgresql-2ca64c6f7105f97ce886bdbbd880f50225bf24ba.tar.gz
postgresql-2ca64c6f7105f97ce886bdbbd880f50225bf24ba.zip
Replace LookupFuncNameTypeNames() with LookupFuncWithArgs()
The old function took function name and function argument list as separate arguments. Now that all function signatures are passed around as ObjectWithArgs structs, this is no longer necessary and can be replaced by a function that takes ObjectWithArgs directly. Similarly for aggregates and operators. Reviewed-by: Jim Nasby <Jim.Nasby@BlueTreble.com> Reviewed-by: Michael Paquier <michael.paquier@gmail.com>
Diffstat (limited to 'src/backend/parser/parse_oper.c')
-rw-r--r--src/backend/parser/parse_oper.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/backend/parser/parse_oper.c b/src/backend/parser/parse_oper.c
index 894e900073d..e40b10d4f61 100644
--- a/src/backend/parser/parse_oper.c
+++ b/src/backend/parser/parse_oper.c
@@ -132,32 +132,34 @@ LookupOperName(ParseState *pstate, List *opername, Oid oprleft, Oid oprright,
}
/*
- * LookupOperNameTypeNames
+ * LookupOperWithArgs
* Like LookupOperName, but the argument types are specified by
- * TypeName nodes.
- *
- * Pass oprleft = NULL for a prefix op, oprright = NULL for a postfix op.
+ * a ObjectWithArg node.
*/
Oid
-LookupOperNameTypeNames(ParseState *pstate, List *opername,
- TypeName *oprleft, TypeName *oprright,
- bool noError, int location)
+LookupOperWithArgs(ObjectWithArgs *oper, bool noError)
{
+ TypeName *oprleft,
+ *oprright;
Oid leftoid,
rightoid;
+ Assert(list_length(oper->objargs) == 2);
+ oprleft = linitial(oper->objargs);
+ oprright = lsecond(oper->objargs);
+
if (oprleft == NULL)
leftoid = InvalidOid;
else
- leftoid = LookupTypeNameOid(pstate, oprleft, noError);
+ leftoid = LookupTypeNameOid(NULL, oprleft, noError);
if (oprright == NULL)
rightoid = InvalidOid;
else
- rightoid = LookupTypeNameOid(pstate, oprright, noError);
+ rightoid = LookupTypeNameOid(NULL, oprright, noError);
- return LookupOperName(pstate, opername, leftoid, rightoid,
- noError, location);
+ return LookupOperName(NULL, oper->objname, leftoid, rightoid,
+ noError, -1);
}
/*