Skip site navigation (1) Skip section navigation (2)

Re: [WIP] shared locks

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [WIP] shared locks
Date: 2005-04-24 19:15:37
Message-ID: 20050424191537.GB30545@dcc.uchile.cl (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
On Mon, Apr 18, 2005 at 08:00:57PM -0400, Tom Lane wrote:
> Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> writes:
> > The idea is that a tuple's Xmax can either be a real TransactionId
> > (which is used normally like current CVS tip), or, if the infomask has
> > HEAP_XMAX_SHARED_LOCK, a MultiXactId.
> 
> Interesting idea.  Would it be possible to invoke this mechanism only
> when actually needed --- that is, the first locker of a given tuple
> puts his plain TransactionId into Xmax (and also sets an infomask bit
> indicating his intent to have a shared rather than exclusive lock),
> and then the second locker to come along replaces the TransactionId
> with a MultiTransactionId including himself and the first locker?

Ok, here is the patch again.  I did this, so there are now two related
bits in the infomask: HEAP_XMAX_IS_MULTI and
HEAP_XMAX_{SHARED,EXCLUSIVE}_LOCK.  (I ripped out HEAP_XMAX_FOR_UPDATE).
Locking and using a MultiXactId are orthogonal.

The rest is more or less the same that was in the original patch.  I
feel this is in a OK state for review for possible inclusion.  Some
testing is still needed regarding MultiXactId wraparound, and SLRU
truncation, and I haven't looked at whether documentation needs
updating.

-- 
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
Jude: I wish humans laid eggs
Ringlord: Why would you want humans to lay eggs?
Jude: So I can eat them

In response to

Responses

pgsql-hackers by date

Next:From: John HansenDate: 2005-04-24 19:46:01
Subject: Re: [HACKERS] UNICODE/UTF-8 on win32
Previous:From: Josh BerkusDate: 2005-04-24 19:08:15
Subject: Re: [HACKERS] Bad n_distinct estimation; hacks suggested?

pgsql-patches by date

Next:From: Bruce MomjianDate: 2005-04-24 22:48:04
Subject: Re: Constant WAL replay
Previous:From: Alvaro HerreraDate: 2005-04-24 18:45:36
Subject: trivial whitespace correction in es.po

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group