diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml
index 9137a965a7..0c1db070ed 100644
--- a/doc/src/sgml/fdwhandler.sgml
+++ b/doc/src/sgml/fdwhandler.sgml
@@ -1323,20 +1323,6 @@ GetForeignTable(Oid relid);
-UserMapping *
-GetUserMappingById(Oid umid);
-
-
- This function returns the UserMapping object for
- the given user mapping OID. The OID of a user mapping for a foreign scan
- is available in the RelOptInfo.
- If there is no mapping for the OID, this function will throw an error.
- A UserMapping object contains properties of the
- user mapping (see foreign/foreign.h for details).
-
-
-
-
List *
GetForeignColumnOptions(Oid relid, AttrNumber attnum);
diff --git a/src/backend/foreign/foreign.c b/src/backend/foreign/foreign.c
index 66f98f1c7e..242d6d2696 100644
--- a/src/backend/foreign/foreign.c
+++ b/src/backend/foreign/foreign.c
@@ -31,8 +31,6 @@
extern Datum pg_options_to_table(PG_FUNCTION_ARGS);
extern Datum postgresql_fdw_validator(PG_FUNCTION_ARGS);
-static HeapTuple find_user_mapping(Oid userid, Oid serverid);
-
/*
* GetForeignDataWrapper - look up the foreign-data wrapper by OID.
@@ -161,54 +159,6 @@ GetForeignServerByName(const char *srvname, bool missing_ok)
return GetForeignServer(serverid);
}
-/*
- * GetUserMappingById - look up the user mapping by its OID.
- */
-UserMapping *
-GetUserMappingById(Oid umid)
-{
- Datum datum;
- HeapTuple tp;
- bool isnull;
- UserMapping *um;
-
- tp = SearchSysCache1(USERMAPPINGOID, ObjectIdGetDatum(umid));
- if (!HeapTupleIsValid(tp))
- elog(ERROR, "cache lookup failed for user mapping %u", umid);
-
- um = (UserMapping *) palloc(sizeof(UserMapping));
- um->umid = umid;
-
- /* Extract the umuser */
- datum = SysCacheGetAttr(USERMAPPINGOID,
- tp,
- Anum_pg_user_mapping_umuser,
- &isnull);
- Assert(!isnull);
- um->userid = DatumGetObjectId(datum);
-
- /* Extract the umserver */
- datum = SysCacheGetAttr(USERMAPPINGOID,
- tp,
- Anum_pg_user_mapping_umserver,
- &isnull);
- Assert(!isnull);
- um->serverid = DatumGetObjectId(datum);
-
- /* Extract the umoptions */
- datum = SysCacheGetAttr(USERMAPPINGOID,
- tp,
- Anum_pg_user_mapping_umoptions,
- &isnull);
- if (isnull)
- um->options = NIL;
- else
- um->options = untransformRelOptions(datum);
-
- ReleaseSysCache(tp);
-
- return um;
-}
/*
* GetUserMapping - look up the user mapping.
@@ -224,7 +174,23 @@ GetUserMapping(Oid userid, Oid serverid)
bool isnull;
UserMapping *um;
- tp = find_user_mapping(userid, serverid);
+ tp = SearchSysCache2(USERMAPPINGUSERSERVER,
+ ObjectIdGetDatum(userid),
+ ObjectIdGetDatum(serverid));
+
+ if (!HeapTupleIsValid(tp))
+ {
+ /* Not found for the specific user -- try PUBLIC */
+ tp = SearchSysCache2(USERMAPPINGUSERSERVER,
+ ObjectIdGetDatum(InvalidOid),
+ ObjectIdGetDatum(serverid));
+ }
+
+ if (!HeapTupleIsValid(tp))
+ ereport(ERROR,
+ (errcode(ERRCODE_UNDEFINED_OBJECT),
+ errmsg("user mapping not found for \"%s\"",
+ MappingUserName(userid))));
um = (UserMapping *) palloc(sizeof(UserMapping));
um->umid = HeapTupleGetOid(tp);
@@ -246,60 +212,6 @@ GetUserMapping(Oid userid, Oid serverid)
return um;
}
-/*
- * GetUserMappingId - look up the user mapping, and return its OID
- *
- * If no mapping is found for the supplied user, we also look for
- * PUBLIC mappings (userid == InvalidOid).
- */
-Oid
-GetUserMappingId(Oid userid, Oid serverid)
-{
- HeapTuple tp;
- Oid umid;
-
- tp = find_user_mapping(userid, serverid);
-
- /* Extract the Oid */
- umid = HeapTupleGetOid(tp);
-
- ReleaseSysCache(tp);
-
- return umid;
-}
-
-/*
- * find_user_mapping - Guts of GetUserMapping family.
- *
- * If no mapping is found for the supplied user, we also look for
- * PUBLIC mappings (userid == InvalidOid).
- */
-static HeapTuple
-find_user_mapping(Oid userid, Oid serverid)
-{
- HeapTuple tp;
-
- tp = SearchSysCache2(USERMAPPINGUSERSERVER,
- ObjectIdGetDatum(userid),
- ObjectIdGetDatum(serverid));
-
- if (HeapTupleIsValid(tp))
- return tp;
-
- /* Not found for the specific user -- try PUBLIC */
- tp = SearchSysCache2(USERMAPPINGUSERSERVER,
- ObjectIdGetDatum(InvalidOid),
- ObjectIdGetDatum(serverid));
-
- if (!HeapTupleIsValid(tp))
- ereport(ERROR,
- (errcode(ERRCODE_UNDEFINED_OBJECT),
- errmsg("user mapping not found for \"%s\"",
- MappingUserName(userid))));
-
- return tp;
-}
-
/*
* GetForeignTable - look up the foreign table definition by relation oid.
diff --git a/src/include/foreign/foreign.h b/src/include/foreign/foreign.h
index ad586e446a..5dc2c90f3c 100644
--- a/src/include/foreign/foreign.h
+++ b/src/include/foreign/foreign.h
@@ -72,8 +72,6 @@ typedef struct ForeignTable
extern ForeignServer *GetForeignServer(Oid serverid);
extern ForeignServer *GetForeignServerByName(const char *name, bool missing_ok);
extern UserMapping *GetUserMapping(Oid userid, Oid serverid);
-extern Oid GetUserMappingId(Oid userid, Oid serverid);
-extern UserMapping *GetUserMappingById(Oid umid);
extern ForeignDataWrapper *GetForeignDataWrapper(Oid fdwid);
extern ForeignDataWrapper *GetForeignDataWrapperByName(const char *name,
bool missing_ok);