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

From: Erikjan Rijkers <er(at)xs4all(dot)nl>
To: 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:11:43
Message-ID: 4687b406-252f-c0c4-1ccd-2f1f782db252@xs4all.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Op 13-04-2022 om 20:00 schreef Alvaro Herrera:
> 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"?

one [...] IS specified

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2022-04-20 18:02:49 'CREATE OR REPLACE FUNCTION' behavior whenever a transaction is running
Previous Message Alvaro Herrera 2022-04-13 18:00:49 Re: Add further details to ROW SHARE table level lock modes section