Re: Built-in CTYPE provider
Jeff Davis <pgsql@j-davis.com>
Attachments
- v22-0001-Catalog-changes-preparing-for-builtin-collation-.patch (text/x-patch) patch v22-0001
- v22-0002-Introduce-collation-provider-builtin.patch (text/x-patch) patch v22-0002
- v22-0003-Add-C.UTF-8-locale-to-the-new-builtin-collation-.patch (text/x-patch) patch v22-0003
- v22-0004-Inline-basic-UTF-8-functions.patch (text/x-patch) patch v22-0004
- v22-0005-Add-unicode_strtitle-for-Unicode-Default-Case-Co.patch (text/x-patch) patch v22-0005
- v22-0006-Support-Unicode-full-case-mapping-and-conversion.patch (text/x-patch) patch v22-0006
- v22-0007-Add-PG_UNICODE_FAST-locale-to-the-builtin-collat.patch (text/x-patch) patch v22-0007
On Sat, 2024-03-02 at 15:02 -0800, Jeff Davis wrote: > Attached v20. And here's v22 (I didn't post v21). I committed Unicode property tables and functions, and the simple case mapping. I separated out the full case mapping changes (based on SpecialCasing.txt) into patch 0006. Not a lot of technical changes, but I cleaned up the remaining patches and put them into a nicer order with nicer commit messages. 0001: Catalog renaming: colliculocale to colllocale and daticulocale to datlocale. 0002: Basic builtin collation provider that only supports "C". 0003: C.UTF-8 locale for builtin collation provider and collation pg_c_utf8. 0004: Inline some UTF-8 functions to improve performance 0005: Add a unicode_strtitle() function and move the implementation for the builtin provider out of formatting.c. 0006: Add full case mapping support 0007: Add PG_UNICODE_FAST locale for builtin collation provider and collation pg_unicode_fast. This behaves like the standard says UCS_BASIC should behave -- sort by code point order but use Unicode character semantics with full case mapping. 0004 and beyond could use some review. 0004 and 0005 are pretty simple and non-controversial. 0006 and 0007 are a bit more interesting and could use some discussion if we want to go ahead with full case mapping in 17. Regards, Jeff Davis
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