mirror of
https://github.com/postgres/postgres.git
synced 2025-06-06 00:02:36 -04:00
Suppress occasional failure of final DROP DATABASE due to
race condition --- old backend may not have shut down by the time we try to do the DROP.
This commit is contained in:
parent
55d5b58538
commit
4e5146b883
@ -1,6 +1,6 @@
|
|||||||
#!/usr/local/bin/perl -w
|
#!/usr/local/bin/perl -w
|
||||||
|
|
||||||
# $Id: test.pl,v 1.12 2000/03/11 02:57:24 tgl Exp $
|
# $Id: test.pl,v 1.13 2000/11/17 00:24:03 tgl Exp $
|
||||||
|
|
||||||
# Before `make install' is performed this script should be runnable with
|
# Before `make install' is performed this script should be runnable with
|
||||||
# `make test'. After `make install' it should work as `perl test.pl'
|
# `make test'. After `make install' it should work as `perl test.pl'
|
||||||
@ -260,6 +260,13 @@ if ($DEBUG) {
|
|||||||
$conn = Pg::connectdb("dbname=$dbmain");
|
$conn = Pg::connectdb("dbname=$dbmain");
|
||||||
die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;
|
die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;
|
||||||
|
|
||||||
|
# Race condition: it's quite possible that the DROP command will arrive
|
||||||
|
# at the new backend before the old backend has finished shutting down,
|
||||||
|
# resulting in an error message.
|
||||||
|
# There doesn't seem to be any more graceful way around this than to
|
||||||
|
# insert a small delay ...
|
||||||
|
sleep(1);
|
||||||
|
|
||||||
$result = $conn->exec("DROP DATABASE $dbname");
|
$result = $conn->exec("DROP DATABASE $dbname");
|
||||||
die $conn->errorMessage unless PGRES_COMMAND_OK eq $result->resultStatus;
|
die $conn->errorMessage unless PGRES_COMMAND_OK eq $result->resultStatus;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user