grammar - src/backend/access/heap/README.tuplock - Mailing list pgsql-hackers

From Brad DeJong
Subject grammar - src/backend/access/heap/README.tuplock
Date
Msg-id CAJnrtnxrA4FqZi0Z6kGPQKMiZkWv2xxgSDQ+hv1jDrf8WCKjjw@mail.gmail.com
Whole thread Raw
Responses Re: grammar - src/backend/access/heap/README.tuplock  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers
The sentences in question currently read ...

Finally, SELECT FOR KEY SHARE obtains a shared lock which only
prevents tuple removal and modifications of key fields. This last mode
implements a mode just strong enough to implement RI checks, i.e. it ensures
that tuples do not go away from under a check, without blocking when some
other transaction that want to update the tuple without changing its key.

The last sentence is the problem, the first is just for context.

1) "This last mode implements a mode ..." seems awkward and the term "mode"
is not used to describe the other 3 levels of tuple locking strength. The phrasing
used for SELECT FOR UPDATE ("This is the lock level that ...") is better. 

2) noun/verb agreement
    ... transaction that want ...
   should be either
    ... transaction that wants ... or ... transactions that want ...

3) mismatched clauses
    ... without blocking when ... transactions that want ...
    should be either
    ... without blocking ... transactions that want ... 
    or
    ... without blocking when ... transactions want ...

The first says that our transaction's shared lock is not blocking other transactions.

4) the "some other" in "some other transaction" just seems unnecessary.

Putting it all together, the attached patch changes the last sentence to ...

This lock level is just strong enough to implement RI checks, i.e. it ensures
that tuples do not go away from under a check, without blocking transactions
that want to update the tuple without changing its key.

 

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Non-portable shell code in pg_upgrade tap tests
Next
From: ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Date:
Subject: Re: Non-portable shell code in pg_upgrade tap tests