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

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, 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-14 19:13:21
Message-ID: 202106141913.cbzfrrcoinxx@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On 2021-Jun-12, Andrew Dunstan wrote:

> + /* Don't do anything unless it's a RELKIND type relation */
> + if (tablerel->rd_rel->relkind != RELKIND_RELATION)
> + {
> + table_close(tablerel, AccessExclusiveLock);
> + return;
> + }

"RELKIND type relation" is the wrong phrase ... maybe "it's a plain
table" is good enough? (Ditto in RelationBuildTupleDesc).

> /*
> * Here we go --- change the recorded column type and collation. (Note
> * heapTup is a copy of the syscache entry, so okay to scribble on.) First
> - * fix up the missing value if any.
> + * fix up the missing value if any. There shouldn't be any missing values
> + * for anything except RELKIND_RELATION relations, but if there are, ignore
> + * them.
> */
> - if (attTup->atthasmissing)
> + if (rel->rd_rel->relkind == RELKIND_RELATION && attTup->atthasmissing)

Would it be sensible to have a macro "AttributeHasMissingVal(rel,
attTup)", to use instead of reading atthasmissing directly? The macro
would check the relkind, and also serve as documentation that said check
is necessary.

--
Álvaro Herrera 39°49'30"S 73°17'W
"Uno puede defenderse de los ataques; contra los elogios se esta indefenso"

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andrew Dunstan 2021-06-14 20:29:06 Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default
Previous Message Andrew Dunstan 2021-06-14 11:33:39 Fwd: 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 Robert Haas 2021-06-14 19:19:16 Re: Race condition in recovery?
Previous Message Robert Haas 2021-06-14 19:04:37 Re: Position of ClientAuthentication hook