Laurenz Albe <laurenz.a...@cybertec.at> writes: > We throw an error if the expression in a CREATE INDEX statement is not > IMMUTABLE. > But while the documentation notes that expressions in CHECK constraints are > not > to be immutable, we don't enforce that. Why don't we call something like > CheckMutability inside cookConstraint? Sure, that wouldn't catch all abuse, > but it would be better than nothing.
> There is of course the worry of breaking upgrade for unsafe constraints, but > is > there any other reason not to enforce immutability? Yeah, that's exactly it, it's a historical exemption for compatibility reasons. There are discussions about this in the archives, if memory serves ... but I'm too tired to go digging. regards, tom lane