Subject Re: [firebird-support] Re: Possible bug with CHECK constraint
Author Geoff Worboys
>> As to why the standard should say to do it after the change.
>> I do not know. I cannot see any useful reason to do it this
>> way, I can only assume that a committee has been involved. ;-)

> I'm surprise you're saying this...

> As I have written before, a check constraint can be of
> different "levels".
> As, I believe, Ann already wrote:

> create un_table (c1 int unique)
> <insert rows>
> update un_table set c1 = c1 + 1
> is valid.
> Try it in Firebird :-)

Valid maybe, but it only works in certain situations, not
reliably. Insert the rows as: 5, 4, 3, 2, 1 and it works
(probably). Insert rows as 1, 2, 3, 4, 5 and it does not.
ie. The checking is still not deferred (whether it should
be or not I do not know). (FB v1.5.0).

To me, expecting the above to work reliably seems perverse.
I can understand the desire for deferred checks in some
situations, but as default behaviour it just seems odd.
Maybe thats just me. :-)

Geoff Worboys
Telesis Computing