Re: clean up docs for v12

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: clean up docs for v12
Дата
Msg-id 20637.1555957068@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: clean up docs for v12  (Andres Freund <andres@anarazel.de>)
Ответы Re: clean up docs for v12  (Andres Freund <andres@anarazel.de>)
Re: clean up docs for v12  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2019-04-22 13:27:17 -0400, Tom Lane wrote:
>> I wonder
>> also if it wouldn't be smart to explicitly check that the "guaranteeing"
>> column is not attisdropped.

> Yea, that probably would be smart.  I don't think there's an active
> problem, because we remove NOT NULL when deleting an attribute, but it
> seems good to be doubly sure / explain why that's safe:
>         /* Remove any NOT NULL constraint the column may have */
>         attStruct->attnotnull = false;
> I'm a bit unsure whether to make it an assert, elog(ERROR) or just not
> assume column presence?

I'd just make the code look like

        /*
         * If it's NOT NULL then it must be present in every tuple,
         * unless there's a "missing" entry that could provide a non-null
         * value for it.  Out of paranoia, also check !attisdropped.
         */
        if (att->attnotnull &&
            !att->atthasmissing &&
            !att->attisdropped)
            guaranteed_column_number = attnum;

I don't think the extra check is so expensive as to be worth obsessing
over.

            regards, tom lane



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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: pg_dump is broken for partition tablespaces
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pg_dump is broken for partition tablespaces