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.