From: Tom Lane Date: Wed, 5 Sep 2007 20:53:17 +0000 (+0000) Subject: Quick hack to make the VXID of a prepared transaction be -1/XID, X-Git-Tag: REL8_3_BETA1~231 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4bf2dfb9a26a9d6f97b8d54e939d2bf02c4d99a1;p=postgresql 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. --- diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 3e7e843502..db47e95cf8 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -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;