On 13 Sep 2012, at 11:36pm, Igor Tandetnik <itandet...@mvps.org> wrote:

>> "statement-level read consistency. This guarantees that all the data 
>> returned by a single query comes from a single point in time—the time that 
>> the query began. Therefore, a query never sees dirty data or any of the 
>> changes made by transactions that commit during query execution. As query 
>> execution proceeds, only data committed before the query began is visible to 
>> the query. The query does not see changes committed after statement 
>> execution begins."
> 
> But I can't help but wonder. Consider this scenario:
> 
> begin;
> update mytable set myfield=1;
> commit;
> 
> begin;
> update mytable set myfield=2;
> select myfield from mytable;
> commit;
> 
> Are you saying that in Oracle, the SELECT statement would observe myfield=1? 
> That seems to follow from the definition you quote, but I can't imagine how 
> such behavior could be useful. In SQLite, the SELECT statement would 
> certainly see myfield=2.

Worse still, consider

begin;
update mytable set myfield=2;
select myfield,anotherfield from mytable where myfield=1;
commit;

It's possible that you might get a row which didn't have myfield=1 at SELECT 
time ?  Oh dear.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to