SQLite throws following exception while using 1 transaction (read/write) and 1 none-transaction related read/write operation: "Database is locked"
The SQLite default isolation level is Serialized and should; as far as I understood; lock all pages affected by a insert or update operation. (Hence, a select onto those dataSets would still be possible)
The exception occurs in following scenario: A connection with a transaction (serialized) creates temp tables and filles them with data. A second connection (no transaction applied), creates a table. Already at this point the exception gets thrown. However, the none-transaction related connection doesn't read/write from those temp tables and shouldn't interfere in any terms.
After some online search, I found the WAL DB configuration option, introduces with version 3.7. Even thought the journal_mode has been change to WAL, the exception still occurs.
Why does the exception occur? The connections shouldn't allocate locks over the same pages. Furthermore, is there any solution to read/write different tables within different transactions?