Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit ba66c9d

Browse files
committed
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.
1 parent c168c88 commit ba66c9d

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

src/backend/catalog/objectaddress.c

+5-10
Original file line numberDiff line numberDiff line change
@@ -1513,12 +1513,6 @@ pg_get_object_address(PG_FUNCTION_ARGS)
15131513
*/
15141514
switch (type)
15151515
{
1516-
case OBJECT_LARGEOBJECT:
1517-
if (list_length(name) != 1)
1518-
ereport(ERROR,
1519-
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
1520-
errmsg("name list length must be exactly %d", 1)));
1521-
break;
15221516
case OBJECT_DOMCONSTRAINT:
15231517
case OBJECT_OPCLASS:
15241518
case OBJECT_OPFAMILY:
@@ -3370,7 +3364,8 @@ getObjectIdentityParts(const ObjectAddress *object,
33703364
quote_qualified_identifier(schema,
33713365
NameStr(coll->collname)));
33723366
if (objname)
3373-
*objname = list_make2(schema, NameStr(coll->collname));
3367+
*objname = list_make2(schema,
3368+
pstrdup(NameStr(coll->collname)));
33743369
ReleaseSysCache(collTup);
33753370
break;
33763371
}
@@ -3667,7 +3662,7 @@ getObjectIdentityParts(const ObjectAddress *object,
36673662
quote_identifier(NameStr(rule->rulename)));
36683663
getRelationIdentity(&buffer, rule->ev_class, objname);
36693664
if (objname)
3670-
*objname = lappend(*objname, NameStr(rule->rulename));
3665+
*objname = lappend(*objname, pstrdup(NameStr(rule->rulename)));
36713666

36723667
heap_close(ruleDesc, AccessShareLock);
36733668
break;
@@ -3693,7 +3688,7 @@ getObjectIdentityParts(const ObjectAddress *object,
36933688
quote_identifier(NameStr(trig->tgname)));
36943689
getRelationIdentity(&buffer, trig->tgrelid, objname);
36953690
if (objname)
3696-
*objname = lappend(*objname, NameStr(trig->tgname));
3691+
*objname = lappend(*objname, pstrdup(NameStr(trig->tgname)));
36973692

36983693
heap_close(trigDesc, AccessShareLock);
36993694
break;
@@ -3719,7 +3714,7 @@ getObjectIdentityParts(const ObjectAddress *object,
37193714
quote_identifier(NameStr(policy->polname)));
37203715
getRelationIdentity(&buffer, policy->polrelid, objname);
37213716
if (objname)
3722-
*objname = lappend(*objname, NameStr(policy->polname));
3717+
*objname = lappend(*objname, pstrdup(NameStr(policy->polname)));
37233718

37243719
heap_close(polDesc, AccessShareLock);
37253720
break;

0 commit comments

Comments
 (0)