On 9/12/25 1:11 PM, Jeff Davis wrote:
On Tue, 2025-09-09 at 23:13 -0400, Jonathan S. Katz wrote:Hi,Attached is a draft of the PostgreSQL 18 GA press release. A few comments before the ask for reviewing:"This release adds the [`PG_UNICODE_FAST`], which accelerates lookups using the `upper` and `lower` string comparison functions, and helps speed up the new [`casefold`] function for case-insensitive comparisons." Use the link: https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD which is a bit more descriptive. (Though perhaps that document could be improved with examples.) What's actually new with PG_UNICODE_FAST are the "full" Unicode semantics for case transformations, e.g. it uppercases 'ß' to 'SS'. The rest is the same as PC_C_UTF8, which uses "simple" Unicode semantics. The name PG_UNICODE_FAST is meant to convey that it provides full unicode semantics for case mapping and pattern matching, while also being fast because it uses memcmp for comparisons. While the name PG_C_UTF8 is meant to convey that it's closer to what users of the libc "C.UTF-8" locale might expect.
I went with breaking this up into two sentences:This release adds the [`PG_UNICODE_FAST`](https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD), which provides full Unicode semantics for case transformations while helping to accelerate many comparisons. This includes the `upper` and `lower` string comparison functions and the new [`casefold`](https://www.postgresql.org/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER) function for case-insensitive comparisons.
Jonathan
OpenPGP_signature.asc
Description: OpenPGP digital signature
