Return-Path: owner-postman
Received: from localhost (localhost [127.0.0.1]) by nobozo.CS.Berkeley.EDU (8.6.4/8.6.3) with SMTP id TAA11303 for postgres-redist; Mon, 30 May 1994 19:53:13 -0700
Resent-From: POSTGRES mailing list <postman@postgres.Berkeley.EDU>
Resent-Message-Id: <199405310253.TAA11303@nobozo.CS.Berkeley.EDU>
Sender: owner-postman@postgres.Berkeley.EDU
X-Return-Path: owner-postman
Received: from faerie.CS.Berkeley.EDU (faerie.CS.Berkeley.EDU [128.32.149.14]) by nobozo.CS.Berkeley.EDU (8.6.4/8.6.3) with ESMTP id TAA11293 for <postgres@postgres.Berkeley.EDU>; Mon, 30 May 1994 19:53:13 -0700
Received: from localhost (localhost [127.0.0.1]) by faerie.CS.Berkeley.EDU (8.6.4/8.1B) with SMTP id TAA20627; Mon, 30 May 1994 19:53:06 -0700
Message-Id: <199405310253.TAA20627@faerie.CS.Berkeley.EDU>
X-Authentication-Warning: faerie.CS.Berkeley.EDU: Host localhost didn't use HELO protocol
From: aoki@postgres.Berkeley.EDU (Paul M. Aoki)
To: Michael Ubell <michael@montage.com>
Cc: Mark Metson <gpurdy@fox.nstn.ns.ca>, postgres@postgres.Berkeley.EDU
Subject: locking [was: Use by a Business]
Reply-To: aoki@postgres.Berkeley.EDU (Paul M. Aoki)
In-reply-to: Your message of Mon, 30 May 94 12:47:38 -0700 
	     <9405301947.AA02892@pigpen.montage.com> 
Date: Mon, 30 May 94 19:53:06 -0700
X-Sender: aoki@postgres.Berkeley.EDU
Resent-To: postgres-redist@postgres.Berkeley.EDU
X-Mts: smtp
Resent-Date: Mon, 30 May 94 19:53:13 -0700
Resent-XMts: smtp

Michael Ubell <michael@montage.com> writes:
> >  it does do page-level locking for b-trees but not for r-trees and heaps.
> Doing page locking on b-trees but not on the underlying heap does not really
> buy you anything since if you do an update the whole heap table is locked so
> things will be single threaded no matter what you do in the b-tree.

well, yes.  to quote src/doc/implementation/am.me, written by mike 
olson (now at montage):

          Users  of the access method interface routines need not
     worry about locking.  The  access  method  routines  acquire
     (and,  when  appropriate,  release)  locks  on  relations in
     response to scans and updates.  Heap relations are protected
     by  two-phase  relation  level  locks.   Btree  indices  use
     Lehman-Yao5 short-term locking  for  high  concurrency,  but
     since  the  underlying  relations are locked at the relation
     level, index updates are serialized.  Rtree indices use two-
     phase relation-level locking.

        5 Lehman, P., Yao, S., ``Efficient Locking for Concurrent
     Operations  on  B-trees'', ACM Transactions on Database Sys-
     tems, 6(4), December 1981.

but having working b-link trees reduces the amount of work some 
hypothetical person would have to do to convert the core system to 
page-level locking.

(not that the last two messages have had anything to do with what 
the guy was asking..)
--
  Paul M. Aoki  |  CS Div., Dept. of EECS, UCB  |  aoki@postgres.Berkeley.EDU
                |  Berkeley, CA 94720           |  ...!uunet!ucbvax!aoki

==============================================================================
   To add/remove yourself to/from the POSTGRES mailing list: send mail with 
   the subject line ADD or DEL to "postgres-request@postgres.Berkeley.EDU"

   If this fails, send mail to "post_questions@postgres.Berkeley.EDU" and
   a human will deal with it.  DO NOT post to the "postgres" mailing list.
==============================================================================
