On Mar 27, 2014 12:45 PM, "Tom Lane" <t...@sss.pgh.pa.us> wrote:
>
> Magnus Hagander <mag...@hagander.net> writes:
> > On Thu, Mar 27, 2014 at 9:12 AM, Rajeev rastogi
> > <rajeev.rast...@huawei.com>wrote:
> >> But current code does not behave in this manner.  Even if dbistemplate
of
> >> database is false, still it allows to be used as template database.
>
> > AFAICT, the *only* thing datistemplate is used is to set parameters in
> > autovacuum.
>
> Huh?  The code comment is perfectly clear:
>
>     /*
>      * Permission check: to copy a DB that's not marked datistemplate, you
>      * must be superuser or the owner thereof.
>      */
>     if (!src_istemplate)
>     {
>         if (!pg_database_ownercheck(src_dboid, GetUserId()))
>             ereport(ERROR,
>                     (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
>                      errmsg("permission denied to copy database \"%s\"",
>                             dbtemplate)));
>     }
>
> I agree we need to make the docs match the code, but changing behavior
> that's been like that for ten or fifteen years isn't the answer.

Hah, I hadn't done more than git grep for datistemplate :-) that's what I
get for taking shortcuts...

But yes, fixing  the documentation is what I advocate as well.

> (Changing code and failing to adjust the adjacent comment is even less
> of an answer.)

I didn't even look at the suggested patch..

/Magnus

Reply via email to