Обсуждение: 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