Re: Add CASEFOLD() function.
Vik Fearing <vik@postgresfriends.org>
From: Vik Fearing <vik@postgresfriends.org>
To: Jeff Davis <pgsql@j-davis.com>, Joe Conway <mail@joeconway.com>,
Ian Lawrence Barwick <barwick@gmail.com>
Cc: pgsql-hackers@postgresql.org, Peter Eisentraut <peter@eisentraut.org>
Date: 2025-06-17T15:37:37Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix PDF doc build.
- d2ca16bb509c 18.0 landed
-
Add SQL function CASEFOLD().
- bfc5992069cf 18.0 landed
-
Add support for Unicode case folding.
- 4e7f62bc386a 18.0 landed
On 16/12/2024 18:49, Jeff Davis wrote: > One question I have is whether we want this function to normalize the > output. Yes, we do. I am sorry that I am so late to the party, but I am currently writing the Change Proposal for the SQL Standard for this function. For <fold> (which includes LOWER() and UPPER()), the text says in Section 6.35 GR 7.e: If the character set of <character factor> is UTF8, UTF16, or UTF32, then FR is replaced by Case: i) If the <search condition> S IS NORMALIZED evaluates to True, then NORMALIZE (FR) ii) Otherwise, FR. Here, FR is the result of the function and S is its argument. It does not appear to me that our LOWER and UPPER functions obey this rule, so there is a valid argument that we should continue to ignore it. Or, we can say that we have at least one of three compliant. -- Vik Fearing