diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2013-07-18 11:52:12 -0400 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2013-07-18 11:52:12 -0400 |
commit | d26888bc4d1e539a82f21382b0000fe5bbf889d9 (patch) | |
tree | 45971c200f11e8b55af421cdadf012b4071f8ce1 /src/backend/utils/adt/ruleutils.c | |
parent | 405a468b02dd80a069b95c4eb9838cb6a562eddd (diff) | |
download | postgresql-d26888bc4d1e539a82f21382b0000fe5bbf889d9.tar.gz postgresql-d26888bc4d1e539a82f21382b0000fe5bbf889d9.zip |
Move checking an explicit VARIADIC "any" argument into the parser.
This is more efficient and simpler . It does mean that an untyped NULL
can no longer be used in such cases, which should be mentioned in
Release Notes, but doesn't seem a terrible loss. The workaround is to
cast the NULL to some array type.
Pavel Stehule, reviewed by Jeevan Chalke.
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 976bc98e375..40b565a11d6 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -8584,6 +8584,7 @@ generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, Oid p_rettype; bool p_retset; int p_nvargs; + Oid p_vatype; Oid *p_true_typeids; proctup = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcid)); @@ -8634,7 +8635,8 @@ generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, NIL, argnames, nargs, argtypes, !use_variadic, true, &p_funcid, &p_rettype, - &p_retset, &p_nvargs, &p_true_typeids, NULL); + &p_retset, &p_nvargs, &p_vatype, + &p_true_typeids, NULL); if ((p_result == FUNCDETAIL_NORMAL || p_result == FUNCDETAIL_AGGREGATE || p_result == FUNCDETAIL_WINDOWFUNC) && |