Re: DROP COLUMN misbehaviour with multiple inheritance
От | Alvaro Herrera |
---|---|
Тема | Re: DROP COLUMN misbehaviour with multiple inheritance |
Дата | |
Msg-id | Pine.LNX.4.33.0209291454190.7205-100000@polluelo.lab.protecne.cl обсуждение исходный текст |
Ответ на | Re: DROP COLUMN misbehaviour with multiple inheritance (Hannu Krosing <hannu@tm.ee>) |
Ответы |
Re: DROP COLUMN misbehaviour with multiple inheritance
Re: DROP COLUMN misbehaviour with multiple inheritance |
Список | pgsql-hackers |
On 29 Sep 2002, Hannu Krosing wrote: > On Sun, 2002-09-29 at 19:57, Tom Lane wrote: > > Hannu Krosing <hannu@tm.ee> writes: > > > I'd propose that ADD ONLY would pull topmost attislocal up (reset it > > > from the (grand)child) whereas plain ADD would leave attislocal alone. > > > > ADD ONLY? There is no such animal as ADD ONLY, and cannot be because > > it implies making a parent inconsistent with its children. > > I meant ADD ONLY to be the exact opposite of DROP ONLY - it adds parent > column and removes attislocal from children. Simple ADD would _not_ > remove attislocal from children with matching column. Consistency requires that it be exactly the opposite. When you ADD ONLY, you want only in the "local" table, so children still have a local definition; OTOH, when you ADD (recursively) you want all children to get non-local status. Suppose CREATE TABLE p (f1 int); CREATE TABLE c (f2 int) INHERITS (p); c.f2.attislocal = true Now, ALTER TABLE ONLY p ADD COLUMN f2 int should leavy c.f2.attislocal alone, while ALTER TABLE p ADD COLUMN f2 int should reset it. This is the opposite of your proposal, and I don't think it exists in Tom's proposal. I think this is also consistent with the fact that ONLY requires the column to exist in all children, while non-ONLY creates it where it doesn't exist, and merges (resetting attislocal if set -- it could be inherited from some other parent) where it exists. -- Alvaro Herrera (<alvherre[@]dcc.uchile.cl>) "Nunca se desea ardientemente lo que solo se desea por razon" (F. Alexandre)
В списке pgsql-hackers по дате отправления: