Hi,
This makes the error messages for PREPARE TRANSACTION, COMMIT PREPARED
etc. match the docs, which talk about "transaction identifier" not
"gid" or "global transaction identifier".
Regards, Steve Woodcock
Index: src/backend/access/transam/twophase.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/access/transam/twophase.c,v
retrieving revision 1.11
diff -c -r1.11 twophase.c
*** src/backend/access/transam/twophase.c 29 Aug 2005 21:38:18 -0000 1.11
--- src/backend/access/transam/twophase.c 2 Oct 2005 10:38:57 -0000
***************
*** 221,227 ****
if (strlen(gid) >= GIDSIZE)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
! errmsg("global transaction identifier \"%s\" is too long",
gid)));
LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE);
--- 221,227 ----
if (strlen(gid) >= GIDSIZE)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
! errmsg("transaction identifier \"%s\" is too long",
gid)));
LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE);
***************
*** 256,262 ****
{
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
! errmsg("global transaction identifier \"%s\" is already in use",
gid)));
}
}
--- 256,262 ----
{
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
! errmsg("transaction identifier \"%s\" is already in use",
gid)));
}
}
***************
*** 380,386 ****
if (TransactionIdIsActive(gxact->locking_xid))
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
! errmsg("prepared transaction with gid \"%s\" is busy",
gid)));
gxact->locking_xid = InvalidTransactionId;
}
--- 380,386 ----
if (TransactionIdIsActive(gxact->locking_xid))
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
! errmsg("prepared transaction with identifier \"%s\" is busy",
gid)));
gxact->locking_xid = InvalidTransactionId;
}
***************
*** 403,409 ****
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_OBJECT),
! errmsg("prepared transaction with gid \"%s\" does not exist",
gid)));
/* NOTREACHED */
--- 403,409 ----
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_OBJECT),
! errmsg("prepared transaction with identifier \"%s\" does not exist",
gid)));
/* NOTREACHED */
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster