Allow tailoring of ICU locales with custom rules
authorPeter Eisentraut <peter@eisentraut.org>
Wed, 8 Mar 2023 15:35:42 +0000 (16:35 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Wed, 8 Mar 2023 15:56:37 +0000 (16:56 +0100)
commit30a53b792959b36f07200dae246067b3adbcc0b9
treeabaa763d759b931b2202bea85ec4800592b31624
parentb1534ed99dc35878e1f9300759e4f10893a32d45
Allow tailoring of ICU locales with custom rules

This exposes the ICU facility to add custom collation rules to a
standard collation.

New options are added to CREATE COLLATION, CREATE DATABASE, createdb,
and initdb to set the rules.

Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at>
Reviewed-by: Daniel Verite <daniel@manitou-mail.org>
Discussion: https://www.postgresql.org/message-id/flat/821c71a4-6ef0-d366-9acf-bb8e367f739f@enterprisedb.com
22 files changed:
doc/src/sgml/catalogs.sgml
doc/src/sgml/ref/create_collation.sgml
doc/src/sgml/ref/create_database.sgml
doc/src/sgml/ref/createdb.sgml
doc/src/sgml/ref/initdb.sgml
src/backend/catalog/pg_collation.c
src/backend/commands/collationcmds.c
src/backend/commands/dbcommands.c
src/backend/utils/adt/pg_locale.c
src/backend/utils/init/postinit.c
src/bin/initdb/initdb.c
src/bin/pg_dump/pg_dump.c
src/bin/psql/describe.c
src/bin/scripts/createdb.c
src/include/catalog/catversion.h
src/include/catalog/pg_collation.h
src/include/catalog/pg_database.dat
src/include/catalog/pg_database.h
src/include/utils/pg_locale.h
src/test/regress/expected/collate.icu.utf8.out
src/test/regress/expected/psql.out
src/test/regress/sql/collate.icu.utf8.sql