8.4.0 vs. locales vs. pl/perl?
От | Andrew Gierth |
---|---|
Тема | 8.4.0 vs. locales vs. pl/perl? |
Дата | |
Msg-id | 87ljmzkui7.fsf@news-spur.riddles.org.uk обсуждение исходный текст |
Ответы |
Re: 8.4.0 vs. locales vs. pl/perl?
Re: 8.4.0 vs. locales vs. pl/perl? |
Список | pgsql-hackers |
Having been helping someone out on IRC with what looked initially like an index corruption problem, it turns out to be (almost certainly) a locale initialization error. environment: debian packaged 8.4.0 scenario: restoring a dump results in incorrect indexes for some specific tables (indexscan order fails to match < comparison or order resulting from explicit sorts). The dump contains plperl and plperlu language creation and function definitions; excising these from the dump removes the problem. The db locale is en_US.UTF-8 (which appears to be case-insensitive on this platform: 'C' > 'd' > 'X'), but the incorrect index ordering that results when the full restore is done is consistent with C locale (i.e. 'C' > 'X' > 'd'). Looking at the code, the obvious thing that glares out is that the locale setup in CheckMyDatabase is calling setlocale rather than pg_perm_setlocale... am I missing something, or is this an obvious bug? -- Andrew (irc:RhodiumToad)
В списке pgsql-hackers по дате отправления: