Re: [HACKERS] Can ICU be used for a database's default sort order?

Поиск
Список
Период
Сортировка
От Daniel Verite
Тема Re: [HACKERS] Can ICU be used for a database's default sort order?
Дата
Msg-id 7e86a1aa-a942-4f6b-978e-e9013a4af3fb@manitou-mail.org
обсуждение исходный текст
Ответ на Re: [HACKERS] Can ICU be used for a database's default sort order?  (Andrey Borodin <x4mmm@yandex-team.ru>)
Ответы Re: [HACKERS] Can ICU be used for a database's default sort order?
Список pgsql-hackers
    Andrey Borodin wrote:

> Overall patch looks solid and thoughtful work and adds important
> functionality.

I tried the patch, with some minor changes to build with HEAD.

I was surprised by the interface, that is, the fact that a user is
not allowed to freely choose the ICU collation of a database, in
constrast with CREATE COLLATION.

AFAIU, when the "default collation provider" is ICU, CREATE DATABASE
still expects a libc locale in the lc_collate/lc_ctype arguments.
The code will automatically find an ICU equivalent by matching the
language, and it seems that the country is ignored?

So if we wanted a database with an ICU collation like, say,
"es@collation=traditional" or "es-u-co-trad" as expressed with a
BCP-47 tag, or anything that is not defined by only a language,
would it be possible? I have the impression it wouldn't.

This is not something that could be easily improved after the fact
because getting the ICU collation through a libc collation is a
user-interface choice.

I think users would rather be able to create a database with
something like:

CREATE DATABASE foo
  COLLPROVIDER='icu'
  LOCALE='icu_locale' |
      LC_COLLATE='icu_locale' | LC_CTYPE='icu_locale'
  ...
which would be in line with CREATE COLLATION.


Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite


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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: New Defects reported by Coverity Scan for PostgreSQL
Следующее
От: Pavel Luzanov
Дата:
Сообщение: Re: doc - add missing documentation for "acldefault"