diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-06-06 15:46:58 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-06-06 15:46:58 -0400 |
commit | a65e9f3f1405b786673feec131879843432bf9a6 (patch) | |
tree | f8db13be4c04653dc5d433466b0255c628ac08f9 /src/backend/parser/parse_func.c | |
parent | d57ecebd128cdf2f4844a2ea4d35ff28d7d69be8 (diff) | |
download | postgresql-a65e9f3f1405b786673feec131879843432bf9a6.tar.gz postgresql-a65e9f3f1405b786673feec131879843432bf9a6.zip |
Fix inconsistent equalfuncs.c behavior for FuncCall.funcformat.
Other equalfuncs.c checks on CoercionForm fields use
COMPARE_COERCIONFORM_FIELD (which makes them no-ops),
but commit 40c24bfef neglected to make _equalFuncCall
do likewise. Fix that.
This is only strictly correct if FuncCall.funcformat has
no semantic effect, instead just determining ruleutils.c
display formatting. 40c24bfef added a couple of checks
in parse analysis that could break that rule; but on closer
inspection, they're redundant, so just take them out again.
Per report from Noah Misch.
Discussion: https://postgr.es/m/20210606063331.GC297923@rfd.leadboat.com
Diffstat (limited to 'src/backend/parser/parse_func.c')
-rw-r--r-- | src/backend/parser/parse_func.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index baac089d689..fb0ba58ff77 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -222,7 +222,6 @@ ParseFuncOrColumn(ParseState *pstate, List *funcname, List *fargs, agg_order == NIL && agg_filter == NULL && !agg_star && !agg_distinct && over == NULL && !func_variadic && argnames == NIL && - funcformat == COERCE_EXPLICIT_CALL && list_length(funcname) == 1 && (actual_arg_types[0] == RECORDOID || ISCOMPLEX(actual_arg_types[0]))); |