diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-01-11 18:39:41 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-01-11 18:39:41 +0000 |
commit | 89c0a87fda06aade58831976c9dbc97134032d18 (patch) | |
tree | df2e897b30dc3b65597a34820ce87af3e101b227 /src/backend/parser/parse_oper.c | |
parent | df62977d0080e9e437c74f456d96318e8e0a56ee (diff) | |
download | postgresql-89c0a87fda06aade58831976c9dbc97134032d18.tar.gz postgresql-89c0a87fda06aade58831976c9dbc97134032d18.zip |
The original implementation of polymorphic aggregates didn't really get the
checking of argument compatibility right; although the problem is only exposed
with multiple-input aggregates in which some arguments are polymorphic and
some are not. Per bug #3852 from Sokolov Yura.
Diffstat (limited to 'src/backend/parser/parse_oper.c')
-rw-r--r-- | src/backend/parser/parse_oper.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/parser/parse_oper.c b/src/backend/parser/parse_oper.c index 1bd58cdbceb..6b23fbb9e9a 100644 --- a/src/backend/parser/parse_oper.c +++ b/src/backend/parser/parse_oper.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/parse_oper.c,v 1.100 2008/01/01 19:45:51 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/parse_oper.c,v 1.101 2008/01/11 18:39:41 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1006,7 +1006,8 @@ make_scalar_array_op(ParseState *pstate, List *opname, rettype = enforce_generic_type_consistency(actual_arg_types, declared_arg_types, 2, - opform->oprresult); + opform->oprresult, + false); /* * Check that operator result is boolean @@ -1116,7 +1117,8 @@ make_op_expr(ParseState *pstate, Operator op, rettype = enforce_generic_type_consistency(actual_arg_types, declared_arg_types, nargs, - opform->oprresult); + opform->oprresult, + false); /* perform the necessary typecasting of arguments */ make_fn_arguments(pstate, args, actual_arg_types, declared_arg_types); |