Re: obtaining row locking information

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: obtaining row locking information
Date: 2005-08-12 03:50:41
Message-ID: 20050812035041.GA10532@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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")

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2005-08-12 05:08:29 Re: obtaining row locking information
Previous Message Tom Lane 2005-08-12 03:45:38 Re: ereport(ERROR) and files