… though I think we never really close it properly because Cuirass runs “forever.” I tried doing this in a Guile session on berlin: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> ,use(cuirass database) scheme@(guile-user)> (%package-database "/var/lib/cuirass/cuirass.db") $6 = "/gnu/store/g1q2lv75a2fibii4y52fndz5zpbmyl12-cuirass-0.0.1-21.0b40dca/var/lib/cuirass/cuirass.db" scheme@(guile-user)> (with-database (db-get-builds `((nr . 200)(order . finish-time)(status . done))) (with-db-critical-section db (sqlite-exec db "PRAGMA optimize;"))) $7 = () scheme@(guile-user)> (with-database (db-get-builds `((nr . 200)(order . finish-time)(status . done))) (with-db-critical-section db (sqlite-exec db "PRAGMA optimize;"))) $8 = () scheme@(guile-user)> ,time (with-database (db-get-builds `((nr . 200)(order . finish-time)(status . done))) (with-db-critical-section db (sqlite-exec db "PRAGMA optimize;"))) $9 = () ;; 13.215291s real time, 13.229189s run time. 0.016093s spent in GC. scheme@(guile-user)> ,time (with-database (db-get-builds `((nr . 200)(order . finish-time)(status . done))) (with-db-critical-section db (sqlite-exec db "PRAGMA optimize;"))) $10 = () ;; 13.204621s real time, 13.230655s run time. 0.029333s spent in GC. --8<---------------cut here---------------end--------------->8--- It doesn’t seem to help much, perhaps because the query is too complex? Thoughts? Ludo’.