Re: Re: Changing the default value of an inherited column

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: Re: Changing the default value of an inherited column
Дата
Msg-id Pine.LNX.4.30.0103302259010.1063-100000@peter.localdomain
обсуждение исходный текст
Ответ на Re: Re: Changing the default value of an inherited column  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Re: Changing the default value of an inherited column  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Re: Changing the default value of an inherited column  (ncm@zembu.com (Nathan Myers))
Список pgsql-hackers
Tom Lane writes:

> 3. The new column will have a default value if any of the combined
> column specifications have one.  The last-specified default (the one
> in the explicitly given column list, or the rightmost parent table
> that gives a default) will be used.

This seems pretty random.  It would be more reasonable if multiple
(default) inheritance weren't allowed unless you explicitly specify a new
default for the new column, but we don't have a syntax for this.

> 4. All relevant constraints from all the column specifications will
> be applied.  In particular, if any of the specifications includes NOT
> NULL, the resulting column will be NOT NULL.  (But the current
> implementation does not support inheritance of UNIQUE or PRIMARY KEY
> constraints, and I do not have time to add that now.)

This is definitely a violation of that Liskov Substitution.  If a context
expects a certain table and gets a more restricted table, it will
certainly notice.

> Comments?  I'm going to implement and commit this today unless I hear
> loud squawks ...

If we're going to make changes to the inheritance logic, we could
certainly use some more thought than a few hours.  If you want to revert
the patch that was installed in 7.0 then ok, but the rest is not
appropriate right now, IMHO.

-- 
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/



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

Предыдущее
От: Mike Mascari
Дата:
Сообщение: RE: 7.1 pg_dump fails for user-defined types (release stopper?)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Re: Changing the default value of an inherited column