diff options
Diffstat (limited to 'src/backend/access/transam/xact.c')
-rw-r--r-- | src/backend/access/transam/xact.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index ee33030292f..5323cefe0e7 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.211 2005/07/25 22:12:31 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.212 2005/08/08 19:17:22 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1549,6 +1549,9 @@ CommitTransaction(void) /* Check we've released all buffer pins */ AtEOXact_Buffers(true); + /* Clean up the relation cache */ + AtEOXact_RelationCache(true); + /* * Make catalog changes visible to all backends. This has to happen * after relcache references are dropped (see comments for @@ -1576,6 +1579,9 @@ CommitTransaction(void) RESOURCE_RELEASE_AFTER_LOCKS, true, true); + /* Check we've released all catcache entries */ + AtEOXact_CatCache(true); + AtEOXact_GUC(true, false); AtEOXact_SPI(true); AtEOXact_on_commit_actions(true); @@ -1768,6 +1774,9 @@ PrepareTransaction(void) /* Check we've released all buffer pins */ AtEOXact_Buffers(true); + /* Clean up the relation cache */ + AtEOXact_RelationCache(true); + /* notify and flatfiles don't need a postprepare call */ PostPrepare_Inval(); @@ -1785,6 +1794,9 @@ PrepareTransaction(void) RESOURCE_RELEASE_AFTER_LOCKS, true, true); + /* Check we've released all catcache entries */ + AtEOXact_CatCache(true); + /* PREPARE acts the same as COMMIT as far as GUC is concerned */ AtEOXact_GUC(true, false); AtEOXact_SPI(true); @@ -1922,6 +1934,7 @@ AbortTransaction(void) RESOURCE_RELEASE_BEFORE_LOCKS, false, true); AtEOXact_Buffers(false); + AtEOXact_RelationCache(false); AtEOXact_Inval(false); smgrDoPendingDeletes(false); AtEOXact_MultiXact(); @@ -1931,6 +1944,7 @@ AbortTransaction(void) ResourceOwnerRelease(TopTransactionResourceOwner, RESOURCE_RELEASE_AFTER_LOCKS, false, true); + AtEOXact_CatCache(false); AtEOXact_GUC(false, false); AtEOXact_SPI(false); |