Re: Collation version tracking for macOS - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: Collation version tracking for macOS
Date
Msg-id e7c016534a10c69ebecda724642966ac68d4fd59.camel@j-davis.com
Whole thread Raw
In response to Re: Collation version tracking for macOS  (Joe Conway <mail@joeconway.com>)
List pgsql-hackers
On Tue, 2022-11-29 at 14:34 -0500, Joe Conway wrote:
> I understand that it is not easily done, but if the combination of
> collprovider + collversion does not represent specific immutable
> ordering behavior for a given locale

Given the u_versionToString() bug, we know the version string could end
up being the same between two different collation versions (e.g.
153.104 and 153.14). So that really undermines the credibility of ICU's
collation versions (at least the strings, which is what we store in
collversion).

But if we ignore that bug, do we have evidence that the actual versions
could be the same for collations that sort differently? It's worth
exploring, to be sure, but right now I don't know of a case.

> , what value is there in tracking [collation version]?

Similarly, what is the value in tracking the library minor versions, if
when you open libicui18n.63.1, you may end up with a mix of code
between 63.1 and 63.2?

That doesn't mean it's impossible. We could attach collations to a
library major version, and tell administrators that once they install a
major version in icu_library_path, they never touch that major version
again (no updates or new minors, only new majors). #6 might be a good
approach to facilitate this best practice. We'd then probably need to
change collversion to be a library major version, and then come up with
a migration path from 15 -> 16. Or we could store both library major
version and collversion, and verify both.

--
Jeff Davis
PostgreSQL Contributor Team - AWS





pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Non-decimal integer literals
Next
From: David Rowley
Date:
Subject: Re: Non-decimal integer literals