summaryrefslogtreecommitdiff
path: root/src/test/regress/sql/collate.utf8.sql
diff options
context:
space:
mode:
authorJeff Davis2025-01-24 22:56:22 +0000
committerJeff Davis2025-01-24 22:56:22 +0000
commitbfc5992069cf00b189af83d96a83ae5ebb65e938 (patch)
tree94332f38e12deb4a6dcfdc011c42848069190ec5 /src/test/regress/sql/collate.utf8.sql
parentf15538cd27d4eeb7d665263a3d7b5700362d7eb0 (diff)
Add SQL function CASEFOLD().
Useful for caseless matching. Similar to LOWER(), but avoids edge-case problems with using LOWER() for caseless matching. For collations that support it, CASEFOLD() handles characters with more than two case variations or multi-character case variations. Some characters may fold to uppercase. The results of case folding are also more stable across Unicode versions than LOWER() or UPPER(). Discussion: https://postgr.es/m/a1886ddfcd8f60cb3e905c93009b646b4cfb74c5.camel%40j-davis.com Reviewed-by: Ian Lawrence Barwick
Diffstat (limited to 'src/test/regress/sql/collate.utf8.sql')
-rw-r--r--src/test/regress/sql/collate.utf8.sql6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/test/regress/sql/collate.utf8.sql b/src/test/regress/sql/collate.utf8.sql
index 46e9c5232ad..6c7c7aec9ec 100644
--- a/src/test/regress/sql/collate.utf8.sql
+++ b/src/test/regress/sql/collate.utf8.sql
@@ -81,6 +81,9 @@ SELECT 'xAb' !~* '[c-d]' COLLATE PG_C_UTF8;
SELECT 'Δ' ~* '[γ-λ]' COLLATE PG_C_UTF8;
SELECT 'δ' ~* '[Γ-Λ]' COLLATE PG_C_UTF8; -- same as above with cases reversed
+-- case folding
+select casefold('AbCd 123 #$% ıiIİ ẞ ß DŽDždž Σσς' collate PG_C_UTF8);
+
--
-- Test PG_UNICODE_FAST
--
@@ -140,3 +143,6 @@ SELECT 'xAb' ~* '[W-Y]' COLLATE PG_UNICODE_FAST;
SELECT 'xAb' !~* '[c-d]' COLLATE PG_UNICODE_FAST;
SELECT 'Δ' ~* '[γ-λ]' COLLATE PG_UNICODE_FAST;
SELECT 'δ' ~* '[Γ-Λ]' COLLATE PG_UNICODE_FAST; -- same as above with cases reversed
+
+-- case folding
+select casefold('AbCd 123 #$% ıiIİ ẞ ß DŽDždž Σσς' collate PG_UNICODE_FAST);