Commit 6da00552 authored by Bruce Momjian's avatar Bruce Momjian

Fix for SELECT INTO ... GROUP/ORDER BY where table already exists unlink error.

parent 8fb0ac88
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.8 1996/11/05 09:53:01 scrappy Exp $ * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.9 1997/01/01 06:01:03 momjian Exp $
* *
* *
* INTERFACE ROUTINES * INTERFACE ROUTINES
...@@ -495,6 +495,10 @@ heap_open(Oid relationId) ...@@ -495,6 +495,10 @@ heap_open(Oid relationId)
IncrHeapAccessStat(global_open); IncrHeapAccessStat(global_open);
r = (Relation) RelationIdGetRelation(relationId); r = (Relation) RelationIdGetRelation(relationId);
if(RelationIsValid(r) && r->rd_istemp) {
r->rd_tmpunlinked = FALSE; /* now we can unlink it */
}
if (RelationIsValid(r) && r->rd_rel->relkind == RELKIND_INDEX) { if (RelationIsValid(r) && r->rd_rel->relkind == RELKIND_INDEX) {
elog(WARN, "%s is an index relation", r->rd_rel->relname.data); elog(WARN, "%s is an index relation", r->rd_rel->relname.data);
...@@ -524,6 +528,10 @@ heap_openr(char *relationName) ...@@ -524,6 +528,10 @@ heap_openr(char *relationName)
r = RelationNameGetRelation(relationName); r = RelationNameGetRelation(relationName);
if(RelationIsValid(r) && r->rd_istemp) {
r->rd_tmpunlinked = FALSE; /* now we can unlink it */
}
if (RelationIsValid(r) && r->rd_rel->relkind == RELKIND_INDEX) { if (RelationIsValid(r) && r->rd_rel->relkind == RELKIND_INDEX) {
elog(WARN, "%s is an index relation", r->rd_rel->relname.data); elog(WARN, "%s is an index relation", r->rd_rel->relname.data);
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.9 1996/12/31 06:58:27 vadim Exp $ * $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.10 1997/01/01 06:01:16 momjian Exp $
* *
* INTERFACE ROUTINES * INTERFACE ROUTINES
* heap_creatr() - Create an uncataloged heap relation * heap_creatr() - Create an uncataloged heap relation
...@@ -303,7 +303,8 @@ heap_creatr(char *name, ...@@ -303,7 +303,8 @@ heap_creatr(char *name,
*/ */
rdesc->rd_istemp = isTemp; rdesc->rd_istemp = isTemp;
rdesc->rd_tmpunlinked = TRUE; /* change once table is opened */
/* ---------------- /* ----------------
* have the storage manager create the relation. * have the storage manager create the relation.
* ---------------- * ----------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment