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