On 1 Jun 2011, at 7:57pm, Robert Myers wrote:

> What about the I of ACID? The select should have an implicit transaction
> around it.

That would violate the SQL standard which says you can SELECT data which you 
haven't committed yet.

Actually the bit of ACID you want for SELECT is really the 'A': Atomic.  A 
SELECT should really be a single operation which gathers all the data and 
stores it somewhere.  The problems with this are when the SELECT gathers a lot 
of data: first you get one command taking a long time, which can make your GUI 
jerky, and second you have to store the result set, so you need as much spare 
memory as the entire result set takes up.  Which can be gigabytes.

So the solution is to implement SELECT atomically in your programming.  Don't 
do any other SQL commands until you've done the last _step().

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

Reply via email to