Re: [sqlite] Testing the 'I' in ACID

2014-11-25 Thread Igor Tandetnik

On 11/25/2014 5:41 PM, Simon Slavin wrote:

Fair point.  I should have written 'writing concurrency'.  I would be 
interested in anything you have to say about the article I referred to.


I don't see much in the way of reasoning in that article, and I'm too 
lazy to look at the code. Insofar as the article defines "serializable" 
as "behaving as if executed serially", transactions in SQLite are 
trivially shown to be serializable - because they are, in fact, forced 
to be executed serially.

--
Igor Tandetnik

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


Re: [sqlite] Testing the 'I' in ACID

2014-11-25 Thread Simon Slavin

On 25 Nov 2014, at 10:39pm, Igor Tandetnik  wrote:

> On 11/25/2014 5:32 PM, Simon Slavin wrote:
>> SQLite doesn't support massive concurrency because it locks the entire 
>> database during changes.
> 
> Not entirely true. WAL mode allows one writer working concurrently with 
> multiple readers.

Fair point.  I should have written 'writing concurrency'.  I would be 
interested in anything you have to say about the article I referred to.

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


Re: [sqlite] Testing the 'I' in ACID

2014-11-25 Thread Igor Tandetnik

On 11/25/2014 5:32 PM, Simon Slavin wrote:

SQLite doesn't support massive concurrency because it locks the entire database 
during changes.


Not entirely true. WAL mode allows one writer working concurrently with 
multiple readers.

--
Igor Tandetnik

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


[sqlite] Testing the 'I' in ACID

2014-11-25 Thread Simon Slavin
The 'I' in ACID stands for 'isolation'.  In SQLite terms it means that a change 
made in one transaction doesn't affect another until the transaction is 
committed, at which point it does affect the database and transactions made 
afterwards.

SQLite doesn't support massive concurrency because it locks the entire database 
during changes.  So it may not have much of a problem enforcing 'I'.  This 
short article



and this code which goes with it



don't mention SQLite at all.  But I'd be interested in a review of how the 
reasoning and code would affect SQLite if they were applied to it.

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