Hannu Krosing wrote: > Ühel kenal päeval, K, 2006-05-24 kell 09:40, kirjutas Tom Lane: > > Simon Riggs <[EMAIL PROTECTED]> writes: > > > On Wed, 2006-05-24 at 11:17 +0300, Hannu Krosing wrote: > > >> Why "never set back again" ? I'd guess that it should be set back to > > >> true when it is not an inherited column anymore, that is when its > > >> attinhcount reaches zero. > > > > > Because you have no record of whether it was created locally or > > > inherited when originally created. And: do you care? Why? > > > > The invariant is supposed to be that every attribute has attislocal > > true or attinhcount > 0 (or both). > > In what case does it have both ?
create table parent (foo int); create table child (foo int) inherits (parent); In the child, the column is local but it's also inherited from parent. So if you drop the column from the parent, it should be kept in the child. > > Otherwise it has no justification > > to exist. I see in the regression database that someone has broken > > this invariant; it looks like LIKE inheritance is misimplemented. > > I don't think that LIKE inheritance is inheritance at all, rather it is > a create-time macro. In that case the columns should be marked attislocal. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster