aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/cache
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1996-10-24 07:55:54 +0000
committerMarc G. Fournier <scrappy@hub.org>1996-10-24 07:55:54 +0000
commit20b4c46e263ca32d97e35aebc1662a9f0fd433fe (patch)
treed22ac0a0b75044a94283f242483f40134522b043 /src/backend/utils/cache
parente152661200c1b3e6a834c918ba64681dde404440 (diff)
downloadpostgresql-20b4c46e263ca32d97e35aebc1662a9f0fd433fe.tar.gz
postgresql-20b4c46e263ca32d97e35aebc1662a9f0fd433fe.zip
Fixes: Errors when PQexec() in backend creates temp
relations and transaction is aborted Submitted by: wieck@sapserv.debis.de (Jan Wieck)
Diffstat (limited to 'src/backend/utils/cache')
-rw-r--r--src/backend/utils/cache/relcache.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index f10d3da7f61..81d9ca59898 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.2 1996/10/23 07:41:00 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.3 1996/10/24 07:55:29 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1418,7 +1418,14 @@ RelationPurgeLocalRelation(bool xactCommitted)
* remove the file if we abort. This is so that files for
* tables created inside a transaction block get removed.
*/
- smgrunlink(reln->rd_rel->relsmgr, reln);
+ if(reln->rd_istemp) {
+ if(!(reln->rd_tmpunlinked)) {
+ smgrunlink(reln->rd_rel->relsmgr, reln);
+ reln->rd_tmpunlinked = TRUE;
+ }
+ } else {
+ smgrunlink(reln->rd_rel->relsmgr, reln);
+ }
}
reln->rd_islocal = FALSE;