Create new databases with auto_vacuum incremental (closes #43)
check / check (push) Successful in 3m15s
check / check (push) Successful in 3m15s
SQLite only accepts auto_vacuum before the database file is first written. The connection switched to WAL first, which writes the file, so the PRAGMA auto_vacuum in Initialize came too late and was ignored. The setting now goes in the connection string, which the driver applies on open before the journal mode, and the late PRAGMA is removed. Vacuum now reads every row PRAGMA incremental_vacuum returns: SQLite frees one page per row, and the single step ExecContext takes freed only one page per call. Tests check that every pooled connection sees auto_vacuum incremental on a new database and that one Vacuum call frees every page left by deleting routes. Model: opus-5-5
This commit is contained in:
@@ -28,6 +28,11 @@ The other open issue is https://git.eeqj.de/sneak/routewatch/issues/30.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-03: a new database is created with `auto_vacuum` set to
|
||||
incremental, through the connection string so it is set before the file
|
||||
is first written, and each periodic incremental vacuum now returns up to
|
||||
1000 free pages; the late `PRAGMA auto_vacuum` in `Initialize`, which
|
||||
SQLite ignored, is gone (closes #43)
|
||||
- 2026-10-03: looking up an IP address no longer reads every IPv6 route:
|
||||
both families find the most specific live route with at most 33 or 129
|
||||
lookups on the prefix index, and the IPv4 range columns are gone. Prefixes
|
||||
|
||||
Reference in New Issue
Block a user