*** pgsql/src/backend/utils/cache/relcache.c 2009/01/27 12:40:15 1.284 --- pgsql/src/backend/utils/cache/relcache.c 2009/03/31 17:59:56 1.285 *************** *** 8,14 **** * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.283 2009/01/26 19:41:06 alvherre Exp $ * *------------------------------------------------------------------------- */ --- 8,14 ---- * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.284 2009/01/27 12:40:15 petere Exp $ * *------------------------------------------------------------------------- */ *************** formrdesc(const char *relationName, Oid *** 1396,1401 **** --- 1396,1407 ---- */ 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; *************** RelationBuildLocalRelation(const char *r *** 2398,2403 **** --- 2404,2412 ---- */ 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++)