Fix grammar's AND/OR flattening to work with operator_precedence_warning. It'd be good for "(x AND y) AND z" to produce a three-child AND node whether or not operator_precedence_warning is on, but that failed to happen when it's on because makeAndExpr() didn't look through the added AEXPR_PAREN node. This has no effect on generated plans because prepqual.c would flatten the AND nest anyway; but it does affect the number of parens printed in ruleutils.c, for example. I'd already fixed some similar hazards in parse_expr.c in commit abb164655, but didn't think to search gram.y for problems of this ilk. Per gripe from Jean-Pierre Pelletier.
Report: <[email protected]> Branch ------ REL9_5_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/c82037e372394ee046e278887c8f938591ca7406 Modified Files -------------- src/backend/parser/gram.y | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
