Datum *values;
bool *nulls;
bool *replaces;
+ NameData nameattrdata;
oldtup = SearchSysCache1(oidCacheId, ObjectIdGetDatum(objectId));
if (!HeapTupleIsValid(oldtup))
values = palloc0(RelationGetNumberOfAttributes(rel) * sizeof(Datum));
nulls = palloc0(RelationGetNumberOfAttributes(rel) * sizeof(bool));
replaces = palloc0(RelationGetNumberOfAttributes(rel) * sizeof(bool));
- values[Anum_name - 1] = PointerGetDatum(new_name);
+ namestrcpy(&nameattrdata, new_name);
+ values[Anum_name - 1] = NameGetDatum(&nameattrdata);
replaces[Anum_name - 1] = true;
newtup = heap_modify_tuple(oldtup, RelationGetDescr(rel),
values, nulls, replaces);
HeapTuple tuple;
Datum values[Natts_pg_trigger];
bool nulls[Natts_pg_trigger];
+ NameData evtnamedata,
+ evteventdata;
ObjectAddress myself,
referenced;
/* Build the new pg_trigger tuple. */
memset(nulls, false, sizeof(nulls));
- values[Anum_pg_event_trigger_evtname - 1] = NameGetDatum(trigname);
- values[Anum_pg_event_trigger_evtevent - 1] = NameGetDatum(eventname);
+ namestrcpy(&evtnamedata, trigname);
+ values[Anum_pg_event_trigger_evtname - 1] = NameGetDatum(&evtnamedata);
+ namestrcpy(&evteventdata, eventname);
+ values[Anum_pg_event_trigger_evtevent - 1] = NameGetDatum(&evteventdata);
values[Anum_pg_event_trigger_evtowner - 1] = ObjectIdGetDatum(evtOwner);
values[Anum_pg_event_trigger_evtfoid - 1] = ObjectIdGetDatum(funcoid);
values[Anum_pg_event_trigger_evtenabled - 1] =