čt 21. 11. 2019 v 6:33 odesílatel vignesh C <vignes...@gmail.com> napsal:
> On Mon, Nov 18, 2019 at 6:30 PM Pavel Stehule <pavel.steh...@gmail.com> > wrote: > >> > >> I'll send this test today > > > > > > here is it > > > > Thanks for adding the test. > Few comments: > This function is same as in test/recovery/t/013_crash_restart.pl, we > can add to a common file and use in both places: > +# Pump until string is matched, or timeout occurs > +sub pump_until > +{ > + my ($proc, $stream, $untl) = @_; > + $proc->pump_nb(); > + while (1) > + { > + last if $$stream =~ /$untl/; > + if ($psql_timeout->is_expired) > + { > yes, I know - probably it can be moved to testlib.pm. Unfortunately it is perl, and I am not able to this correctly. More it use global object - timer This can be Tests drop database with force option: > done +# > +# Tests killing session connected to dropped database > +# > > This can be changed to check database foobar1 does not exist. > done +# and there is not a database with this name > +is($node->safe_psql('postgres', qq[SELECT EXISTS(SELECT * FROM > pg_database WHERE datname='foobar1');]), > + 'f', 'database foobar1 was removed'); > > This can be changed to check the connections on foobar1 database > + > +# and it is connected to foobar1 database > +is($node->safe_psql('postgres', qq[SELECT pid FROM pg_stat_activity > WHERE datname='foobar1' AND pid = $pid;]), > + $pid, 'database foobar1 is used'); > done > This can be changed to restart psql as the previous connection will be > terminated by previous drop database. > + > done new patch attached Regards Pavel +# restart psql processes, now that the crash cycle finished > +($killme_stdin, $killme_stdout, $killme_stderr) = ('', '', ''); > +$killme->run(); > > Regards, > Vignesh > EnterpriseDB: http://www.enterprisedb.com >
dropdb-force.pl-patch
Description: Binary data