Subject Re: [Firebird-general] Re: Snapshot Isolation in A Critique of ANSI SQL Isolation Levels
Author Ann W. Harrison
On 10/19/2010 8:00 AM, Claudio Valderrama C. wrote:
> And isn't there the possibility that a constraint that was validated
> (accepted) immediately, would fail if run when all actions have been done
> and commit is executed?

Actually no, some action must have caused the constraint to be
invalidated. As Firebird currently behaves (or did when I last
looked at it, which wasn't recent) you can have constraint
violations that aren't caught because they are validated from
the point of view of the active transaction, but that's independent
of whether they're validated immediately or on commit. The
correct implementation (as I told Jim 25 years ago) is to validate
all constraints from the omniscient view of the server, not just
uniqueness and referential integrity.