Re: PublicationActions - use bit flags.

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?

In response to

Responses

Browse pgsql-hackers by date

  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