Ühel kenal päeval, K, 2006-05-24 kell 09:40, kirjutas Tom Lane:
> Simon Riggs <simon@2ndquadrant.com> 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 ?
Or is it so that 1) islocal means that column is not inherited from any parent 2) attinhcount is the number of direct
childrenwho inherit this
attribute
In this case it should be possible to keep both "right" and make both
ADD+DROP and DROP+ADD invariants.
> 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.
> I'm going to insist on a fix for that ;-)
Agreed.
--
----------------
Hannu Krosing
Database Architect
Skype Technologies OÜ
Akadeemia tee 21 F, Tallinn, 12618, Estonia
Skype me: callto:hkrosing
Get Skype for free: http://www.skype.com