Re: Order changes in PG16 since ICU introduction

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Jeff Davis <pgsql@j-davis.com>, Andrew Gierth <andrew@tao11.riddles.org.uk>, Joe Conway <mail@joeconway.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Daniel Verite <daniel@manitou-mail.org>, pgsql-hackers@lists.postgresql.org
Date: 2023-06-16T14:50:34Z
Lists: pgsql-hackers

Attachments

On 14.06.23 23:24, Jeff Davis wrote:
> On Mon, 2023-06-12 at 23:04 +0200, Peter Eisentraut wrote:
>>> Patch 0003:
>>>
>>> Makes LOCALE apply to all providers. The overall feel after this
>>> patch
>>> is that "locale" now means the collation locale, and
>>> LC_COLLATE/LC_CTYPE are for the server environment. When using
>>> libc,
>>> LC_COLLATE and LC_CTYPE still work as they did before, but their
>>> relationship to database collation feels more like a special case
>>> of
>>> the libc provider. I believe most people favor this patch and I
>>> haven't
>>> seen recent objections.
>>
>> This seems reasonable.
> 
> Attached a clean patch for this.
> 
> It seems to have widespread agreement so I plan to commit to v16 soon.
> 
> To clarify, this affects both initdb and CREATE DATABASE.

This looks good to me.

Attached is small fixup patch with some documentation tweaks and 
simplifying some test code (also includes pgperltidy).

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Introduce "builtin" collation provider.

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

  3. initdb: change default --locale-provider back to libc.

  4. CREATE DATABASE: make LOCALE apply to all collation providers.

  5. Remove read-only server settings lc_collate and lc_ctype

  6. ICU: use uloc_getDefault() for initdb.

  7. Doc fixes for commit 1e16af8ab5.

  8. Doc: fix some rendering problems in the PDF docs build.

  9. Doc improvements for language tags and custom ICU collations.

  10. ICU: check for U_STRING_NOT_TERMINATED_WARNING.

  11. Reduce icu_validation_level default to WARNING.

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

  13. Fix initdb --no-locale.

  14. Avoid character classification in regex escape parsing.