On Monday, 9 March, 2020 08:33, Simon Slavin <slav...@bigfraud.org> wrote:
>If your .shm and .wal files still exist when no apps are accessing the >database, the most likely cause is that at least one of the apps is not >closing its connection correctly. or you are opening the database connection with SQLITE_OPEN_READNLY because a READONLY connection cannot delete the shm and wal files as that would require writing, and that readonly connection happens to be the last one to close. In other words where there are multiple connections to a WAL database, the associated WAL and SHM files will be deleted when the last connection to that database closes cleanly *unless* that connection is not permitted to write (was opened with SQLITE_OPEN_READONLY) or was otherwise configured not to delete the WAL and SHM files. This is, of course, documented. The original unreferenced contextless fragment of text was this: There is an additional quasi-persistent "-wal" file and "-shm" shared memory file associated with each database, which can make SQLite less appealing for use as an application file-format. This is because now you have three things which may in certain circumstances constitute 1 thing. If journal_mode=DELETE you only have one thing be one thing -- the database file -- and if there is a -journal file then you know something "is broked". However in journal_mode=WAL it is not so simple. More watts (not merely milliwatts) much be expended to understand why there may be three things consitituting one thing, and that it does not necessarily indicate any "brokeness" but may rather be a necessary and normal state of affairs. Or not. But an external observed will not be able to tell. Hence a version of Word that stores its documents in an SQLite database in WAL mode may not be suitable for use by someone who expects that "one document is one file". -- The fact that there's a Highway to Hell but only a Stairway to Heaven says a lot about anticipated traffic volume. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users