On 2023-01-12 Th 09:54, Tom Lane wrote: > > I was wondering whether we could store a per-version patch or Perl > script that edits the old dump file to remove known discrepancies > from HEAD. If well-maintained, that could eliminate the need for the > arbitrary "fuzz factors" that are in TestUpgradeXversion.pm right now. > I'd really want these files to be kept in the community source tree, > though, so that we do not need a new BF client release to change them. > > This isn't the first time this has come up, but now we have a case > where it's actually blocking development, so maybe it's time to > make something happen. If you want I can work on a patch for the > BF client. > >
I wouldn't worry too much about the client for now. What we'd need is a) a place in the source code where we know to find the module b) a module name c) one or more functions to call to make the adjustment(s). so, say in src/test/perl we have PostgreSQL/AdjustUpgrade.pm with a subroutine adjust_dumpfile($oldversion, $dumpfile). That would be fairly easy to look for and call, and a good place to start. More ambitiously we might also provide a function do do most of the pre_upgrade adjustments made in TestUpgradeXversion.pm at lines 405-604. But let's walk before we try to run. This is probably a good time to be doing this as I want to push out a new release pretty soon to deal with the up-to-date check issues. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com