]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix object identities for pg_conversion objects
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 18 Feb 2015 17:28:12 +0000 (14:28 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 18 Feb 2015 17:28:12 +0000 (14:28 -0300)
We were neglecting to schema-qualify them.

Backpatch to 9.3, where object identities were introduced as a concept
by commit f8348ea32ec8.

src/backend/catalog/objectaddress.c

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