Re: ICU locale validation / canonicalization
Jeff Davis <pgsql@j-davis.com>
Attachments
- v1-0001-Support-language-tags-in-older-ICU-versions-53-an.patch (text/x-patch) patch v1-0001
On Tue, 2023-03-14 at 08:08 +0100, Peter Eisentraut wrote: > Another issue that came to mind: Right now, you can, say, develop > SQL > schemas on a newer ICU version, say, your laptop, and then deploy > them > on a server running an older ICU version. If we have a cutoff beyond > which we convert ICU locale IDs to language tags, then this won't > work > anymore for certain combinations. And RHEL/CentOS 7 is still pretty > popular. If we just uloc_canonicalize() in icu_set_collation_attributes() then versions 50-53 can support language tags. Patch attached. One loose end is that we really should support language tags like "und" in those older versions (54 and earlier). Your commit d72900bded avoided the problem, but perhaps we should fix it by looking for "und" and replacing it with "root" while opening, or something. -- Jeff Davis PostgreSQL Contributor Team - AWS
Commits
-
Add missing source file to nls.mk
- b8c3f6df85e7 16.0 cited
-
Fix MSVC warning introduced in ea1db8ae70.
- 36320cbc164a 16.0 landed
-
Canonicalize ICU locale names to language tags.
- ea1db8ae70e5 16.0 landed
-
Validate ICU locales.
- 1671f990dd66 16.0 landed
-
initdb: emit message when using default ICU locale.
- c1f1c1f87fd6 16.0 landed
-
initdb: replace check_icu_locale() with default_icu_locale().
- f8ca22295e99 16.0 landed
-
Fix error inconsistency in older ICU versions.
- 8b3eb0c584be 16.0 landed
-
Avoid potential UCollator leak for older ICU versions.
- a03b3b6b4a72 16.0 landed
-
pg_locale.c: change ereport() to elog().
- 9a242899158c 16.0 landed
-
Handle the "und" locale in ICU versions 54 and older.
- 3b50275b1295 16.0 landed
-
Wrap ICU ucol_open().
- a326aac8f171 16.0 landed
-
Support language tags in older ICU versions (53 and earlier).
- 869650fa86ad 16.0 landed
-
Improve support for UNICODE collation on older ICU
- d72900bdedc6 16.0 cited
-
Use ICU by default at initdb time.
- 27b62377b47f 16.0 cited