Fix object identities for pg_conversion objects

We were neglecting to schema-qualify them.

Backpatch to 9.3, where object identities were introduced as a concept
by commit f8348ea32ec8.
This commit is contained in:
Alvaro Herrera 2015-02-18 14:28:12 -03:00
parent a7ad5cf0cf
commit a196e67f93

View File

@ -2785,6 +2785,7 @@ getObjectIdentity(const ObjectAddress *object)
{ {
HeapTuple conTup; HeapTuple conTup;
Form_pg_conversion conForm; Form_pg_conversion conForm;
char *schema;
conTup = SearchSysCache1(CONVOID, conTup = SearchSysCache1(CONVOID,
ObjectIdGetDatum(object->objectId)); ObjectIdGetDatum(object->objectId));
@ -2792,8 +2793,11 @@ getObjectIdentity(const ObjectAddress *object)
elog(ERROR, "cache lookup failed for conversion %u", elog(ERROR, "cache lookup failed for conversion %u",
object->objectId); object->objectId);
conForm = (Form_pg_conversion) GETSTRUCT(conTup); conForm = (Form_pg_conversion) GETSTRUCT(conTup);
appendStringInfo(&buffer, "%s", schema = get_namespace_name(conForm->connamespace);
quote_identifier(NameStr(conForm->conname))); appendStringInfoString(&buffer,
quote_qualified_identifier(schema,
NameStr(conForm->conname)));
pfree(schema);
ReleaseSysCache(conTup); ReleaseSysCache(conTup);
break; break;
} }