Log mmap size used by sqlite3

This commit is contained in:
emeric
2026-06-21 17:00:36 +02:00
parent 0cabfa0d04
commit 95eb1f00bc
2 changed files with 29 additions and 0 deletions
+28
View File
@@ -170,6 +170,24 @@ namespace lms::db
return res; return res;
} }
std::optional<long long> getMmapSize(Wt::Dbo::SqlConnection& connection)
{
auto statement = connection.prepareStatement("PRAGMA mmap_size");
statement->execute();
std::optional<long long> 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<void(std::string_view compileOption)> callback) void getCompileOptions(Wt::Dbo::SqlConnection& connection, std::function<void(std::string_view compileOption)> callback)
{ {
auto statement = connection.prepareStatement("PRAGMA compile_options"); auto statement = connection.prepareStatement("PRAGMA compile_options");
@@ -217,6 +235,7 @@ namespace lms::db
logPageSize(); logPageSize();
logCacheSize(); logCacheSize();
logMmapSize();
logCompileOptions(); logCompileOptions();
if (checkType == "quick") if (checkType == "quick")
{ {
@@ -278,6 +297,15 @@ namespace lms::db
LMS_LOG(DB, INFO, "Cache size set to " << *cacheSize); LMS_LOG(DB, INFO, "Cache size set to " << *cacheSize);
} }
void Db::logMmapSize()
{
ScopedConnection connection{ *_connectionPool };
const std::optional<long long> mmapSize{ getMmapSize(*connection) };
if (mmapSize)
LMS_LOG(DB, INFO, "Mmap size set to " << *mmapSize);
}
void Db::logCompileOptions() void Db::logCompileOptions()
{ {
ScopedConnection connection{ *_connectionPool }; ScopedConnection connection{ *_connectionPool };
+1
View File
@@ -51,6 +51,7 @@ namespace lms::db
void logPageSize(); void logPageSize();
void logCacheSize(); void logCacheSize();
void logMmapSize();
void logCompileOptions(); void logCompileOptions();
void performQuickCheck(); void performQuickCheck();
void performIntegrityCheck(); void performIntegrityCheck();