Dennis Cote wrote:
What happens to the ROWID when the transaction is rolled back? Is it as if the record with that ROWID was deleted?

Yes


If I understand it correctly, connection C1 can do an INSERT, get ROWID 4, C2 does an INSERT, gets 5, and commits, and then C1 commits, with its 4; if C1 rolled back, there's no 4 in the database, just 5 and whatever else, correct?

No, this can't happen. As soon as C1 does its insert, it acquires an exclusive lock on the database. C2 can't do an insert until C1 either commits or rolls back and releases the lock. If C1 committed, then C2 will get 5, if C1 rolled back, then C2 will get 4.

All is clear now. Thank you :-).

- Michael

--
mouse, n: a device for pointing at the xterm in which you want to type.
        -- Fortune
Visit me on the Web: http://www.elehack.net

Reply via email to