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