Re: Add further details to ROW SHARE table level lock modes section

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: jbodoia21(at)cmc(dot)edu, pgsql-docs(at)lists(dot)postgresql(dot)org
Subject: Re: Add further details to ROW SHARE table level lock modes section
Date: 2022-04-13 18:00:49
Message-ID: 202204131800.4kk67cjmeuqh@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On 2022-Apr-04, PG Doc comments form wrote:

> I propose that it would be useful to explicitly state that `SELECT FOR KEY
> SHARE` AND `SELECT FOR NO KEY UPDATE` commands also acquire the ROW SHARE
> table level lock on target table(s). That is:
> ```
> Conflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes.
>
> The SELECT FOR UPDATE, SELECT FOR NO KEY UPDATE, SELECT FOR SHARE, and
> SELECT FOR KEY SHARE commands acquire a lock of this mode on the target
> table(s) (in addition to ACCESS SHARE locks on any other tables that are
> referenced but not selected FOR UPDATE/FOR SHARE).
> ```

I agree we need an update here. But the original wording seems a bit
off; I think we should say SELECT is a command, and that the FOR bits
are options thereof. Maybe something like this:

<para>
The <command>SELECT</command> command acquires a lock of this mode
on all tables on which one of the <option>FOR UPDATE</option>,
<option>FOR NO KEY UPDATE</option>,
<option>FOR SHARE</option>, or
<option>FOR KEY SHARE</option> options is specified
(in addition to <literal>ACCESS SHARE</literal> locks on any other
tables that are referenced without any explicit
<option>FOR ...</option> locking option).
</para>

Thoughts?

Grammar check: "one of the a,b,c options IS specified" or "one of the
a,b,c options ARE specified"?

--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Erikjan Rijkers 2022-04-13 18:11:43 Re: Add further details to ROW SHARE table level lock modes section
Previous Message Tom Lane 2022-04-12 22:22:53 Re: "GIN and GiST Index Types" page is about usage in full text search, but looks general purpose