Обсуждение: Re: [HACKERS] DROP COLUMN misbehaviour with multiple inheritance
Alvaro Herrera dijo: > All right, I now have all the catalog changes on place; this is the easy > part (is an int2 count enough?). > > But when actually dropping a column, the recursion cannot be done the > way it's done now, fetching the whole inheritor tree in one pass, > because there's no way to distinguish the direct ones that have the > attisinherited count greater than 1 from deeper ones; it has to be done > step by step. Done. I attach the patch. It's huge because it needs to touch pg_attribute.h, but it is relatively simple. This passes the regression tests and fixes the bug reported by Hannu. Please review and apply if OK. I didn't touch catversion.h. -- Alvaro Herrera (<alvherre[a]atentus.com>) "Cuando mañana llegue pelearemos segun lo que mañana exija" (Mowgli)
Вложения
I am keeing this patch so we have it to apply when we decide to force an
initdb:
http://candle.pha.pa.us/cgi-bin/pgpatches
---------------------------------------------------------------------------
Alvaro Herrera wrote:
> Alvaro Herrera dijo:
>
> > All right, I now have all the catalog changes on place; this is the easy
> > part (is an int2 count enough?).
> >
> > But when actually dropping a column, the recursion cannot be done the
> > way it's done now, fetching the whole inheritor tree in one pass,
> > because there's no way to distinguish the direct ones that have the
> > attisinherited count greater than 1 from deeper ones; it has to be done
> > step by step.
>
> Done. I attach the patch. It's huge because it needs to touch
> pg_attribute.h, but it is relatively simple. This passes the regression
> tests and fixes the bug reported by Hannu.
>
> Please review and apply if OK. I didn't touch catversion.h.
>
> --
> Alvaro Herrera (<alvherre[a]atentus.com>)
> "Cuando ma?ana llegue pelearemos segun lo que ma?ana exija" (Mowgli)
Content-Description:
[ Attachment, skipping... ]
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Patch applied by Tom. --------------------------------------------------------------------------- Alvaro Herrera wrote: > Alvaro Herrera dijo: > > > All right, I now have all the catalog changes on place; this is the easy > > part (is an int2 count enough?). > > > > But when actually dropping a column, the recursion cannot be done the > > way it's done now, fetching the whole inheritor tree in one pass, > > because there's no way to distinguish the direct ones that have the > > attisinherited count greater than 1 from deeper ones; it has to be done > > step by step. > > Done. I attach the patch. It's huge because it needs to touch > pg_attribute.h, but it is relatively simple. This passes the regression > tests and fixes the bug reported by Hannu. > > Please review and apply if OK. I didn't touch catversion.h. > > -- > Alvaro Herrera (<alvherre[a]atentus.com>) > "Cuando ma?ana llegue pelearemos segun lo que ma?ana exija" (Mowgli) Content-Description: [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073