Re: Informix vs. Oracle
Posted in 1997
>From: Nils.Myklebust@idg.no (Nils Myklebust) >Date: Wed, 20 Aug 1997 18:39:53 GMT >X-Informix-List-Id: <news.41885> > >ennis@ssax.com (Bill Ennis) wrote: > >:What about update cursors in Oracle? Oracle will lock EVERY row >:associated with an update cursor when the cursor is opened! Informix >:will lock the row when it fetches. In this case Infomrix is better >:for transaction independency. > >Such behaviour would have been a total showstopper for us. It would be for most people. I'm not at all sure that this is an accurate characterization of Oracle's behaviour, though. Specifically, as far as I understand it, no rows are locked when a cursor is opened. As rows are modified, the new image is added to the table, but other transactions are allowed to read the old images for the rows. Somewhere along the line, a transaction can be aborted if it has seen old data when it should have seen new data and it made changes to the database. This conflict resolution is done up front (pessimistically) by Informix's locking, but it has to be done at commit time under the optimistic versioning systems such as that used by Oracle. I'm not sure of the in's and out's of Oracle's conflict resolution, but I don't think 'every row is locked when an update cursor is opened' is an accurate description of it... Any Oracle buffs out there who can confirm or deny or clarify what goes on? Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> PS: Warning I do not reply to messages with anti-spam in the return path.