Log mmap size used by sqlite3
This commit is contained in:
@@ -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 };
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user