Hi,
Some of this can be read out of the manual but addressing for complete
clarity, is slightly related to the fragmentation conversation that just
was (+ I saw a GB-size WAL file the other day, perhaps because of someone
playing with the wal_autocheckpoint pragma setting):
a) How do you ensure that the WAL file doesn't grow beyond a certain approx
size, and,
b) When does SQLite even remove the WAL and SHM files?
In particular,
1) Database closure does *not* imply WAL checkpoint, right?
2) Does VACUUM imply WAL checkpoint ("pragma wal_checkpoint;")?
3) Does WAL checkpointing always lead to truncation (forcing to zero size)
of the WAL file?
4) When does SQLite actually remove the WAL and SHM files - when it at
connection closure somehow magically detects that no connection to the
database will exist.. or what?
5) Is the wal_autocheckpoint pragma a guarantee that the WAL file will not
grow beyond its size (e.g. 1024 bytes page size X wal_autocheckpoint of
1000 = WAL size wil never be bigger than 1024000 bytes), or how
does wal_autocheckpoint and WAL file size correlate?
Thanks!