diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-08-28 20:31:44 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-08-28 20:31:44 +0000 |
commit | 1c72d0dec1d9e087ddf4010fac098153677bf77d (patch) | |
tree | a8b1b309ed00be2afe1152e4001552ff6496dddf /src/include/utils/relcache.h | |
parent | f900af7961fb7009242dbcaf3b484d4b1ed8752d (diff) | |
download | postgresql-1c72d0dec1d9e087ddf4010fac098153677bf77d.tar.gz postgresql-1c72d0dec1d9e087ddf4010fac098153677bf77d.zip |
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.
Diffstat (limited to 'src/include/utils/relcache.h')
-rw-r--r-- | src/include/utils/relcache.h | 4 |
1 files changed, 3 insertions, 1 deletions
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 |