> I think we can fix this by throwing an error only if this constraint > was added directly to the table and not through > inheritance/propagation from the parent, we can do this using the > "is_local" flag, i have checked and all tests passed.
Hmm, I'm not opposed to this; does it change any other behavior? I think it's important to see whether there are other corner cases that would react to this behavior change. For example, what would happen if two existing parents have a not-null constraint on the same column? Is there a change for combined LIKE and regular inheritance? I think we should have reasonable reactions to each of those scenarios:
create table parent (a int not null); create table parent2 (a int not null);