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!