Refactor to add pg_strcoll(), pg_strxfrm(), and variants.

Jeff Davis <jdavis@postgresql.org>

Commit: d87d548cd0304477413a73e9c1d148fb2d40b50d
Author: Jeff Davis <jdavis@postgresql.org>
Date: 2023-02-23T18:55:20Z
Releases: 16.0
Refactor to add pg_strcoll(), pg_strxfrm(), and variants.

Offers a generally better separation of responsibilities for collation
code. Also, a step towards multi-lib ICU, which should be based on a
clean separation of the routines required for collation providers.

Callers with NUL-terminated strings should call pg_strcoll() or
pg_strxfrm(); callers with strings and their length should call the
variants pg_strncoll() or pg_strnxfrm().

Reviewed-by: Peter Eisentraut, Peter Geoghegan
Discussion: https://postgr.es/m/a581136455c940d7bd0ff482d3a2bd51af25a94f.camel%40j-davis.com

Files

Discussion