From 1c72d0dec1d9e087ddf4010fac098153677bf77d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 28 Aug 2004 20:31:44 +0000 Subject: Fix relcache to account properly for subtransaction status of 'new' relcache entries. Also, change TransactionIdIsCurrentTransactionId() so that if consulted during transaction abort, it will not say that the aborted xact is still current. (It would be better to ensure that it's never called at all during abort, but I'm not sure we can easily guarantee that.) In combination, these fix a crash we have seen occasionally during parallel regression tests of 8.0. --- src/include/utils/relcache.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/include/utils/relcache.h') diff --git a/src/include/utils/relcache.h b/src/include/utils/relcache.h index 227ef591a2c..7b244be4139 100644 --- a/src/include/utils/relcache.h +++ b/src/include/utils/relcache.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/relcache.h,v 1.42 2004/07/17 03:31:47 tgl Exp $ + * $PostgreSQL: pgsql/src/include/utils/relcache.h,v 1.43 2004/08/28 20:31:44 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -66,6 +66,8 @@ extern void RelationCacheInvalidateEntry(Oid relationId, RelFileNode *rnode); extern void RelationCacheInvalidate(void); extern void AtEOXact_RelationCache(bool isCommit); +extern void AtEOSubXact_RelationCache(bool isCommit, TransactionId myXid, + TransactionId parentXid); /* * Routines to help manage rebuilding of relcache init file -- cgit v1.2.3