Fix cross-version pg_upgrade test.

Pass each statement as a separate '-c' arg, so they don't get combined
into a single transaction.

Discussion: https://postgr.es/m/bca97aecb50b2026b7dbc26604bf31861c819a64.camel@j-davis.com
Reviewed-by: Tom Lane
This commit is contained in:
Jeff Davis 2024-03-09 11:48:52 -08:00
parent f160bf06f7
commit 5ba8b70deb

View file

@ -246,15 +246,19 @@ if (defined($ENV{oldinstall}))
foreach my $updb (keys %$adjust_cmds)
{
my $upcmds = join(";\n", @{ $adjust_cmds->{$updb} });
my @command_args = ();
for my $upcmd (@{ $adjust_cmds->{$updb} })
{
push @command_args, '-c', $upcmd;
}
# For simplicity, use the newer version's psql to issue the commands.
$newnode->command_ok(
[
'psql', '-X',
'-v', 'ON_ERROR_STOP=1',
'-c', $upcmds,
'-d', $oldnode->connstr($updb),
@command_args,
],
"ran version adaptation commands for database $updb");
}