Fix inconsistent equalfuncs.c behavior for FuncCall.funcformat.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 6 Jun 2021 19:46:58 +0000 (15:46 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 6 Jun 2021 19:46:58 +0000 (15:46 -0400)
commita65e9f3f1405b786673feec131879843432bf9a6
treef8db13be4c04653dc5d433466b0255c628ac08f9
parentd57ecebd128cdf2f4844a2ea4d35ff28d7d69be8
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
src/backend/nodes/equalfuncs.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_func.c