Re: Refactoring identifier checks to consistently usestrcmp
От | Alvaro Herrera |
---|---|
Тема | Re: Refactoring identifier checks to consistently usestrcmp |
Дата | |
Msg-id | 20170404035257.weshsv2fee474oif@alvherre.pgsql обсуждение исходный текст |
Ответы |
Re: Refactoring identifier checks to consistently use strcmp
|
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: