Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 c7c8f4b1a36bf76771538468084cf8f87dfcd75d..2d460bebe011afe2365365f40f50ac70e7140c32 100644 (file)
@@ -2808,6 +2808,7 @@ getObjectIdentity(const ObjectAddress *object)
            {
                HeapTuple   conTup;
                Form_pg_conversion conForm;
+               char       *schema;
 
                conTup = SearchSysCache1(CONVOID,
                                         ObjectIdGetDatum(object->objectId));
@@ -2815,8 +2816,11 @@ getObjectIdentity(const ObjectAddress *object)
                    elog(ERROR, "cache lookup failed for conversion %u",
                         object->objectId);
                conForm = (Form_pg_conversion) GETSTRUCT(conTup);
+               schema = get_namespace_name(conForm->connamespace);
                appendStringInfoString(&buffer,
-                               quote_identifier(NameStr(conForm->conname)));
+                               quote_qualified_identifier(schema,
+                                                          NameStr(conForm->conname)));
+               pfree(schema);
                ReleaseSysCache(conTup);
                break;
            }