Quick hack to make the VXID of a prepared transaction be -1/XID,

so that different prepared xacts can be told apart in the pg_locks
view.  Per suggestion from Florian.
This commit is contained in:
Tom Lane 2007-09-05 20:53:17 +00:00
parent 295e63983d
commit 4bf2dfb9a2

View File

@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.33 2007/09/05 18:10:47 tgl Exp $
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.34 2007/09/05 20:53:17 tgl Exp $
*
* NOTES
* Each global transaction is associated with a global transaction
@ -274,7 +274,8 @@ MarkAsPreparing(TransactionId xid, const char *gid,
MemSet(&gxact->proc, 0, sizeof(PGPROC));
SHMQueueElemInit(&(gxact->proc.links));
gxact->proc.waitStatus = STATUS_OK;
gxact->proc.lxid = InvalidLocalTransactionId;
/* We set up the gxact's VXID as InvalidBackendId/XID */
gxact->proc.lxid = (LocalTransactionId) xid;
gxact->proc.xid = xid;
gxact->proc.xmin = InvalidTransactionId;
gxact->proc.pid = 0;