Re: Extracting cross-version-upgrade knowledge from buildfarm client
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Michael Paquier <michael@paquier.xyz>, pgsql-hackers@lists.postgresql.org
Date: 2023-01-15T16:01:10Z
Lists: pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes: > On 2023-01-14 Sa 15:06, Tom Lane wrote: >> Here's version 2, incorporating your suggestions and with some >> further work to make it handle 9.2 fully. > This looks pretty good to me. Great! I'll work on making back-branch versions. > I'll probably change this line > my $adjust_cmds = adjust_database_contents($oversion, %dbnames); > so it's only called if the old and new versions are different. Is there > any case where a repo shouldn't be upgradeable to its own version > without adjustment? Makes sense. I'd keep the check for $oversion eq 'HEAD' in the subroutines, but that's mostly just to protect the version conversion code below it. Another thing I was just thinking about was not bothering to run "diff" if the fixed dump strings are equal in-memory. You could take that even further and not write out the fixed files at all, but that seems like a bad idea for debuggability of the adjustment subroutines. However, I don't see why we need to write an empty diff file, nor parse it. One other question before I continue --- do the adjustment subroutines need to worry about Windows newlines in the strings? It's not clear to me whether Perl will automatically make "\n" in a pattern match "\r\n", or whether it's not a problem because something upstream will have stripped \r's. regards, tom lane
Commits
-
Compare only major versions in AdjustUpgrade.pm
- 6061adedf53c 17.0 landed
- 28ce9d51f908 16.0 landed
-
Get rid of the "new" and "old" entries in a view's rangetable.
- 47bb9db75996 16.0 landed
-
Create common infrastructure for cross-version upgrade testing.
- 52585f8f072a 16.0 landed
- f02a75222821 11.19 landed
- ddd89df26b97 10 (unreleased) landed
- bfa3d2790664 9.5 (unreleased) landed
- a2091843f69e 9.2 (unreleased) landed
- 8e7398dce55b 14.7 landed
- 4bcf3521290a 9.4 (unreleased) landed
- 4ad0896bca92 15.2 landed
- 3f0b9df88bb3 13.10 landed
- 3911fd55f53a 9.6 (unreleased) landed
- 2e8bedc3d68c 9.3 (unreleased) landed
- 0e4d38100acb 12.14 landed