|From:||Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>|
|To:||Daniel Gustafsson <daniel(at)yesql(dot)se>|
|Subject:||Re: Refactoring identifier checks to consistently use strcmp|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
Daniel Gustafsson wrote:
> Testing DefElem options is done with both strcmp() and pg_strcasecmp() a bit
> mixed. Since the option defnames are all lowercased, either via IDENT, keyword
> rules or “by hand” with makeString(), using strcmp() is safe (and assumed to be
> so in quite a lot of places).
> While it’s not incorrect per se to use pg_strcasecmp(), it has the potential to
> hide a DefElem created with a mixed-case defname where it in other places is
> expected to be in lowercase, which may lead to subtle bugs.
> The attached patch refactors to use strcmp() consistently for option processing
> in the command code as a pre-emptive belts+suspenders move against such subtle
> bugs and to make the code more consistent. Also reorders a few checks to have
> all in the same “format” and removes a comment related to the above.
> Tested with randomizing case on options in make check (not included in patch).
Does it work correctly in the Turkish locale?
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
|Next Message||Amit Langote||2017-04-04 03:57:31||Re: wait event documentation|
|Previous Message||Robert Haas||2017-04-04 03:48:40||Re: [POC] A better way to expand hash indexes.|