Re: reducing the footprint of ScanKeyword (was Re: Large writable variables)
От | Tom Lane |
---|---|
Тема | Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) |
Дата | |
Msg-id | 20261.1547073221@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) (John Naylor <john.naylor@2ndquadrant.com>) |
Список | pgsql-hackers |
John Naylor <john.naylor@2ndquadrant.com> writes: > On Wed, Jan 9, 2019 at 2:04 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Now the impedance mismatch about case sensitivity is handled with >> my $f = PerfectHash::generate_hash_function(\@keywords, $funcname, >> case_insensitive => !$case_sensitive); >> which is at least a little clearer than before, though I'm not sure >> if it entirely solves the problem. > It's a bit clearer, but thinking about this some more, it makes sense > for gen_keywordlist.pl to use $case_insensitive, because right now > every instance of the var is "!$case_sensitive". In the attached (on > top of v4), I change the command line option to --citext, and add the > ability to negate it within the option, as '--no-citext'. It's kind of > a double negative for the C-keywords invocation, but we can have the > option for both cases, so we don't need to worry about what the > default is (which is case_insensitive=1). Ah, I didn't realize that Getopt allows having a boolean option defaulting to "on". That makes it more practical to do something here. I'm not in love with "citext" as the option name, though ... that has little to recommend it except brevity, which is not a property we really need here. We could go with "[no-]case-insensitive", perhaps. Or "[no-]case-fold", which is at least a little shorter and less double-negative-y. regards, tom lane
В списке pgsql-hackers по дате отправления: