Return-Path: owner-postman 
Delivery-Date: Mon, 25 Apr 94 22:05:31 -0700
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 TAA11734 for postgres-redist; Mon, 25 Apr 1994 19:37:40 -0700
Resent-From: POSTGRES mailing list <postman@postgres.Berkeley.EDU>
Resent-Message-Id: <199404260237.TAA11734@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 TAA11724 for <postgres@postgres.Berkeley.EDU>; Mon, 25 Apr 1994 19:37:40 -0700
Received: from localhost (localhost [127.0.0.1]) by faerie.CS.Berkeley.EDU (8.6.4/8.1B) with SMTP id TAA09168; Mon, 25 Apr 1994 19:37:30 -0700
Message-Id: <199404260237.TAA09168@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: "MARCIN JANUCHTA (P.445)" <MARTIN@kastor.ics.tup.edu.pl>
Cc: postgres@postgres.Berkeley.EDU, martin@pozn1v.tup.edu.pl
Subject: Re: concurrency control structures in Postgres 
Reply-To: aoki@postgres.Berkeley.EDU (Paul M. Aoki)
In-reply-to: Your message of Fri, 22 Apr 1994 13:15:32 CET-0 
	     <BA9B9A4047@kastor.ics.tup.edu.pl> 
Date: Mon, 25 Apr 94 19:37:29 -0700
X-Sender: aoki@postgres.Berkeley.EDU
Resent-To: postgres-redist@postgres.Berkeley.EDU
X-Mts: smtp
Resent-Date: Mon, 25 Apr 94 19:37:40 -0700
Resent-XMts: smtp

"MARCIN JANUCHTA (P.445)" <MARTIN@kastor.ics.tup.edu.pl> writes:
> Does anybody have the documentation concerning the lock table 
> structure and lock request/grant routines in Postgres code,
> as well as the internal representation of transactions?
> I hope that somebody (perhaps from the Postgres team) would be
> so kind to enlighten me  (if it's not a kind of trade secret...). 

if it were a trade secret, we wouldn't give away the source, eh? :-)

the very little i know about the lock manager i acquired from 
walking around with a TAGS-file.  unfortunately there isn't much
in terms of documentation.  there is a file
	src/backend/storage/lmgr/README
that was a first attempt by jeff meredith at explaining some concepts 
but it was never finished.  there are also some comments in the source
that explain a few things.  i believe the gray paper to which they
refer is:

%A J. N. Gray
%A R. A. Lorie
%A G. R. Putzolu
%A I. L. Traiger
%T Granularity of Locks and Degrees of Consistency in a Shared Data Base
%B Modelling in Data Base Management Systems
\fI(PROC IFIP Working CONF on Modelling in Data Base Management Systems, Freudenstadt, Germany, JAN 1976)\fP
%I North-Holland
%C Amsterdam, the Netherlands
%D 1976
%P 365-394
%O (Reprinted in: M. Stonebraker, \fIReadings in Database Systems, 2nd Ed.\fP, Morgan Kauffman, San Mateo, CA, 1993.)

(note that the recent gray/reuter book on transaction processing systems 
has an improved version of the same discussion.)
--
  Paul M. Aoki  |  CS Div., Dept. of EECS, UCB  |  aoki@postgres.Berkeley.EDU
                |  Berkeley, CA 94720           |  ...!uunet!ucbvax!aoki

===============================================================================
    To add/remove yourself 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.
===============================================================================

