Re: Bogus collation version recording in recordMultipleDependencies
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Julien Rouhaud <rjuju123@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2021-04-16T14:03:42Z
Lists: pgsql-hackers
Attachments
- 0001-fix-collation-version-dependencies-2.patch (text/x-diff) patch 0001
Julien Rouhaud <rjuju123@gmail.com> writes: > On Thu, Apr 15, 2021 at 10:06:24AM -0400, Tom Lane wrote: >> 0001 fails for me :-(. I think that requires default collation to be C. > Oh right, adding --no-locale to the regress opts I see that create_index is > failing, and that's not the one I was expecting. > We could change create_index test to create c2 with a C collation, in order to > test that we don't track dependency on unversioned locales, and add an extra > test in collate.linux.utf8 to check that we do track a dependency on the > default collation as this test isn't run in the --no-locale case. The only > case not tested would be default unversioned collation, but I'm not sure where > to properly test that. Maybe a short leading test in collate.linux.utf8 that > would be run on linux in that case (when getdatabaseencoding() != 'UTF8')? It > would require an extra alternate file but it wouldn't cause too much > maintenance problem as there should be only one test. Since the proposed patch removes the dependency code's special-case handling of the default collation, I don't feel like we need to jump through hoops to prove that the default collation is tracked the same as other collations. A regression test with alternative outputs is a significant ongoing maintenance burden, and I do not see where we're getting a commensurate improvement in test coverage. Especially since, AFAICS, the two alternative outputs would essentially have to accept both the "it works" and "it doesn't work" outcomes. So I propose that we do 0001 below, which is my first patch plus your suggestion about fixing up create_index.sql. This passes check-world for me under both C and en_US.utf8 prevailing locales. regards, tom lane
Commits
-
Doc: Update notes about libc collation versions.
- b65431ca5e12 14.0 landed
-
Revert per-index collation version tracking feature.
- ec4831470826 14.0 landed
-
Rethink extraction of collation dependencies.
- f24b15699705 14.0 landed
-
Fix bogus collation-version-recording logic.
- ef387bed87f2 14.0 landed
-
Rename the "point is strictly above/below point" comparison operators.
- 0cc993278888 14.0 cited
-
Move catalog toast table declarations
- b4c9695e79f7 14.0 cited