On Fri, Nov 4, 2011 at 6:59 PM, Paxdo Presse wrote:
>
> 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