Re: [sqlite] Dealing with SQLITE_BUSY

2018-02-22 Thread Igor Tandetnik
On 2/22/2018 5:54 AM, Nick wrote: I use sqlite3_open() to open two connections, and I have configured journal_mode=WAL, threadsafe=2. Connection 1 is doing: sqlite3_exec(db1, "BEGIN", 0, 0, ); sqlite3_exec(db1, "SELECT * FROM t1;", 0, 0, ); sqlite3_exec(db1, "INSERT INTO t1 VALUES(1, 1,

Re: [sqlite] Dealing with SQLITE_BUSY

2018-02-22 Thread Kees Nuyt
On Thu, 22 Feb 2018 14:36:07 +, Simon Slavin wrote: > On 22 Feb 2018, at 11:24am, Clemens Ladisch wrote: > >> Use "BEGIN IMMEDIATE" instead to tell the DB that you intend to write. > > Depending on how you want your locks to work, BEGIN EXCLUSIVE

Re: [sqlite] Dealing with SQLITE_BUSY

2018-02-22 Thread Keith Medcalf
-- >From: sqlite-users [mailto:sqlite-users- >boun...@mailinglists.sqlite.org] On Behalf Of Nick >Sent: Thursday, 22 February, 2018 03:54 >To: sqlite-users@mailinglists.sqlite.org >Subject: [sqlite] Dealing with SQLITE_BUSY > >I use sqlite3_open() to open two connections, and I

Re: [sqlite] Dealing with SQLITE_BUSY

2018-02-22 Thread Simon Slavin
On 22 Feb 2018, at 11:24am, Clemens Ladisch wrote: > Use "BEGIN IMMEDIATE" instead to tell the DB that you intend to write. Depending on how you want your locks to work, BEGIN EXCLUSIVE may work better. Do remember when setting your timeout, that you have to set it in

Re: [sqlite] Dealing with SQLITE_BUSY

2018-02-22 Thread Clemens Ladisch
Nick wrote: > I use sqlite3_open() to open two connections, and I have configured > journal_mode=WAL, threadsafe=2. > > Connection 1 is doing: > sqlite3_exec(db1, "BEGIN", 0, 0, ); > sqlite3_exec(db1, "SELECT * FROM t1;", 0, 0, ); > sqlite3_exec(db1, "INSERT INTO t1 VALUES(1, 1, \"aa\”)”, 0, 0, );

[sqlite] Dealing with SQLITE_BUSY

2018-02-22 Thread Nick
I use sqlite3_open() to open two connections, and I have configured journal_mode=WAL, threadsafe=2. Connection 1 is doing: sqlite3_exec(db1, "BEGIN", 0, 0, ); sqlite3_exec(db1, "SELECT * FROM t1;", 0, 0, ); sqlite3_exec(db1, "INSERT INTO t1 VALUES(1, 1, \"aa\”)”, 0, 0, ); //SQLITE_BUSY