Hi Nathan,
> > + {
> > + char *nsp = get_namespace_name(RelationGetNamespace(tempRel));
> > + char *temprelname = RelationGetRelationName(tempRel);
> > + char *diffrelname = psprintf("%s_%d", temprelname, 2);
>
> I assume the intent of the extra set of curly brackets is to keep the
> declarations of these variables close to where they are used. In this
> case, the top of the function is only a few lines up, so IMHO we should
> declare them there and save a level of indentation.
>
> > + pfree(diffrelname);
> > + if (nsp)
> > + pfree(nsp);
>
> Any reason to be so careful about freeing these? We ordinarily let the
> memory context take care of freeing, and refresh_by_match_merge() looks no
> different.
These were just a matter of my personal preferences. I have no strong
opinion on this. Here is the updated patch.
--
Best regards,
Aleksander Alekseev