diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/catalog/heap.c | 3 | ||||
-rw-r--r-- | src/backend/utils/cache/relcache.c | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 70083b52a64..f6b52109fe9 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.351 2009/02/24 01:38:09 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.352 2009/03/31 17:59:56 tgl Exp $ * * * INTERFACE ROUTINES @@ -664,6 +664,7 @@ InsertPgClassTuple(Relation pg_class_desc, values[Anum_pg_class_reltoastidxid - 1] = ObjectIdGetDatum(rd_rel->reltoastidxid); values[Anum_pg_class_relhasindex - 1] = BoolGetDatum(rd_rel->relhasindex); values[Anum_pg_class_relisshared - 1] = BoolGetDatum(rd_rel->relisshared); + values[Anum_pg_class_relistemp - 1] = BoolGetDatum(rd_rel->relistemp); values[Anum_pg_class_relkind - 1] = CharGetDatum(rd_rel->relkind); values[Anum_pg_class_relnatts - 1] = Int16GetDatum(rd_rel->relnatts); values[Anum_pg_class_relchecks - 1] = Int16GetDatum(rd_rel->relchecks); diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 196ca0155f0..c39759ee1c9 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.284 2009/01/27 12:40:15 petere Exp $ + * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.285 2009/03/31 17:59:56 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1396,6 +1396,12 @@ formrdesc(const char *relationName, Oid relationReltype, */ relation->rd_rel->relisshared = false; + /* + * Likewise, we must know if a relation is temp ... but formrdesc is + * not used for any temp relations. + */ + relation->rd_rel->relistemp = false; + relation->rd_rel->relpages = 1; relation->rd_rel->reltuples = 1; relation->rd_rel->relkind = RELKIND_RELATION; @@ -2398,6 +2404,9 @@ RelationBuildLocalRelation(const char *relname, */ rel->rd_rel->relisshared = shared_relation; + /* it is temporary if and only if it is in my temp-table namespace */ + rel->rd_rel->relistemp = isTempOrToastNamespace(relnamespace); + RelationGetRelid(rel) = relid; for (i = 0; i < natts; i++) |