From 286a365b9c25479f8ad82043ed136748733adfa6 Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Fri, 17 Jan 2025 15:56:20 -0800 Subject: Support Unicode full case mapping and conversion. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/backend/utils/adt/pg_locale_builtin.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/backend/utils/adt/pg_locale_builtin.c') diff --git a/src/backend/utils/adt/pg_locale_builtin.c b/src/backend/utils/adt/pg_locale_builtin.c index 5161915e6b1..fef5b6e6d38 100644 --- a/src/backend/utils/adt/pg_locale_builtin.c +++ b/src/backend/utils/adt/pg_locale_builtin.c @@ -78,7 +78,7 @@ size_t strlower_builtin(char *dest, size_t destsize, const char *src, ssize_t srclen, pg_locale_t locale) { - return unicode_strlower(dest, destsize, src, srclen); + return unicode_strlower(dest, destsize, src, srclen, false); } size_t @@ -93,7 +93,7 @@ strtitle_builtin(char *dest, size_t destsize, const char *src, ssize_t srclen, .prev_alnum = false, }; - return unicode_strtitle(dest, destsize, src, srclen, + return unicode_strtitle(dest, destsize, src, srclen, false, initcap_wbnext, &wbstate); } @@ -101,7 +101,7 @@ size_t strupper_builtin(char *dest, size_t destsize, const char *src, ssize_t srclen, pg_locale_t locale) { - return unicode_strupper(dest, destsize, src, srclen); + return unicode_strupper(dest, destsize, src, srclen, false); } pg_locale_t -- cgit v1.2.3