From 3953b62e2f95cdb1234d5965d69b9c05ea33bded Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Wed, 7 Oct 2026 18:28:34 +1100 Subject: [PATCH v20261007] Remove function get_qualified_objname. After patch 0001 is applied there remains only a single caller of the function get_qualified_objname(). It hardly seems necessary, so let's remove that now by inlining the code. NOTE: get_qualified_objname() was added in PG 19, so removing it in master would affect any extension that adopted it during the 19 cycle. Author: Peter Smith Reviewed-by: Ajin Cherian Discussion: TBA --- src/backend/utils/adt/ruleutils.c | 11 +++++++++-- src/backend/utils/cache/lsyscache.c | 20 -------------------- src/include/utils/lsyscache.h | 1 - 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 5e8e1683db0..57cf8a56798 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -13409,6 +13409,8 @@ generate_qualified_relation_name(Oid relid) { HeapTuple tp; Form_pg_class reltup; + Oid nspid; + char *nspname; char *result; tp = SearchSysCache1(RELOID, ObjectIdGetDatum(relid)); @@ -13416,8 +13418,13 @@ generate_qualified_relation_name(Oid relid) elog(ERROR, "cache lookup failed for relation %u", relid); reltup = (Form_pg_class) GETSTRUCT(tp); - result = get_qualified_objname(reltup->relnamespace, - NameStr(reltup->relname)); + nspid = reltup->relnamespace; + nspname = get_namespace_name_or_temp(nspid); + if (!nspname) + elog(ERROR, "cache lookup failed for namespace %u", nspid); + + result = quote_qualified_identifier(nspname, NameStr(reltup->relname)); + ReleaseSysCache(tp); return result; diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c index 65b2d64529a..0eb06c62015 100644 --- a/src/backend/utils/cache/lsyscache.c +++ b/src/backend/utils/cache/lsyscache.c @@ -3709,26 +3709,6 @@ get_namespace_name_or_temp(Oid nspid) return get_namespace_name(nspid); } -/* - * get_qualified_objname - * Returns a palloc'd string containing the schema-qualified name of the - * object for the given namespace ID and object name. - */ -char * -get_qualified_objname(Oid nspid, char *objname) -{ - char *nspname; - char *result; - - nspname = get_namespace_name_or_temp(nspid); - if (!nspname) - elog(ERROR, "cache lookup failed for namespace %u", nspid); - - result = quote_qualified_identifier(nspname, objname); - - return result; -} - /* ---------- PG_RANGE CACHES ---------- */ /* diff --git a/src/include/utils/lsyscache.h b/src/include/utils/lsyscache.h index 171fbda9a71..43c34b349c0 100644 --- a/src/include/utils/lsyscache.h +++ b/src/include/utils/lsyscache.h @@ -202,7 +202,6 @@ extern bool get_attstatsslot(AttStatsSlot *sslot, HeapTuple statstuple, extern void free_attstatsslot(AttStatsSlot *sslot); extern char *get_namespace_name(Oid nspid); extern char *get_namespace_name_or_temp(Oid nspid); -extern char *get_qualified_objname(Oid nspid, char *objname); extern Oid get_range_subtype(Oid rangeOid); extern Oid get_range_collation(Oid rangeOid); extern Oid get_range_multirange(Oid rangeOid); -- 2.47.3