diff options
Diffstat (limited to 'src/backend/catalog/namespace.c')
| -rw-r--r-- | src/backend/catalog/namespace.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c index 5cdd51cb5d..e251f5a9fd 100644 --- a/src/backend/catalog/namespace.c +++ b/src/backend/catalog/namespace.c @@ -757,13 +757,23 @@ RelationIsVisible(Oid relid) /* * TypenameGetTypid + * Wrapper for binary compatibility. + */ +Oid +TypenameGetTypid(const char *typname) +{ + return TypenameGetTypidExtended(typname, true); +} + +/* + * TypenameGetTypidExtended * Try to resolve an unqualified datatype name. * Returns OID if type found in search path, else InvalidOid. * * This is essentially the same as RelnameGetRelid. */ Oid -TypenameGetTypid(const char *typname) +TypenameGetTypidExtended(const char *typname, bool temp_ok) { Oid typid; ListCell *l; @@ -774,6 +784,9 @@ TypenameGetTypid(const char *typname) { Oid namespaceId = lfirst_oid(l); + if (!temp_ok && namespaceId == myTempNamespace) + continue; /* do not look in temp namespace */ + typid = GetSysCacheOid2(TYPENAMENSP, Anum_pg_type_oid, PointerGetDatum(typname), ObjectIdGetDatum(namespaceId)); |
