From: | Alvaro Herrera <alvherre(at)atentus(dot)com> |
---|---|
To: | Hannu Krosing <hannu(at)tm(dot)ee> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: DROP COLUMN misbehaviour with multiple inheritance |
Date: | 2002-09-29 19:05:01 |
Message-ID: | Pine.LNX.4.33.0209291454190.7205-100000@polluelo.lab.protecne.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
On 29 Sep 2002, Hannu Krosing wrote:
> On Sun, 2002-09-29 at 19:57, Tom Lane wrote:
> > Hannu Krosing <hannu(at)tm(dot)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[(at)]dcc(dot)uchile(dot)cl>)
"Nunca se desea ardientemente lo que solo se desea por razon" (F. Alexandre)
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2002-09-29 19:11:53 | psqlODBC *nix Makefile (new 7.3 open item?) |
Previous Message | Dave Page | 2002-09-29 18:51:44 | Re: Web site |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-09-30 03:48:18 | Re: DROP COLUMN misbehaviour with multiple inheritance |
Previous Message | Hannu Krosing | 2002-09-29 17:29:32 | Re: DROP COLUMN misbehaviour with multiple inheritance |