Re: unable to see new/updated records

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Wed, 2 Dec 2009 02:19:40 +0000 (UTC)
Message-ID: <hf4irs$n9v$2_at_solani.org>



On Tue, 01 Dec 2009 22:25:09 +0100, GD wrote:

> That's the law only for serializable transactions, not for "normal"
> transactions.

Nope. In Oracle RDBMS, transaction can see only the data that was committed at the time when the transaction was started. That is always the case. Serializable prevents phantom reads by imposing a shared lock on the objects it accesses. Phantom read happens when records returned by a query are modified (and committed) during the run time of the query so that the rows returned by the query no longer exist in such form. In other words, the result shows "phantoms". A shared lock on the underlying objects will prevent them from being modified simultaneously with the query and you will get a serializable session, with repeatable reads. That will also do wonders for the concurrency of the applications.

-- 
http://mgogala.freehostia.com
Received on Tue Dec 01 2009 - 20:19:40 CST

Original text of this message