Your understanding of the isolation_level parameter there is correct. It only effects how the <implicit> transactions are created. If you're going to be doing a few selects before you update then <explicitly> doing the "begin someSortOf transaction;" is what you want.
After having some trouble getting savepoints to work correctly I've gotten into the habit of always doing isolation_level = None, and doing everything explicitly, but as long as you know what's going on then you're good. -----Original Message----- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Kevin O'Gorman Sent: Tuesday, September 20, 2016 12:35 PM To: sqlite-users Subject: [sqlite] Consistency, rollback and such I'm also wondering if setting conn = sqlite3.connect("mydb", isolation_level=IMMEDIATE) does what I need. Reading the docs, it would appear this does not start a transaction until the UPDATE, and I think I want the transactions to start before the first SELECT. Should I instead do c = conn.cursor() c.execuite("BEGIN TRANSACTION IMMEDIATE") and is IMMEDIATE the right thing, or do I need EXCLUSIVE. -- #define QUESTION ((bb) || (!bb)) /* Shakespeare */ _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users