mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
In PostgresNode.pm, don't pass SQL to psql on the command line
The Msys shell mangles certain patterns in its command line, so avoid handing arbitrary SQL to psql on the command line and instead use IPC::Run's redirection facility for stdin. This pattern is already mostly whats used, but query_poll_until() was not doing the right thing. Problem discovered on the buildfarm when a new TAP test failed on msys.
This commit is contained in:
parent
75d66d10e0
commit
4ed9dacb2f
@ -1652,14 +1652,15 @@ sub poll_query_until
|
||||
|
||||
$expected = 't' unless defined($expected); # default value
|
||||
|
||||
my $cmd = [ 'psql', '-XAt', '-c', $query, '-d', $self->connstr($dbname) ];
|
||||
my $cmd = [ 'psql', '-XAt', '-d', $self->connstr($dbname) ];
|
||||
my ($stdout, $stderr);
|
||||
my $max_attempts = 180 * 10;
|
||||
my $attempts = 0;
|
||||
|
||||
while ($attempts < $max_attempts)
|
||||
{
|
||||
my $result = IPC::Run::run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
my $result = IPC::Run::run $cmd, '<', \$query,
|
||||
'>', \$stdout, '2>', \$stderr;
|
||||
|
||||
$stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp($stdout);
|
||||
|
Loading…
x
Reference in New Issue
Block a user