On 28 Sep 2017, at 6:16pm, pisymbol . <pisym...@gmail.com> wrote:

> So even with full mutex, if I have thread 1 issue a "BEGIN" and it starts
> processing, and another thread 2 issues a "BEGIN" somewhere in between
> that, the other thread will just flat out fail because a transaction has
> already started for thread 1. Is that correct?

Correct.  Connections are the way into SQLite.  Because both threads are using 
the same connection, SQLite thinks they’re part of the same effort.  So as far 
as SQLite is concerned, the two threads are supplying SQL commands for the same 
transaction.

As far as SQLite is concerned, you have one connection which executed BEGIN and 
then executed BEGIN again without having ended the first transaction.

On 28 Sep 2017, at 6:23pm, pisymbol . <pisym...@gmail.com> wrote:

> The follow-up to this is what is the purpose of full mutex mode and when
> should it be used over no mutex mode?

The mutex is useful when SQLite can tell that your commands are actually part 
of two separate efforts.  i.e. when you’re using two different connections.


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

Reply via email to