Bonjour,

Je suis en Postgresql 8.3.3 sur Windows XP.
J'ai 2 schéma, avec dans le second une table héritée du premier schéma.
Voici les scripts de création :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
create schema test1;
create schema test2;
 
create table test1.point (code char(16), test1 char(2), test2 char(3));
create table test2.point (code2 char(16)) INHERITS (test1.point);
Je dois réaliser un script qui supprime la colonne test2.
Or, pour des raisons de maintenant, j'ai du faire "sauter" temporairement l'héritage de ma table point dans le schéma test2, comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
alter table test2.point no inherit test1.point;
alter table test2.point inherit test1.point;
Du coup, maintenant, alors que l'héritage a bien été rétabli, la suppression d'une colonne dans la table mère ne se propage plus dans la table fille .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
alter table test1.point drop column test2 cascade;
La colonne test2 n'est plus dans test1.point, mais elle est toujours dans test2.point.
Pourtant, d'après la doc Postgresql, elle aurait aussi dû être supprimée... Et c'est bien ce qui se passe si je ne supprime pas temporairement l'héritage par la commande ALTER.

Est-ce que c'est un bug ?

ced