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

From: Jeff Davis <jdavis(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Refactor to add pg_strcoll(), pg_strxfrm(), and variants.
Date: 2023-02-23 19:09:10
Message-ID: E1pVGxp-000Ld1-LJ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

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(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2023-02-23 19:47:55 pgsql: Refactor to introduce pg_locale_deterministic().
Previous Message Tomas Vondra 2023-02-23 17:34:25 pgsql: Introduce a generic pg_dump compression API

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2023-02-23 19:30:38 Re: verbose mode for pg_input_error_message?
Previous Message Kirk Wolak 2023-02-23 19:05:33 Re: Proposal: %T Prompt parameter for psql for current time (like Oracle has)