On 2/29/16, Vince Scafaria <vince at dotalign.com> wrote: > Richard, I can confirm that having a writable connection open first, prior > to trying any reads, does avoid the "database is locked" error. However, I > still do get "SQLite error (17): statement aborts" errors. What are the > rules I must follow to avoid getting these SQLITE_SCHEMA errors? I am not > running any SQL that I would generally consider to be altering the schema. > I'm simply doing multiple concurrent reads on read-only connections and > running INSERT/UPDATE (not CREATE/DROP) statements on the writable > connection. Thank you. >
Some other process might be changing the schema. ATTACH and DETACH also change the schema, and require a reparse, as do creating new application-defined functions or collating sequences or virtual tables. The query should automatically reparse and restart with no action on the part of your code. This is not something you need to worry over. -- D. Richard Hipp drh at sqlite.org