Add support for collation attributes on older ICU versions

Peter Eisentraut <peter@eisentraut.org>

Commit: b8f9a2a69a279d118e366a0d3d45caa84a7620b1
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2019-03-17T07:47:15Z
Releases: 12.0
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 <daniel@manitou-mail.org>
Discussion: https://www.postgresql.org/message-id/0270ebd4-f67c-8774-1a5a-91adfb9bb41f@2ndquadrant.com

Files

Discussion