Re: Collation versioning

Julien Rouhaud <rjuju123@gmail.com>

From: Julien Rouhaud <rjuju123@gmail.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Thomas Munro <thomas.munro@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Michael Paquier <michael@paquier.xyz>, Laurenz Albe <laurenz.albe@cybertec.at>, Douglas Doole <dougdoole@gmail.com>, Christoph Berg <myon@debian.org>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2020-02-12T19:13:26Z
Lists: pgsql-hackers

Attachments

On Wed, Feb 05, 2020 at 05:17:25PM +0100, Julien Rouhaud wrote:
>
> Note that I didn't change any syntax (or switched to native functions
> for the binary pg_dump) as it's still not clear to me what exactly
> should be implemented.

Hearing no complaints on the suggestions, I'm attaching v8 to address that:

- pg_dump is now using a binary_upgrade_set_index_coll_version() function
  rather than plain DDL
- the additional DDL is now of the form:
  ALTER INDEX name ALTER COLLATION name REFRESH VERSION

I also added an alternate file for the collate.icu.utf8, so the build farm bot
should turn green for the linux part.

Commits

  1. Doc: Document known problem with Windows collation versions.

  2. Add collation versions for FreeBSD.

  3. Tolerate version lookup failure for old style Windows locale names.

  4. Track collation versions for indexes.

  5. Add pg_depend.refobjversion.

  6. Remove pg_collation.collversion.

  7. Fix the MSVC build for versions 2015 and later.

  8. Add collation versions for Windows.

  9. Implement type regcollation

  10. Use libc version as a collation version on glibc systems.

  11. Make type "name" collation-aware.