@@ -1513,12 +1513,6 @@ pg_get_object_address(PG_FUNCTION_ARGS)
1513
1513
*/
1514
1514
switch (type )
1515
1515
{
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 ;
1522
1516
case OBJECT_DOMCONSTRAINT :
1523
1517
case OBJECT_OPCLASS :
1524
1518
case OBJECT_OPFAMILY :
@@ -3370,7 +3364,8 @@ getObjectIdentityParts(const ObjectAddress *object,
3370
3364
quote_qualified_identifier (schema ,
3371
3365
NameStr (coll -> collname )));
3372
3366
if (objname )
3373
- * objname = list_make2 (schema , NameStr (coll -> collname ));
3367
+ * objname = list_make2 (schema ,
3368
+ pstrdup (NameStr (coll -> collname )));
3374
3369
ReleaseSysCache (collTup );
3375
3370
break ;
3376
3371
}
@@ -3667,7 +3662,7 @@ getObjectIdentityParts(const ObjectAddress *object,
3667
3662
quote_identifier (NameStr (rule -> rulename )));
3668
3663
getRelationIdentity (& buffer , rule -> ev_class , objname );
3669
3664
if (objname )
3670
- * objname = lappend (* objname , NameStr (rule -> rulename ));
3665
+ * objname = lappend (* objname , pstrdup ( NameStr (rule -> rulename ) ));
3671
3666
3672
3667
heap_close (ruleDesc , AccessShareLock );
3673
3668
break ;
@@ -3693,7 +3688,7 @@ getObjectIdentityParts(const ObjectAddress *object,
3693
3688
quote_identifier (NameStr (trig -> tgname )));
3694
3689
getRelationIdentity (& buffer , trig -> tgrelid , objname );
3695
3690
if (objname )
3696
- * objname = lappend (* objname , NameStr (trig -> tgname ));
3691
+ * objname = lappend (* objname , pstrdup ( NameStr (trig -> tgname ) ));
3697
3692
3698
3693
heap_close (trigDesc , AccessShareLock );
3699
3694
break ;
@@ -3719,7 +3714,7 @@ getObjectIdentityParts(const ObjectAddress *object,
3719
3714
quote_identifier (NameStr (policy -> polname )));
3720
3715
getRelationIdentity (& buffer , policy -> polrelid , objname );
3721
3716
if (objname )
3722
- * objname = lappend (* objname , NameStr (policy -> polname ));
3717
+ * objname = lappend (* objname , pstrdup ( NameStr (policy -> polname ) ));
3723
3718
3724
3719
heap_close (polDesc , AccessShareLock );
3725
3720
break ;
0 commit comments