Re: Built-in CTYPE provider
Jeff Davis <pgsql@j-davis.com>
On Thu, 2024-07-18 at 16:39 -0700, Noah Misch wrote: > I'm with a different kind of packager. I don't tolerate index scans > returning > wrong answers. I doubt that. We've all been tolerating the risk of index scans returning wrong results in some cases. Consider: a. Some user creates an expression index on NORMALIZE(); vs. b. Some user chooses the builtin "C.UTF-8" locale and creates a partial index with a predicate like "string ~ '[[:alpha:]]'" (or an expression index on LOWER()) Both cases create a risk if we update Unicode in some future version. Why are you unconcerned about case (a), but highly concerned about case (b)? Neither seem to be a pressing problem because updating Unicode is our choice, so we have time to reach a compromise. > [1] Daniel Verite said packagers could patch src/Makefile.global.in > and run > "make -C src/common/unicode update-unicode". Editing > src/Makefile.global.in > is modifying PostgreSQL, not configuring a packager-facing option. Then go to the other thread[1] and propose that it be exposed as a packager-facing option along with any proposed Unicode update. There are other potential compromises possible, so I don't think this 17 subthread is the right place to discuss it, but it strikes me as a reasonable proposal. I sincerely think you are overcomplicating matters with version 17 procedural motions. Let the community process play out in version 18 like normal, because there's no actual problem now, I see no reason your objections would be taken less seriously later. Regards, Jeff Davis [1] https://www.postgresql.org/message-id/d75d2d0d1d2bd45b2c332c47e3e0a67f0640b49c.camel%40j-davis.com
Commits
-
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
-
Fix test failures when language environment is not UTF-8.
- e2a235767180 17.0 landed
-
Add unicode_strtitle() for Unicode Default Case Conversion.
- 46e5441fa536 17.0 landed
-
Use version for builtin collations.
- 46a44dc37203 17.0 landed
-
Fix convert_case(), introduced in 5c40364dd6.
- 503c0ad976f5 17.0 landed
-
Inline basic UTF-8 functions.
- 9acae56ce0b0 17.0 landed
-
Support C.UTF-8 locale in the new builtin collation provider.
- f69319f2f1fb 17.0 landed
-
Fix another warning, introduced by 846311051e.
- 60769c62dc85 17.0 landed
-
Address more review comments on commit 2d819a08a1.
- 846311051e8f 17.0 landed
-
Fix unreachable code warning from commit 2d819a08a1.
- 61f352ece9e7 17.0 landed
-
Introduce "builtin" collation provider.
- 2d819a08a1cb 17.0 landed
-
Catalog changes preparing for builtin collation provider.
- f696c0cd5f29 17.0 landed
-
Unicode case mapping tables and functions.
- 5c40364dd6d9 17.0 landed
-
Add Unicode property tables.
- ad49994538c5 17.0 landed
-
Documentation update for Standard Collations.
- 875e46a0a246 17.0 landed
-
Cleanup for unicode-update build target and test.
- cf64d4e99f64 17.0 landed
-
Shrink Unicode category table.
- 719b342d36ce 17.0 landed
-
Make some error strings more generic
- 36a14afc0760 17.0 cited
-
pg_upgrade: copy locale and encoding information to new cluster.
- 9637badd9f92 16.0 cited
-
Update Unicode data to Unicode 15.0.0
- 1091b48cd761 16.0 cited
-
Create a new type category for "internal use" types.
- 07eee5a0dc64 15.0 cited