Re: [sqlite] Lock and transaction
Great. Thanks to both. (and sorry for my bad english) Le 5 nov. 2011 à 00:05, Petite Abeille a écrit : > > On Nov 4, 2011, at 11:59 PM, Paxdo Presse wrote: > >> Are we sure that another process is not going to create another row between >> my "INSERT" and "SELECT LAST ROWID"? > > yes > >> The "LAST ROWID" is it for sure the id of "INSERT INTO" of the transaction? > > yes > > ___ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Lock and transaction
On Nov 4, 2011, at 11:59 PM, Paxdo Presse wrote: > Are we sure that another process is not going to create another row between > my "INSERT" and "SELECT LAST ROWID"? yes > The "LAST ROWID" is it for sure the id of "INSERT INTO" of the transaction? yes ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Lock and transaction
On Fri, Nov 4, 2011 at 6:59 PM, Paxdo Pressewrote: > > Hello, > > a question from beginner please : > > In this transaction (with wal-mode) : > > > BEGIN TRANSACTION > > INSERT INTO > > SELECT last_insert_rowid() > > COMMIT > > > Are we sure that another process is not going to create another row > between my "INSERT" and "SELECT LAST ROWID"? > Yes. Isolation in SQLite is SERIALIZABLE. > The "LAST ROWID" is it for sure the id of "INSERT INTO" of the transaction? > Yes. Actually, this is true even without the BEGIN...COMMIT. The last_insert_rowid() is the rowid of the most recent insert on the same database connection. > > In fact, is the lock that starts with INSERT is set to COMMIT? Or the > write lock is it only when the INSERT? (so no lock between INSERT and > COMMIT) > I do not exactly understand the question, so I'm guessing: The lock that is acquire at INSERT is held until COMMIT. > > Thank you > > olivier > ___ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Lock and transaction
Hello, a question from beginner please : In this transaction (with wal-mode) : BEGIN TRANSACTION INSERT INTO SELECT last_insert_rowid() COMMIT Are we sure that another process is not going to create another row between my "INSERT" and "SELECT LAST ROWID"? The "LAST ROWID" is it for sure the id of "INSERT INTO" of the transaction? In fact, is the lock that starts with INSERT is set to COMMIT? Or the write lock is it only when the INSERT? (so no lock between INSERT and COMMIT) Thank you olivier ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users