summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Herrera2015-02-18 17:28:11 +0000
committerAlvaro Herrera2015-02-18 17:28:11 +0000
commit0d906798f680b2dd86cbc8d31ba64685aeb12092 (patch)
treedd975cd465a3e02afd6e471103cbafc196c01be5 /src
parent297b2c1ef9878f84a9951beadf831ef390227238 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/backend/catalog/objectaddress.c6
-rw-r--r--src/test/regress/expected/object_address.out2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index 825d8b2e131..2f407337fbf 100644
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -3415,6 +3415,7 @@ getObjectIdentityParts(const ObjectAddress *object,
{
HeapTuple conTup;
Form_pg_conversion conForm;
+ char *schema;
conTup = SearchSysCache1(CONVOID,
ObjectIdGetDatum(object->objectId));
@@ -3422,10 +3423,13 @@ getObjectIdentityParts(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)));
if (objname)
*objname = list_make1(pstrdup(NameStr(conForm->conname)));
+ pfree(schema);
ReleaseSysCache(conTup);
break;
}
diff --git a/src/test/regress/expected/object_address.out b/src/test/regress/expected/object_address.out
index 8e11b427590..05e0e12845e 100644
--- a/src/test/regress/expected/object_address.out
+++ b/src/test/regress/expected/object_address.out
@@ -370,7 +370,7 @@ SELECT (pg_identify_object(addr1.classid, addr1.objid, addr1.subobjid)).*,
cast | | | (bigint AS integer) | t
table constraint | addr_nsp | | a_chk on addr_nsp.gentable | t
domain constraint | addr_nsp | | domconstr on addr_nsp.gendomain | t
- conversion | pg_catalog | ascii_to_mic | ascii_to_mic | t
+ conversion | pg_catalog | ascii_to_mic | pg_catalog.ascii_to_mic | t
language | | plpgsql | plpgsql | t
schema | | addr_nsp | addr_nsp | t
operator class | pg_catalog | int4_ops | pg_catalog.int4_ops for btree | t