Subject: begin/end, where do I find more info about them?

From: [email-masked] (Joergen Haegg)
Date: 1 Nov 1993 12:06:40 GMT

How are begin and end suppose to work?

It seems as if postgres locks the class completely for all
except the process that made the first append or replace.
It is locked for all other processes until the first process
executes 'end'.

Should it not be possible to read all instances, but not to change
any instance that has changed but not committed?

Can anyone explain this?

-- 
Joergen Haegg				[email-masked]
System manager @ efd			Phone: international +46 46 107492
Lund Institute of Technology		Snailmail: DDG, Maildelivery 7, BOX 118
Fax: +46 46 104013			S-221 00 LUND, Sweden

---

From: [email-masked] (Paul M. Aoki)
Date: Mon, 01 Nov 93 08:16:27 -0800

> any instance that has changed but not committed?

sure -- "table-level locking on base classes."

what you're describing is tuple-level locking.  some commercial
vendors still don't provide this -- it's hard to do correctly 
and efficiently.  there's no research mileage in providing
it so it's unlikely [i don't make policy so i won't say anything
stronger] that you'll see it in postgres any time soon.

i should note that postgres contains code that implements a 
simple escalating multilevel lock manager, and there's a note
indicating that it dies in overhead..
--
  Paul M. Aoki  |  CS Div., Dept. of EECS, UCB  |  [email-masked]
                |  Berkeley, CA 94720           |  ...!uunet!ucbvax!aoki