Re: Order changes in PG16 since ICU introduction
Joe Conway <mail@joeconway.com>
On 6/6/23 15:18, Jeff Davis wrote: > On Tue, 2023-06-06 at 15:09 +0200, Daniel Verite wrote: >> FWIW I don't quite see how 0001 improve things or what problem it's >> trying to solve. > > The word "locale" is generic, so we need to make LOCALE/--locale apply > to whatever provider is being used. If "locale" only applies to libc, > using ICU will always be confusing and never be on the same level as > libc, let alone the preferred provider. Agree 100% > The locale "C" is a special case, documented as a non-locale. So, if > LOCALE/--locale apply to ICU, then either ICU needs to handle locale > "C" in the expected way (v8 patch series); or when we see locale "C" we > need to somehow change the provider into something that can handle it > (v6 patch series changes it to the "none" provider). +1 to the latter approach > Please let me know if you disagree with the goal or the reasoning here. > If so, please explain where you think we should end up, because the > status quo does not seem great to me. also +1 >> 0001 creates exceptions throughout the code so that when an ICU >> collation has a locale name "C" or "POSIX" then it does not behave >> like an ICU collation, even though pg_collation.collprovider='i' >> To me it's neither desirable nor necessary that a collation that >> has collprovider='i' is diverted to non-ICU semantics. > > It's not very principled, but it matches what libc does. Makes sense to me -- Joe Conway PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Introduce "builtin" collation provider.
- 2d819a08a1cb 17.0 landed
-
ICU: do not convert locale 'C' to 'en-US-u-va-posix'.
- f3a01af29b19 16.0 landed
- f7faa9976cc0 16.0 landed
-
initdb: change default --locale-provider back to libc.
- 2535c74b1a61 16.0 landed
-
CREATE DATABASE: make LOCALE apply to all collation providers.
- a14e75eb0b6a 16.0 landed
-
Remove read-only server settings lc_collate and lc_ctype
- b0f6c437160d 16.0 landed
-
ICU: use uloc_getDefault() for initdb.
- ec1264f01e37 16.0 landed
-
Doc fixes for commit 1e16af8ab5.
- f4a9422c0c37 16.0 landed
-
Doc: fix some rendering problems in the PDF docs build.
- b62381d9a23b 16.0 landed
-
Doc improvements for language tags and custom ICU collations.
- 1e16af8ab5d7 16.0 landed
-
ICU: check for U_STRING_NOT_TERMINATED_WARNING.
- 1c634f6647c2 16.0 landed
-
Reduce icu_validation_level default to WARNING.
- 6de31ce446e5 16.0 landed
-
Revert "ICU: do not convert locale 'C' to 'en-US-u-va-posix'."
- 455f948b0d03 16.0 landed
-
Fix initdb --no-locale.
- 5cd1a5af4d17 16.0 landed
-
Avoid character classification in regex escape parsing.
- c04c6c5d6f5f 16.0 cited