On Thu, Aug 25, 2011 at 12:47 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > On my way to do something else entirely, I came across a couple of > things that are not very nice about psql's lexer: > > 1. Somebody broke the no-backtracking property back in 9.0 while adding > quoted variable substitution. According to the flex manual, use of > backtracking creates a performance penalty. We once measured the > backend's lexer as being about a third faster with backtrack avoidance, > and presumably it's about the same for psql's. This is not hard to fix, > but should I consider it a bug fix and back-patch? We've not had > complaints about psql getting slower as of 9.0.
That may well have been me. How would I have known that I broke it? Also, how invasive is the fix? > 2. The lexer rules associated with variable substitution think that > variable names can consist only of ASCII letters and digits (and > underscores). The psql manual is noncommittal about whether non-ASCII > characters are allowed, but a reasonable person would think that the > rules ought to be the same as the backend's idea of what an identifier > is. Does anybody have a problem with improving that? Nope. Or at least, I don't. > (I'm not > proposing this part as a bug fix, because it does look a little bit > more invasive to fix, because of the way psql deals with unsafe > multibyte encodings.) +1 for not back-patching this part. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers