diff options
author | Jeff Davis <jdavis@postgresql.org> | 2025-01-17 15:56:20 -0800 |
---|---|---|
committer | Jeff Davis <jdavis@postgresql.org> | 2025-01-17 15:56:20 -0800 |
commit | 286a365b9c25479f8ad82043ed136748733adfa6 (patch) | |
tree | 162996323c339d82211c10d2d93bf3470e226b1a /src/backend/utils/adt/pg_locale_builtin.c | |
parent | 6a9b2a631aa3dbac5b351cd0c45631cbc6e8d19e (diff) |
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
Diffstat (limited to 'src/backend/utils/adt/pg_locale_builtin.c')
-rw-r--r-- | src/backend/utils/adt/pg_locale_builtin.c | 6 |
1 files changed, 3 insertions, 3 deletions
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 |