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

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default
Дата
Msg-id 202106141913.cbzfrrcoinxx@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default
Список pgsql-bugs
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"



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Thomas Munro
Дата:
Сообщение: Re: BUG #17058: Unable to create collation in version 13.
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: BUG #17056: Segmentation fault on altering the type of the foreign table column with a default