Ühel kenal päeval, E, 2006-03-06 kell 17:25, kirjutas Bruce Momjian: > Hannu Krosing wrote: > > ?hel kenal p?eval, E, 2006-03-06 kell 12:12, kirjutas Bruce Momjian: > > > Added to TODO: > > > > > > o Prevent parent tables from altering or dropping constraints > > > like CHECK that are inherited by child tables > > > > > > Dropping constraints should only be possible with CASCADE. > > > > > > and we already have this in TODO: > > > > > > o %Prevent child tables from altering or dropping constraints > > > like CHECK that were inherited from the parent table > > > > > > so I think we now have all the failure cases documented. > > > > If you want to be consistent, then ALTER TABLE ONLY ADD CONSTRAINT .. > > should also be forbidden, so you can't create non-inherited constraints > > I don't have a problem with creating ONLY constraints on parents and > children. We just don't want them to be removed/modified if they are > shared.
Well, when you delete a constraint from child, the constraint becomes an "ONLY" constraint on parent. If you allow ONLY constraints on parents, then why disallow dropping them from childs ? IIRC the original complaint about being able to drop constraints from children was that inherited tables not being bound by constraints on parents was unexpected/broken. I.E when you have CREATE TABLE T(i int check (i>0)); then you would be really surprised by getting -1 out from that table. --------------- Hannu ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq