Re: operator_precedence_warning vs make installcheck

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: operator_precedence_warning vs make installcheck
Date: 2017-02-15 04:55:45
Message-ID: 12908.1487134545@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jeff Janes <jeff(dot)janes(at)gmail(dot)com> writes:
> make installcheck fails against a server running with
> operator_precedence_warning = on.

> The difference is in update.out, and consists of an error-locating carat
> getting moved over by one position. I've attached the regression diff.

> I don't know why the setting of this GUC causes the carat to move around,
> that seems odd.

The reason is that with operator_precedence_warning = on, there's an
explicit raw-parse-tree node for the parenthesis pair, which otherwise
there is not, so that exprLocation reports a different result for the
location of the subexpression.

We could possibly prevent the difference by having exprLocation look
through such nodes. I'm not sure offhand if there are cases where
that would be worse than before. We've definitely made some other
hacks to hide the difference between operator_precedence_warning on
and off.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2017-02-15 04:56:23 Re: Provide list of subscriptions and publications in psql's completion
Previous Message Tom Lane 2017-02-15 04:45:38 Re: Sum aggregate calculation for single precsion real