Subject | Re: CHECK Constraints (was: Re: [firebird-support] Re: Checking periods don't overlap) |
---|---|
Author | Ann W. Harrison |
Post date | 2004-06-15T21:23:13Z |
Ivan,
versions are kept. I don't know that for a certainty, but if A rolls back to
the save point, it has to be able to recreate the state of the record before
the save point. I haven't traced the code, so I don't know that is the case.
My understanding is that the savepoint list carries record numbers around, not
values.
Regards,
Ann
>>* transaction A inserts row (e.g. 10), starts savepoint, and update thatI think that the case of starting a savepoint is exactly when multiple record
>>row (e.g. to 20)
>>* transaction B now CAN insert value 10, because at this point there is
>>NO other
>> record version with value 10 (with one minor exception there is always
>> only one record version per transaction), so select in check
>> constraint will not
>> find anything, even if it can see all record versions
versions are kept. I don't know that for a certainty, but if A rolls back to
the save point, it has to be able to recreate the state of the record before
the save point. I haven't traced the code, so I don't know that is the case.
My understanding is that the savepoint list carries record numbers around, not
values.
Regards,
Ann