Re: dropdb --force
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Dilip Kumar <dilipbalaut@gmail.com>, Ryan Lambert <ryan@rustprooflabs.com>, Thomas Munro <thomas.munro@gmail.com>, Anthony Nowocien <anowocien@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Filip Rembiałkowski <filip.rembialkowski@gmail.com>
Date: 2019-11-22T09:57:58Z
Lists: pgsql-hackers
pá 22. 11. 2019 v 10:46 odesílatel vignesh C <vignesh21@gmail.com> napsal:
> On Fri, Nov 22, 2019 at 12:10 AM Pavel Stehule <pavel.stehule@gmail.com>
> wrote:
> >
> >
> >
> > čt 21. 11. 2019 v 6:33 odesílatel vignesh C <vignesh21@gmail.com>
> napsal:
> >>
> >> On Mon, Nov 18, 2019 at 6:30 PM Pavel Stehule <pavel.stehule@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
> >
>
> Thanks for fixing the comments. The changes looks fine to me. I have
> fixed the first comment, attached patch has the changes for the same.
>
thank you
looks well
Pavel
> Regards,
> Vignesh
> EnterpriseDB: http://www.enterprisedb.com
>
Commits
-
Add tests for '-f' option in dropdb utility.
- 8a7e9e9dad56 13.0 landed
-
Move pump_until to TestLib.pm.
- 290acac92b1d 13.0 landed
-
Add the support for '-f' option in dropdb utility.
- 80e05a088e4e 13.0 landed
-
Introduce the 'force' option for the Drop Database command.
- 1379fd537f9f 13.0 landed
-
Improve CREATE/DROP/RENAME DATABASE so that when failing because the source
- 4abd7b49f1e9 8.4.0 cited