diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2014-12-31 13:19:40 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2014-12-31 13:19:40 -0300 |
commit | ba66c9d0681f0c5ec834255fb4e7f6ef6b626747 (patch) | |
tree | 4b5a3777ac3ace681223659c2e6910f5b593163a /src | |
parent | c168c885776cd5d815611c10633ca04f699744e3 (diff) | |
download | postgresql-ba66c9d0681f0c5ec834255fb4e7f6ef6b626747.tar.gz postgresql-ba66c9d0681f0c5ec834255fb4e7f6ef6b626747.zip |
Add missing pstrdup calls
The one for the OCLASS_COLLATION case was noticed by
CLOBBER_CACHE_ALWAYS buildfarm members; the others I spotted by manual
code inspection.
Also remove a redundant check.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/catalog/objectaddress.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index cd763b3b91d..c637dbb9ef4 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -1513,12 +1513,6 @@ pg_get_object_address(PG_FUNCTION_ARGS) */ switch (type) { - case OBJECT_LARGEOBJECT: - if (list_length(name) != 1) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("name list length must be exactly %d", 1))); - break; case OBJECT_DOMCONSTRAINT: case OBJECT_OPCLASS: case OBJECT_OPFAMILY: @@ -3370,7 +3364,8 @@ getObjectIdentityParts(const ObjectAddress *object, quote_qualified_identifier(schema, NameStr(coll->collname))); if (objname) - *objname = list_make2(schema, NameStr(coll->collname)); + *objname = list_make2(schema, + pstrdup(NameStr(coll->collname))); ReleaseSysCache(collTup); break; } @@ -3667,7 +3662,7 @@ getObjectIdentityParts(const ObjectAddress *object, quote_identifier(NameStr(rule->rulename))); getRelationIdentity(&buffer, rule->ev_class, objname); if (objname) - *objname = lappend(*objname, NameStr(rule->rulename)); + *objname = lappend(*objname, pstrdup(NameStr(rule->rulename))); heap_close(ruleDesc, AccessShareLock); break; @@ -3693,7 +3688,7 @@ getObjectIdentityParts(const ObjectAddress *object, quote_identifier(NameStr(trig->tgname))); getRelationIdentity(&buffer, trig->tgrelid, objname); if (objname) - *objname = lappend(*objname, NameStr(trig->tgname)); + *objname = lappend(*objname, pstrdup(NameStr(trig->tgname))); heap_close(trigDesc, AccessShareLock); break; @@ -3719,7 +3714,7 @@ getObjectIdentityParts(const ObjectAddress *object, quote_identifier(NameStr(policy->polname))); getRelationIdentity(&buffer, policy->polrelid, objname); if (objname) - *objname = lappend(*objname, NameStr(policy->polname)); + *objname = lappend(*objname, pstrdup(NameStr(policy->polname))); heap_close(polDesc, AccessShareLock); break; |