Fix YA unwanted behavioral difference with operator_precedence_warning.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 01e0cbc4f687325b825e7953f99f0b16a2bd4e96
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2017-02-15T19:44:18Z
Releases: 10.0
Fix YA unwanted behavioral difference with operator_precedence_warning.

Jeff Janes noted that the error cursor position shown for some errors
would vary when operator_precedence_warning is turned on.  We'd prefer
that option to have no undocumented effects, so this isn't desirable.
To fix, make sure that an AEXPR_PAREN node has the same exprLocation
as its child node.

(Note: it would be a little cheaper to use @2 here instead of an
exprLocation call, but there are cases where that wouldn't produce
the identical answer, so don't do it like that.)

Back-patch to 9.5 where this feature was introduced.

Discussion: https://postgr.es/m/CAMkU=1ykK+VhhcQ4Ky8KBo9FoaUJH3f3rDQB8TkTXi-ZsBRUkQ@mail.gmail.com

Files

PathChange+/−
src/backend/parser/gram.y modified +6 −2

Discussion