Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default
Date: 2021-06-10 23:11:03
Message-ID: 1816295.1623366663@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> On 6/10/21 6:10 PM, Tom Lane wrote:
>> Hmm. The equivalent DDL on a plain table works fine, but this is
>> crashing in the code that manipulates attmissingval. I suspect some
>> confusion about whether a foreign table column should even *have*
>> attmissingval. Andrew, any thoughts?

> My initial thought would be that it should not. If the foreign table has
> rows with missing columns then it should be up to the foreign server to
> supply them transparently. We have no notion what the foreign semantics
> of missing columns are.

Yeah, that was kind of what I thought. Probably only RELKIND_RELATION
rels should ever have attmissingval; but certainly, anything without
local storage should not.

> I can take a look at a fix tomorrow. My inclination would be simply to
> skip setting attmissingval for foreign tables.

Seems like in addition to that, we'll need a defense in this specific
code to cope with the case where the foreign column already has an
attmissingval. Or maybe, the logic to not store a new one will be enough
to keep us from reaching this crash; but we need to be sure it is enough.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-06-11 00:03:27 Re: BUG #17054: Memory corruption in logical replication worker when replicating into partitioned table
Previous Message Andrew Dunstan 2021-06-10 22:55:05 Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2021-06-10 23:26:28 Re: "an SQL" vs. "a SQL"
Previous Message Andrew Dunstan 2021-06-10 22:55:05 Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default