On Sat, 2003-11-22 at 12:02, D. Richard Hipp wrote: > It is more complicated than that. In order to maintain isolation > (the "I" in "ACID") the second commit must fail if at any time during > the transaction it read a value that was written by the first commit, > or if the first commit read a value that was written by the second > commit. Figuring out what the first commit has read or written is > likely to be difficult since the first commit has already occurred > and (presumably) its journal has already been deleted.
Not necessarily; You could keep a hash of the "expected row" when committing changes. If the hash doesn't match, fail the commit. A reader will also keep a journal- even though they're not making changes. A journal that contains hashes of every row it returned to the user [perhaps some optimizations can be done here- maybe it should only kick into this mode under certain circumstances] - these hashes are checked when we do ANY update/insert/delete on that process- not just the hashes of the rows for update. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]