From: | Jeff Davis <jdavis(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: ICU: do not convert locale 'C' to 'en-US-u-va-posix'. |
Date: | 2023-06-21 21:13:07 |
Message-ID: | E1qC58U-002x8t-Qz@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2023-06-21 23:20:33 | pgsql: doc: update PG history as over "three decades" |
Previous Message | Jeff Davis | 2023-06-21 18:23:14 | pgsql: initdb: change default --locale-provider back to libc. |