Re: obtaining row locking information - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: obtaining row locking information
Date
Msg-id 20050812.140829.59654610.t-ishii@sra.co.jp
Whole thread Raw
In response to Re: obtaining row locking information  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: obtaining row locking information
List pgsql-hackers
> On Fri, Aug 12, 2005 at 12:27:25PM +0900, Tatsuo Ishii wrote:
> 
> > However even one of transactions, for example 647 commits, still it
> > shows as if 647 is a member of muitixid 3.
> > 
> > test=# select * from pgrowlocks('t1');
> >  locked_row | lock_type | locker | multi |   xids    
> > ------------+-----------+--------+-------+-----------
> >       (0,1) | Shared    |      3 | t     | {646,647}
> > (1 row)
> > 
> > Am I missing something?
> 
> By design, a MultiXactId does not change its membership, that is, no
> members are added nor deleted.  When this has to happen (for example a
> row is locked by another backend), a new MultiXactId is generated.  The
> caller is expected to check whether the member transactions are still
> running.

But it seems when members are deleted, new multixid is not
generated. i.e. I see "locker" column does not change. Is this an
expected behavior?
--
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: obtaining row locking information
Next
From: ITAGAKI Takahiro
Date:
Subject: Re: Why do index access methods use LP_DELETE?