Greg Nancarrow <gregn4422@gmail.com> writes:
> I've attached a patch which addresses that and replaces a couple of
> memcpy()s with struct assignment, as suggested.
Removing this is not good:
if (relation->rd_pubactions)
- {
pfree(relation->rd_pubactions);
- relation->rd_pubactions = NULL;
- }
If the subsequent palloc fails, you've created a problem where
there was none before.
I do wonder why we have to palloc a constant-size substructure in
the first place, especially one that is likely smaller than the
pointer that points to it. Maybe the struct definition should be
moved so that we can just declare it in-line in the relcache entry?
regards, tom lane