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!

Reply via email to