XIDTAG ???

Vadim Mikheev <vadim@krs.ru>

From: Vadim Mikheev <vadim@krs.ru>
To: PostgreSQL Developers List <hackers@postgreSQL.org>
Cc: dz@cs.unitn.it
Date: 1999-05-03T16:18:00Z
Lists: pgsql-hackers
Why both

    int           pid;
    TransactionId xid;

are used in XIDTAG?

lock.c:
 *                                      normal lock     user lock
 *
 *      lockmethod                      1               2
 *      tag.relId                       rel oid         0
                                        ^^^^^^^^^^^^^^^^^
Due to this, user-lock LOCKTAG is always different from
normal-lock tag and so XIDTAG.lock is different also.

 *      tag.ItemPointerData.ip_blkid    block id        lock id2
 *      tag.ItemPointerData.ip_posid    tuple offset    lock id1
 *      xid.pid                         0               backend pid
 *      xid.xid                         xid or 0        0

Why not get rid of XIDTAG.xid and use XIDTAG.pid equal
to backend pid for both lock methods?

Comments?

Vadim