diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-09-04 22:00:30 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-09-04 22:00:30 +0000 |
commit | 0e14dfe0fb4930303597811fd211bf1d4c499010 (patch) | |
tree | 15cfc131c5574c2b5a52307f3dfc2401bad0938e /src/backend/utils/cache/syscache.c | |
parent | cb36c0f6821d52c30e99192bfe31d8becb9931ff (diff) | |
download | postgresql-0e14dfe0fb4930303597811fd211bf1d4c499010.tar.gz postgresql-0e14dfe0fb4930303597811fd211bf1d4c499010.zip |
Intercept temp table lookups further up to map temp names.
Diffstat (limited to 'src/backend/utils/cache/syscache.c')
-rw-r--r-- | src/backend/utils/cache/syscache.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index 470780676c2..c9c7770f8cc 100644 --- a/src/backend/utils/cache/syscache.c +++ b/src/backend/utils/cache/syscache.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.34 1999/08/09 03:13:30 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.35 1999/09/04 22:00:30 momjian Exp $ * * NOTES * These routines allow the parser/planner/executor to perform @@ -35,6 +35,7 @@ #include "catalog/pg_shadow.h" #include "catalog/pg_type.h" #include "utils/catcache.h" +#include "utils/temprel.h" extern bool AMI_OVERRIDE; /* XXX style */ @@ -487,6 +488,16 @@ SearchSysCacheTuple(int cacheId,/* cache selection code */ cacheId); } + /* temp table name remapping */ + if (cacheId == RELNAME) + { + char *nontemp_relname; + + if ((nontemp_relname = + get_temp_rel_by_name(DatumGetPointer(key1))) != NULL) + key1 = PointerGetDatum(nontemp_relname); + } + tp = SearchSysCache(SysCache[cacheId], key1, key2, key3, key4); if (!HeapTupleIsValid(tp)) { |