From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | Greg Nancarrow <gregn4422(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Peter Smith <smithpb2250(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: PublicationActions - use bit flags. |
Date: | 2022-01-24 20:31:17 |
Message-ID: | 6b8191a0-e0f6-b204-e6c0-f7f1a5f349c0@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 21.01.22 01:05, Greg Nancarrow wrote:
> On Tue, Dec 21, 2021 at 12:55 PM Greg Nancarrow <gregn4422(at)gmail(dot)com> wrote:
>>
>> On Tue, Dec 21, 2021 at 11:56 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>
>>> 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.
>>>
>>
>> Oops, yeah, I got carried away; if palloc() failed and called exit(),
>> then it would end up crashing when trying to use/pfree rd_pubactions
>> again.
>> Better leave that line in ...
>>
>
> Attaching an updated patch to fix that oversight.
> This patch thus fixes the original palloc issue in a minimal way,
> keeping the same relcache structure.
Why can't GetRelationPublicationActions() have the PublicationActions as
a return value, instead of changing it to an output argument?
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2022-01-24 20:33:01 | Re: CREATEROLE and role ownership hierarchies |
Previous Message | Robert Haas | 2022-01-24 20:17:00 | Re: fairywren is generating bogus BASE_BACKUP commands |