Обсуждение: pgsql: Refactor to add pg_strcoll(), pg_strxfrm(), and variants.

Поиск
Список
Период
Сортировка

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

От
Jeff Davis
Дата:
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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d87d548cd0304477413a73e9c1d148fb2d40b50d

Modified Files
--------------
src/backend/access/hash/hashfunc.c |  61 +--
src/backend/utils/adt/pg_locale.c  | 769 ++++++++++++++++++++++++++++++++++++-
src/backend/utils/adt/varchar.c    |  51 +--
src/backend/utils/adt/varlena.c    | 368 +++---------------
src/include/utils/pg_locale.h      |  13 +
5 files changed, 871 insertions(+), 391 deletions(-)