diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 351ae7c6bc..c534db71a4 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.69 1999/09/04 18:42:13 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.70 1999/09/04 21:47:23 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -56,6 +56,7 @@ #include "utils/builtins.h" #include "utils/catcache.h" #include "utils/relcache.h" +#include "utils/temprel.h" static void RelationFlushRelation(Relation *relationPtr, @@ -1182,6 +1183,7 @@ RelationIdGetRelation(Oid relationId) Relation RelationNameGetRelation(char *relationName) { + char *temprelname; Relation rd; RelationBuildDescInfo buildinfo; @@ -1192,6 +1194,15 @@ RelationNameGetRelation(char *relationName) IncrHeapAccessStat(local_RelationNameGetRelation); IncrHeapAccessStat(global_RelationNameGetRelation); + /* ---------------- + * if caller is looking for a temp relation, substitute its real name; + * we only index temp rels by their real names. + * ---------------- + */ + temprelname = get_temp_rel_by_name(relationName); + if (temprelname) + relationName = temprelname; + /* ---------------- * first try and get a reldesc from the cache * ---------------- @@ -1212,26 +1223,6 @@ RelationNameGetRelation(char *relationName) return rd; } -/* ---------------- - * old "getreldesc" interface. - * ---------------- - */ -#ifdef NOT_USED -Relation -getreldesc(char *relationName) -{ - /* ---------------- - * increment access statistics - * ---------------- - */ - IncrHeapAccessStat(local_getreldesc); - IncrHeapAccessStat(global_getreldesc); - - return RelationNameGetRelation(relationName); -} - -#endif - /* ---------------------------------------------------------------- * cache invalidation support routines * ----------------------------------------------------------------