]> granicus.if.org Git - postgresql/commit
Fix unexpected side-effects of operator_precedence_warning.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 22 Apr 2016 03:17:36 +0000 (23:17 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 22 Apr 2016 03:17:36 +0000 (23:17 -0400)
commitabb164655c703a5013b7fcf83f855a071895dc91
treee194dc92caf724447439fdeb445687d91f116a42
parent80f66a9ad06eafa91ffc5ff19c725c7f393c242e
Fix unexpected side-effects of operator_precedence_warning.

The implementation of that feature involves injecting nodes into the
raw parsetree where explicit parentheses appear.  Various places in
parse_expr.c that test to see "is this child node of type Foo" need to
look through such nodes, else we'll get different behavior when
operator_precedence_warning is on than when it is off.  Note that we only
need to handle this when testing untransformed child nodes, since the
AEXPR_PAREN nodes will be gone anyway after transformExprRecurse.

Per report from Scott Ribe and additional code-reading.  Back-patch
to 9.5 where this feature was added.

Report: <ED37E303-1B0A-4CD8-8E1E-B9C4C2DD9A17@elevated-dev.com>
src/backend/parser/parse_expr.c