From 95eb1f00bca268353852c9ce9e40e4e3d3492bf8 Mon Sep 17 00:00:00 2001 From: emeric Date: Sun, 21 Jun 2026 17:00:36 +0200 Subject: [PATCH] Log mmap size used by sqlite3 --- src/libs/database/impl/Db.cpp | 28 ++++++++++++++++++++++++++++ src/libs/database/impl/Db.hpp | 1 + 2 files changed, 29 insertions(+) diff --git a/src/libs/database/impl/Db.cpp b/src/libs/database/impl/Db.cpp index 550f6d4a..6d242777 100644 --- a/src/libs/database/impl/Db.cpp +++ b/src/libs/database/impl/Db.cpp @@ -170,6 +170,24 @@ namespace lms::db return res; } + std::optional getMmapSize(Wt::Dbo::SqlConnection& connection) + { + auto statement = connection.prepareStatement("PRAGMA mmap_size"); + statement->execute(); + + std::optional res; + while (statement->nextRow()) + { + assert(!res); + long long value{}; + if (statement->getResult(0, &value)) + res = value; + break; + } + + return res; + } + void getCompileOptions(Wt::Dbo::SqlConnection& connection, std::function callback) { auto statement = connection.prepareStatement("PRAGMA compile_options"); @@ -217,6 +235,7 @@ namespace lms::db logPageSize(); logCacheSize(); + logMmapSize(); logCompileOptions(); if (checkType == "quick") { @@ -278,6 +297,15 @@ namespace lms::db LMS_LOG(DB, INFO, "Cache size set to " << *cacheSize); } + void Db::logMmapSize() + { + ScopedConnection connection{ *_connectionPool }; + const std::optional mmapSize{ getMmapSize(*connection) }; + + if (mmapSize) + LMS_LOG(DB, INFO, "Mmap size set to " << *mmapSize); + } + void Db::logCompileOptions() { ScopedConnection connection{ *_connectionPool }; diff --git a/src/libs/database/impl/Db.hpp b/src/libs/database/impl/Db.hpp index 63890021..5b5c1845 100644 --- a/src/libs/database/impl/Db.hpp +++ b/src/libs/database/impl/Db.hpp @@ -51,6 +51,7 @@ namespace lms::db void logPageSize(); void logCacheSize(); + void logMmapSize(); void logCompileOptions(); void performQuickCheck(); void performIntegrityCheck();