Re: Unicode full case mapping: PG_UNICODE_FAST, and standard-compliant UCS_BASIC
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: pgsql-hackers@postgresql.org
Date: 2025-04-20T12:53:22Z
Lists: pgsql-hackers
On Sat, Apr 19, 2025 at 12:30:57PM -0700, Jeff Davis wrote: > On Thu, 2025-04-17 at 06:58 -0700, Noah Misch wrote: > > Should initcap_wbnext() pass in a locale-dependent "bool posix" > > argument like > > the others calls the commit changed? > > Yes, I believe you are correct. Patch and tests attached. That patch is ready for commit. > > Long-term, pg_u_isword() should have a "bool posix" argument. > > Currently, only > > tests call that function. If it got a non-test caller, > > https://www.unicode.org/reports/tr18/#word would have pg_u_isword() > > follow the > > choice of posix compatibility like pg_u_isalnum() does. > > I based those functions on: > > https://www.unicode.org/reports/tr18/#Compatibility_Properties > > and the "word" class does not have a POSIX variant. I missed that distinction. I withdraw this part.
Commits
-
Fix INITCAP() word boundaries for PG_UNICODE_FAST.
- 90260e2ec6bb 18.0 landed
-
Support PG_UNICODE_FAST locale in the builtin collation provider.
- d3d098316913 18.0 landed
-
Support Unicode full case mapping and conversion.
- 286a365b9c25 18.0 landed