@@ -1513,12 +1513,6 @@ pg_get_object_address(PG_FUNCTION_ARGS)
15131513 */
15141514switch (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 ;
15221516case OBJECT_DOMCONSTRAINT :
15231517case OBJECT_OPCLASS :
15241518case OBJECT_OPFAMILY :
@@ -3370,7 +3364,8 @@ getObjectIdentityParts(const ObjectAddress *object,
33703364quote_qualified_identifier (schema ,
33713365NameStr (coll -> collname )));
33723366if (objname )
3373- * objname = list_make2 (schema ,NameStr (coll -> collname ));
3367+ * objname = list_make2 (schema ,
3368+ pstrdup (NameStr (coll -> collname )));
33743369ReleaseSysCache (collTup );
33753370break ;
33763371}
@@ -3667,7 +3662,7 @@ getObjectIdentityParts(const ObjectAddress *object,
36673662quote_identifier (NameStr (rule -> rulename )));
36683663getRelationIdentity (& buffer ,rule -> ev_class ,objname );
36693664if (objname )
3670- * objname = lappend (* objname ,NameStr (rule -> rulename ));
3665+ * objname = lappend (* objname ,pstrdup ( NameStr (rule -> rulename ) ));
36713666
36723667heap_close (ruleDesc ,AccessShareLock );
36733668break ;
@@ -3693,7 +3688,7 @@ getObjectIdentityParts(const ObjectAddress *object,
36933688quote_identifier (NameStr (trig -> tgname )));
36943689getRelationIdentity (& buffer ,trig -> tgrelid ,objname );
36953690if (objname )
3696- * objname = lappend (* objname ,NameStr (trig -> tgname ));
3691+ * objname = lappend (* objname ,pstrdup ( NameStr (trig -> tgname ) ));
36973692
36983693heap_close (trigDesc ,AccessShareLock );
36993694break ;
@@ -3719,7 +3714,7 @@ getObjectIdentityParts(const ObjectAddress *object,
37193714quote_identifier (NameStr (policy -> polname )));
37203715getRelationIdentity (& buffer ,policy -> polrelid ,objname );
37213716if (objname )
3722- * objname = lappend (* objname ,NameStr (policy -> polname ));
3717+ * objname = lappend (* objname ,pstrdup ( NameStr (policy -> polname ) ));
37233718
37243719heap_close (polDesc ,AccessShareLock );
37253720break ;