Add support for collation attributes on older ICU versions Starting in ICU 54, collation customization attributes can be specified in the locale string, for example "@colStrength=primary;colCaseLevel=yes". Add support for this for older ICU versions as well, by adding some minimal parsing of the attributes in the locale string and calling ucol_setAttribute() on them. This is essentially what never ICU versions do internally in ucol_open(). This was we can offer this functionality in a consistent way in all ICU versions supported by PostgreSQL.
Also add some tests for ICU collation customization. Reported-by: Daniel Verite <[email protected]> Discussion: https://www.postgresql.org/message-id/[email protected] Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/b8f9a2a69a279d118e366a0d3d45caa84a7620b1 Modified Files -------------- src/backend/utils/adt/pg_locale.c | 104 +++++++++++++++++++++++++ src/test/regress/expected/collate.icu.utf8.out | 39 ++++++++++ src/test/regress/sql/collate.icu.utf8.sql | 21 +++++ 3 files changed, 164 insertions(+)
