Re: Collation versioning
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Julien Rouhaud <rjuju123@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Robert Haas <robertmhaas@gmail.com>, Laurenz Albe <laurenz.albe@cybertec.at>, Douglas Doole <dougdoole@gmail.com>, Christoph Berg <myon@debian.org>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2020-07-08T06:12:51Z
Lists: pgsql-hackers
Attachments
- v26-0001-Remove-pg_collation.collversion.patch (text/x-patch) patch v26-0001
- v26-0002-Add-pg_depend.refobjversion.patch (text/x-patch) patch v26-0002
- v26-0003-Track-collation-versions-for-indexes.patch (text/x-patch) patch v26-0003
- v26-0004-Add-ALTER-INDEX-.-ALTER-COLLATION-.-REFRESH-VERS.patch (text/x-patch) patch v26-0004
- v26-0005-Doc-Add-Collation-Versions-section.patch (text/x-patch) patch v26-0005
On Thu, Jul 2, 2020 at 3:03 AM Julien Rouhaud <rjuju123@gmail.com> wrote:
> And the recent ObjectAddress refactoring just broke the patchset again, so v25
> attached.
I found some more things to remove from pg_dump.c and collationcmds.c
relating pg_collation.collversion. I also updated a couple of
mentions of release 13 in the code and docs, and made some minor
language improvements here and there.
I still wish I had a better idea than this:
+/*
+ * Returns whether the given index access method depend on a stable collation
+ * order.
+ */
+static bool
+index_depends_stable_coll_order(Oid amoid)
+{
+ return (amoid != HASH_AM_OID &&
+ strcmp(get_am_name(amoid), "bloom") != 0);
+}
I'm doing some more testing and looking for weird cases... More soon.
Commits
-
Doc: Document known problem with Windows collation versions.
- 1bf946bd43e5 14.0 landed
-
Add collation versions for FreeBSD.
- ca051d8b101d 14.0 landed
-
Tolerate version lookup failure for old style Windows locale names.
- 9f12a3b95dd5 14.0 landed
-
Track collation versions for indexes.
- 257836a75585 14.0 landed
-
Add pg_depend.refobjversion.
- cd6f479e79f3 14.0 landed
-
Remove pg_collation.collversion.
- 7d1297df0830 14.0 landed
-
Fix the MSVC build for versions 2015 and later.
- a169155453e3 13.0 cited
-
Add collation versions for Windows.
- 352f6f2df60f 13.0 cited
-
Implement type regcollation
- a2b1faa0f279 13.0 landed
-
Use libc version as a collation version on glibc systems.
- d5ac14f9ccdd 13.0 landed
- 9f90b1d08d79 13.0 landed
-
Make type "name" collation-aware.
- 586b98fdf1aa 12.0 cited