On Tue, May 24, 2016 at 3:57 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> "David G. Johnston" <david.g.johns...@gmail.com> writes:
> > I just noticed this comment in scan.l:
> > /*
> >  * GUC variables.  This is a DIRECT violation of the warning given at the
> >  * head of gram.y, ie flex/bison code must not depend on any GUC
> variables;
> >  * as such, changing their values can induce very unintuitive behavior.
> >  * But we shall have to live with it as a short-term thing until the
> switch
> >  * to SQL-standard string syntax is complete.
> >  */
> > int backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING;
> > bool escape_string_warning = true;
> > bool standard_conforming_strings = true;
> > I'm not exactly sure what else needs to happen to remove these forbidden
> > GUCs and if we are not prepared to do this now when will we ever be...
> Dunno, are you prepared to bet that nobody is turning off
> standard_conforming_strings anymore?
> In any case, we keep adding new violations of this rule (cf
> operator_precedence_warning) so I have little hope that it will ever be
> completely clean.

​I tend to hold the same position.  I'd probably update the last sentence
of the comment to reflect that reality.

"We use them here due to the user-facing capability to change the parsing
rules of SQL-standard string literals​."

The switch is not likely to ever be "complete" and if so not likely in
whatever period the future reader might consider "short-term".

​David J.

Reply via email to