Hello, I will be the reviewer of this patch. You approach that coloring tokens seems right, but you have broken the parse logic by adding your code.
Other than the mistakes others pointed, I found that - non-SQL-ident like tokens are ignored by their token style, quoted or not, so the following line works. | "local" All aLL trust I suppose this is not what you intended. This is because you have igonred the attribute of a token when comparing it as non-SQL-ident tokens. - '+' at the head of the sequence '+"' is treated as the first character of the *quoted* string. e.g. +"hoge" is tokenized as "+hoge":special_quoted. This is why you simply continued processing for '+"' without discarding and skipping the '+', and not setting in_quote so the following parser code works as it is not intended. You should understand what the original code does and insert or modify logics not braeking the assumptions. > > With this patch, database (and role?) names are compared case-insensitively. > > For example: > > > > local MixedDB all trust > > local mixedDB all reject > > > > psql -d "mixedDB" > > psql (9.5devel) > > Type "help" for help. > > > > mixedDB=# > > > > That connection should've matched that 2nd line, and be rejected. > > Actually it should have matched neither, as both lines will get folded > downcase: > > local mixeddb all trust > local mixeddb all reject regards, -- Kyotaro Horiguchi NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers