Andrew Dunstan <and...@dunslane.net> writes:
> 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.

> so, say in src/test/perl we have PostgreSQL/AdjustUpgrade.pm with a
> subroutine adjust_dumpfile($oldversion, $dumpfile).

Seems reasonable.  I was imagining per-old-version .pm files, but
there's likely to be a fair amount of commonality between what to
do for different old versions, so probably that approach would be
too duplicative.

> 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.

I think that part is also very very important to abstract out of the
BF client.  We've been burnt on that before too.  So, perhaps one
subroutine that can apply updates to the source DB just before
we dump it, and then a second that can edit the dump file after?

We could imagine a third custom subroutine that abstracts the
actual dump file comparison, but I'd prefer to get to a place
where we just expect exact match after the edit step.

I'll work on a straw-man patch.

                        regards, tom lane


Reply via email to