pgsql: ICU: do not convert locale 'C' to 'en-US-u-va-posix'.

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема pgsql: ICU: do not convert locale 'C' to 'en-US-u-va-posix'.
Дата
Msg-id E1qC58U-002x8t-Qz@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
ICU: do not convert locale 'C' to 'en-US-u-va-posix'.

Older versions of ICU canonicalize "C" to "en-US-u-va-posix"; but
starting in ICU version 64, the "C" locale is considered
obsolete. Postgres commit ea1db8ae70 introduced code to always
canonicalize "C" to "en-US-u-va-posix" for consistency and
convenience, but it was deemed too confusing.

This commit removes that code, so that "C" is treated like other ICU
locale names: canonicalization is attempted, and if it fails, the
behavior is controlled by icu_validation_level.

A similar change was previously committed as f7faa9976c, then reverted
due to an ICU-version-dependent test failure. This commit un-reverts
it, omitting the test because we now expect the behavior to depend on
the version of ICU being used.

Discussion: https://postgr.es/m/3a200aca-4672-4b37-fc91-5d198a323503%40eisentraut.org
Discussion: https://postgr.es/m/f83f089ee1e9acd5dbbbf3353294d24e1f196e95.camel@j-davis.com
Discussion: https://postgr.es/m/37520ec1ae9591f83132f82dbd625f3fc2d69c16.camel@j-davis.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f3a01af29b1941ca7937a45504ab10ef5f99cdff

Modified Files
--------------
src/backend/utils/adt/pg_locale.c              | 19 +------------------
src/bin/initdb/initdb.c                        | 17 +----------------
src/test/regress/expected/collate.icu.utf8.out |  2 ++
src/test/regress/sql/collate.icu.utf8.sql      |  2 ++
4 files changed, 6 insertions(+), 34 deletions(-)


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

Предыдущее
От: Jeff Davis
Дата:
Сообщение: pgsql: initdb: change default --locale-provider back to libc.
Следующее
От: Bruce Momjian
Дата:
Сообщение: pgsql: doc: update PG history as over "three decades"