From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Noah Misch <noah(at)leadboat(dot)com> |
Cc: | Simon Riggs <simon(at)2ndQuadrant(dot)com>, Kevin Grittner <kgrittn(at)mail(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: foreign key locks |
Date: | 2012-11-13 22:07:30 |
Message-ID: | 20121113220729.GA12811@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Noah Misch wrote:
> On Wed, Oct 31, 2012 at 05:22:10PM -0300, Alvaro Herrera wrote:
> > Not really sure about the proposed syntax, but yes clearly we need some
> > other syntax to mean "FOR NON KEY UPDATE". I would rather keep FOR
> > UPDATE to mean what I currently call FOR KEY UPDATE. More proposals for
> > the other (weaker) lock level welcome (but if you love FOR NON KEY
> > UPDATE, please chime in too)
>
> Agree on having "FOR UPDATE" without any "FOR KEY UPDATE" synonym. For the
> weaker lock, I mildly preferred the proposal of "FOR NO KEY UPDATE". NON KEY
> captures the idea better in English, but NO is close enough and already part
> of the SQL lexicon.
This is the proposal I like best; however there is an asymmetry, because
the locking options now are
FOR KEY SHARE
FOR SHARE
FOR NO KEY UPDATE
FOR UPDATE
I used to have comments such as
/* Currently, SELECT ... FOR [KEY] UPDATE/SHARE requires UPDATE privileges */
#define ACL_SELECT_FOR_UPDATE ACL_UPDATE
but now they are slightly incorrect because the NO is not illustrated.
I guess I could use SELECT ... FOR [NO KEY] UPDATE/SHARE but this leaves
out the "FOR KEY SHARE" case (and can be thought to introduce a FOR NO
KEY SHARE case). And getting much more verbose than that is probably
not warranted. In some places I would like the use a phrase like "the
locking clause", but I'm not sure that it's clear enough.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Jehan-Guillaume de Rorthais | 2012-11-13 22:27:10 | Process waiting for ExclusiveLock on INSERT |
Previous Message | Tom Lane | 2012-11-13 21:48:11 | Re: Enabling Checksums |