Re: [GENERAL] trouble with to_char('L')

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [GENERAL] trouble with to_char('L')
Дата
Msg-id 21710.1243620986@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: [GENERAL] trouble with to_char('L')  (Hiroshi Inoue <inoue@tpf.co.jp>)
Список pgsql-hackers
Hiroshi Inoue <inoue@tpf.co.jp> writes:
> Tom Lane wrote:
>> I think what this suggests is that there probably needs to be some
>> encoding conversion logic near the places we examine localeconv()
>> output.

> Attached is a patch to the current CVS.
> It uses a similar way like LC_TIME stuff does.

I'm not really in a position to test/commit this, since I don't have a
Windows machine.  However, since no one else is stepping up to deal with
it, here's a quick review:

* This seems to be assuming that the user has set LC_MONETARY and
LC_NUMERIC the same.  What if they're different?

* What if the selected locale corresponds to Unicode (ie UTF16)
encoding?

* #define'ing strdup() to do something rather different from strdup
seems pretty horrid from the standpoint of code readability and
maintainability, especially with nary a comment explaining it.

* Code will dump core on malloc failure.

* Since this code is surely not performance critical, I wouldn't bother
with trying to optimize it; hence drop the special case for all-ASCII.

* Surely we already have a symbol somewhere that can be used in
place of this: #define    MAX_BYTES_PER_CHARACTER    4

        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: pg_migrator and an 8.3-compatible tsvector data type
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Clean shutdown and warm standby