pgsql: Support Unicode full case mapping and conversion.

From: Jeff Davis <jdavis(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Support Unicode full case mapping and conversion.
Date: 2025-01-17 23:59:48
Message-ID: E1tYwFg-0029Dj-L5@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/286a365b9c25479f8ad82043ed136748733adfa6

Modified Files
--------------
src/backend/utils/adt/pg_locale_builtin.c | 6 +-
src/common/unicode/Makefile | 4 +-
src/common/unicode/case_test.c | 202 +-
src/common/unicode/generate-unicode_case_table.pl | 161 +-
src/common/unicode/meson.build | 4 +-
src/common/unicode_case.c | 158 +-
src/include/common/unicode_case.h | 8 +-
src/include/common/unicode_case_table.h | 6094 +++++++++++----------
src/tools/pgindent/typedefs.list | 1 +
9 files changed, 3645 insertions(+), 2993 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2025-01-18 14:34:48 pgsql: Fix readlink() for non-PostgreSQL junction points on Windows.
Previous Message Nathan Bossart 2025-01-17 21:24:12 pgsql: vacuumdb: Fix comment for vacuum_one_database().