After a little experimentation I can't find any better way of doing this than 
to have each transaction handled with a different connection to the database.  
In other words, for each BEGIN you need a sqlite3_open().  If you do this, 
different concurrent parts of your app can each run their own transaction.  It 
all works as expected.  Of course, you do get the increased time (it takes time 
to open and parse the database file) and memory overhead.

Looking back at the design of SQL (not just SQLite), the fact that BEGIN is not 
reentrant or recursive does remind us that SQL was designed back in the days 
before apps were as complicated as they are now.

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

Reply via email to