diff options
author | Christopher Baines <mail@cbaines.net> | 2023-05-30 08:00:23 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-05-30 08:00:48 +0100 |
commit | b27ca4dc0efbb0d9c397fc39347af9b8e8734ab9 (patch) | |
tree | f108537a9e4e5bc2bcfc2e8fe58e609a5d0a6a93 | |
parent | aac0a492e07f95a666ded04cd9eeb5d1ac50b408 (diff) | |
download | nar-herder-b27ca4dc0efbb0d9c397fc39347af9b8e8734ab9.tar nar-herder-b27ca4dc0efbb0d9c397fc39347af9b8e8734ab9.tar.gz |
Stop mmap'ing the database
I don't think I fully understand the implications of this yet, in
particular how this affects system memory usage.
-rw-r--r-- | nar-herder/database.scm | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/nar-herder/database.scm b/nar-herder/database.scm index 945d1f6..04c66c3 100644 --- a/nar-herder/database.scm +++ b/nar-herder/database.scm @@ -228,17 +228,17 @@ CREATE INDEX cached_narinfo_files_narinfo_id (update-schema db) - (let ((requested-mmap-bytes 2147418112) - (statement - (sqlite-prepare - db - (simple-format #f "PRAGMA mmap_size=~A;" - 2147418112)))) - (match (sqlite-step statement) - (#(result-mmap-size) - (sqlite-finalize statement) - (set! mmap-size - result-mmap-size)))) + ;; (let ((requested-mmap-bytes 2147418112) + ;; (statement + ;; (sqlite-prepare + ;; db + ;; (simple-format #f "PRAGMA mmap_size=~A;" + ;; 2147418112)))) + ;; (match (sqlite-step statement) + ;; (#(result-mmap-size) + ;; (sqlite-finalize statement) + ;; (set! mmap-size + ;; result-mmap-size)))) (sqlite-close db)) @@ -248,10 +248,11 @@ CREATE INDEX cached_narinfo_files_narinfo_id (let ((db (db-open database-file #:write? #f))) (sqlite-exec db "PRAGMA busy_timeout = 5000;") - (sqlite-exec - db - (simple-format #f "PRAGMA mmap_size=~A;" - (number->string mmap-size))) + (when mmap-size + (sqlite-exec + db + (simple-format #f "PRAGMA mmap_size=~A;" + (number->string mmap-size)))) (list db))) #:destructor (lambda (db) @@ -294,10 +295,11 @@ CREATE INDEX cached_narinfo_files_narinfo_id (db-open database-file))) (sqlite-exec db "PRAGMA busy_timeout = 5000;") (sqlite-exec db "PRAGMA foreign_keys = ON;") - (sqlite-exec - db - (simple-format #f "PRAGMA mmap_size=~A;" - (number->string mmap-size))) + (when mmap-size + (sqlite-exec + db + (simple-format #f "PRAGMA mmap_size=~A;" + (number->string mmap-size)))) (list db))) #:destructor (lambda (db) |