Hello
3.26.0
From https://www.sqlite.org/wal.html, 3.3 I understand that

"The persistence of WAL mode means that applications can be converted to
using SQLite in WAL mode without making any changes to the application
itself. One has merely to run "PRAGMA journal_mode=WAL;" on the database
file(s) using the command-line shell or other utility, then restart the
application.
The WAL journal mode will be set on all connections to the same database
file if it is set on any one connection."

I use the same db file from:

   1. sqlitebrowser UI which uses C interface
   2. sqlite3 cli which uses  C interface
   3. C++ application via ODB layer which wraps C interface
   4. Python application via sqlite module which uses C interface

So it suffices that I run "PRAGMA journal_mode=WAL;" once from say the
sqlite3 cli, for all future connections from any tool will use WAL mode for
this database file?

I have say 20 processes (some C++, some python) with perhaps 16 readers and
4 writers, some python some c++.
From every single process, I open a single connection at startup and close
the connection when I don't need it anymore.
I do have concurrency between the writers too.

I suppose I am in autocommit mode as that is the default and I do nothing
to change that.

What happens when 2 processes that have had their connection open for a
while, attempt a UPDATE or INSERT INTO statement at the same time?

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

Reply via email to