Re: Collation versioning

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Julien Rouhaud <rjuju123(at)gmail(dot)com>
Cc: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Douglas Doole <dougdoole(at)gmail(dot)com>, Christoph Berg <myon(at)debian(dot)org>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Collation versioning
Date: 2020-02-12 20:44:40
Message-ID: CA+hUKGLY2cEYp7hWd1+ic+GT01jYu_CqhKNCh6siepLaT-dS0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 13, 2020 at 9:16 AM Julien Rouhaud <rjuju123(at)gmail(dot)com> wrote:
> On Wed, Feb 12, 2020 at 08:55:06PM +0100, Laurenz Albe wrote:
> > I didn't study the patch in detail, but do I get it right that there will be no
> > warnings about version incompatibilities with libc collations?
>
> No, libc is also be supported (including the default collation), as long as we
> have a way to get the version. Unfortunately, that means only linux/glibc. I
> think that there was some previous discussion to work around that limitation
> for other systems, using some kind of hash of the underlying collation files,
> as Peter mentioned recently, but that's not part of this patchset.

Yeah, this is about the cataloguing infrastructure part, to get the
model and mechanisms right. To actually get version information from
the underlying collation provider, there will need to be a series of
per-OS projects. For glibc right now, it's done, but we just use the
whole glibc version as a proxy (sadly we know this can give false
positives and false negatives, but is expected to work a lot better
than nothing). I hope we can get a proper CLDR version out of that
library one day. For FreeBSD libc, I have patches, I just need more
round tuits. For Windows, there is
https://commitfest.postgresql.org/27/2351/ which I'm planning to
commit soonish, after some more thought about the double-version
thing. Then there is the "run a user-supplied script that gives me a
version" concept, which might work and perhaps allow package
maintainers to supply a script that works on each system. Again,
that'd be a separate project. I guess there will probably always be
some OSes that we can't get the data from so we'll probably always
have to support "don't know" mode.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Fetter 2020-02-12 21:10:29 Re: Just for fun: Postgres 20?
Previous Message Julien Rouhaud 2020-02-12 20:18:32 Re: Collation versioning