Support Unicode full case mapping and conversion.
Jeff Davis <jdavis@postgresql.org>
Support Unicode full case mapping and conversion. Generate tables from Unicode SpecialCasing.txt to support more sophisticated case mapping behavior: * support case mappings to multiple codepoints, such as "ß" uppercasing to "SS" * support conditional case mappings, such as the "final sigma" * support titlecase variants, such as "dž" uppercasing to "DŽ" but titlecasing to "Dž" Discussion: https://postgr.es/m/ddfd67928818f138f51635712529bc5e1d25e4e7.camel@j-davis.com Discussion: https://postgr.es/m/27bb0e52-801d-4f73-a0a4-02cfdd4a9ada@eisentraut.org Reviewed-by: Peter Eisentraut, Daniel Verite
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/pg_locale_builtin.c | modified | +3 −3 |
| src/common/unicode_case.c | modified | +147 −11 |
| src/common/unicode/case_test.c | modified | +191 −11 |
| src/common/unicode/generate-unicode_case_table.pl | modified | +157 −4 |
| src/common/unicode/Makefile | modified | +2 −2 |
| src/common/unicode/meson.build | modified | +2 −2 |
| src/include/common/unicode_case.h | modified | +4 −4 |
| src/include/common/unicode_case_table.h | modified | +3138 −2956 |
| src/tools/pgindent/typedefs.list | modified | +1 −0 |
Discussion
- Unicode full case mapping: PG_UNICODE_FAST, and standard-compliant UCS_BASIC 9 messages · 2024-12-11 → 2025-04-20
- Built-in CTYPE provider 125 messages · 2023-12-05 → 2024-07-26