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

From Alvaro Herrera
Subject Re: obtaining row locking information
Date
Msg-id 20050812035041.GA10532@alvh.no-ip.org
Whole thread Raw
In response to Re: obtaining row locking information  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Responses Re: obtaining row locking information  (Tatsuo Ishii <t-ishii@sra.co.jp>)
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.

-- 
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"El que vive para el futuro es un iluso, y el que vive para el pasado,
un imbécil" (Luis Adler, "Los tripulantes de la noche")


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: ereport(ERROR) and files
Next
From: Tatsuo Ishii
Date:
Subject: Re: obtaining row locking information