Re: [HACKERS] Anyone want to assist with the translation of the - Mailing list pgsql-patches

From Tom Lane
Subject Re: [HACKERS] Anyone want to assist with the translation of the
Date
Msg-id 1239.1033615960@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Anyone want to assist with the translation of the  (Rod Taylor <rbt@rbt.ca>)
Responses Re: [HACKERS] Anyone want to assist with the translation of  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Rod Taylor <rbt@rbt.ca> writes:
>       /* Call CreateComments() to create/drop the comments */
>       CreateComments(ruleoid, classoid, 0, comment);
> +
> +     heap_close(relation, AccessShareLock);
>   }
>
>   /*

Ooops.

I think though that this should read

+    heap_close(relation, NoLock);

In general, we hold locks on user relations we are modifying until end
of transaction.  This is different from the rule for system catalogs
(eg, it's okay to drop the AccessShareLock on pg_rewrite a few lines
above this).  The reason for the distinction is that we want to be
sure that the user relation won't get DROPped by someone else before
we've committed our changes.  (If someone else did try to drop it in
that interval, they'd not delete the pg_description row we just added,
because they couldn't see it.)  On the other hand, system catalogs such
as pg_rewrite are not going to go away, by definition, and so it's okay
to drop their locks early.  The only reason we lock system catalogs at
all is to allow VACUUM FULL to nail down exclusive access to a catalog
while it vacuums it.

            regards, tom lane

pgsql-patches by date:

Previous
From: Rod Taylor
Date:
Subject: Re: [HACKERS] pg7.3b1
Next
From: Bruce Momjian
Date:
Subject: Re: remove unused vars