Thread: Re: [HACKERS] DROP COLUMN misbehaviour with multiple inheritance

Re: [HACKERS] DROP COLUMN misbehaviour with multiple inheritance

From
Alvaro Herrera
Date:
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)

Attachment

Re: [HACKERS] DROP COLUMN misbehaviour with multiple inheritance

From
Bruce Momjian
Date:
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

Re: [HACKERS] DROP COLUMN misbehaviour with multiple inheritance

From
Bruce Momjian
Date:
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