Re: Collation version tracking for macOS

From: "Finnerty, Jim" <jfinnert(at)amazon(dot)com>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: "Nasby, Jim" <nasbyj(at)amazon(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Jeremy Schneider" <schneider(at)ardentperf(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Collation version tracking for macOS
Date: 2022-06-09 21:20:00
Message-ID: FBF2C579-4025-47E7-9884-3C6D8C955686@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Specifying the library name before the language-country code with a new separator (":") as you suggested below has some benefits. Did you consider making the collation version just another collation attribute, such as colStrength, colCaseLevel, etc.?
For example, an alternate syntax might be:

create collation icu63."en-US-x-icu" (provider = icu, locale = 'en-US(at)colVersion=63');

Was the concern that ICU might redefine a new collation property with the same name in a different and incompatible way (we might work with the ICU developers to agree on what it should be), or that a version is just not the same kind of collation property as the other collation properties?

(in the example above, I'm assuming that for provider = icu, we could translate '63' into 'libicui18n.so.63' automatically.)

On 6/8/22, 6:22 AM, "Thomas Munro" <thomas(dot)munro(at)gmail(dot)com> wrote:

<snip>
postgres=# create collation icu63."en-US-x-icu" (provider = icu,
locale = 'libicui18n.so.63:en-US');
CREATE COLLATION
<snip>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2022-06-09 21:33:55 Re: better page-level checksums
Previous Message Robert Haas 2022-06-09 21:12:44 better page-level checksums