Re: Adding a nullable DOMAIN column w/ CHECK

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Adding a nullable DOMAIN column w/ CHECK
Дата
Msg-id 9447.1410118301@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Adding a nullable DOMAIN column w/ CHECK  (Noah Misch <noah@leadboat.com>)
Список pgsql-hackers
Noah Misch <noah@leadboat.com> writes:
> On Sun, Sep 07, 2014 at 01:06:04PM -0400, Tom Lane wrote:
>> This objection could be met by doing a precheck to verify that the table
>> contains at least one live row.  That's pretty ugly and personally I'm not
>> sure it's necessary, but I think there's room to argue that it is.

> Yes; I doubt one could justify failing on an empty table as though it had been
> a one-row table.  I see a couple ways we could avoid the I/O and complexity:

> 1) If contain_leaky_functions() approves every constraint expression, test the
>    constraints once, and we're done.  Otherwise, proceed as we do today.

> 2) Test the constraints in a subtransaction.  If the subtransaction commits,
>    we're done.  Otherwise, proceed as we do today.

I'm not sure either of those is better than doing a single heap_getnext(),
which really should be pretty cheap except under pathological conditions.
It's the messiness I'm worried about more than the cost.
        regards, tom lane



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

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: Adding a nullable DOMAIN column w/ CHECK
Следующее
От: Petr Jelinek
Дата:
Сообщение: Re: Built-in binning functions