From 06b071553c85a75194fe12a6fdd5701f86d63270 Mon Sep 17 00:00:00 2001 From: emeric Date: Wed, 8 May 2024 16:37:43 +0200 Subject: [PATCH] Minor db cleanup --- src/libs/database/impl/Db.cpp | 16 +++------------- src/libs/database/impl/Migration.cpp | 3 +-- src/libs/database/impl/Session.cpp | 2 -- src/libs/database/test/Common.cpp | 18 ++++++++++-------- src/libs/database/test/Migration.cpp | 2 -- 5 files changed, 14 insertions(+), 27 deletions(-) diff --git a/src/libs/database/impl/Db.cpp b/src/libs/database/impl/Db.cpp index 23afed43..253d82c7 100644 --- a/src/libs/database/impl/Db.cpp +++ b/src/libs/database/impl/Db.cpp @@ -50,12 +50,6 @@ namespace lms::db prepare(); } - ~Connection() override - { - // make use of per-connection usage stats to optimize - optimize(); - } - private: Connection& operator=(const Connection&) = delete; @@ -72,13 +66,6 @@ namespace lms::db LMS_LOG(DB, DEBUG, "Setting per-connection settings done!"); } - void optimize() - { - LMS_LOG(DB, DEBUG, "connection close: Running pragma optimize..."); - executeSql("PRAGMA optimize"); - LMS_LOG(DB, DEBUG, "connection close: pragma optimize complete"); - } - std::filesystem::path _dbPath; }; } @@ -119,6 +106,9 @@ namespace lms::db } } + // For now, multiple databases are not handled + assert(&tlsSession->getDb() == this); + return *tlsSession; } diff --git a/src/libs/database/impl/Migration.cpp b/src/libs/database/impl/Migration.cpp index 1bcc8724..7533ae6a 100644 --- a/src/libs/database/impl/Migration.cpp +++ b/src/libs/database/impl/Migration.cpp @@ -73,13 +73,12 @@ namespace lms::db::Migration { _db.executeSql("PRAGMA foreign_keys=ON"); } - + private: ScopedNoForeignKeys(const ScopedNoForeignKeys&) = delete; ScopedNoForeignKeys(ScopedNoForeignKeys&&) = delete; ScopedNoForeignKeys& operator=(const ScopedNoForeignKeys&) = delete; ScopedNoForeignKeys& operator=(ScopedNoForeignKeys&&) = delete; - private: Db& _db; }; diff --git a/src/libs/database/impl/Session.cpp b/src/libs/database/impl/Session.cpp index 97ea7126..a61fa823 100644 --- a/src/libs/database/impl/Session.cpp +++ b/src/libs/database/impl/Session.cpp @@ -19,8 +19,6 @@ #include "database/Session.hpp" -#include - #include "core/Exception.hpp" #include "core/ILogger.hpp" #include "core/ITraceLogger.hpp" diff --git a/src/libs/database/test/Common.cpp b/src/libs/database/test/Common.cpp index d78a8557..4ffe33d2 100644 --- a/src/libs/database/test/Common.cpp +++ b/src/libs/database/test/Common.cpp @@ -91,10 +91,18 @@ namespace lms::db::tests EXPECT_EQ(User::getCount(session), 0); } + TEST_F(DatabaseFixture, vacuum) + { + session.vacuum(); + } + + TEST_F(DatabaseFixture, analyze) + { + session.fullAnalyze(); + } + TEST_F(DatabaseFixture, Common_subRangeEmpty) { - using namespace db; - RangeResults results; results.range = Range{ 0, 0 }; results.results = {}; @@ -115,8 +123,6 @@ namespace lms::db::tests TEST_F(DatabaseFixture, Common_subRangeForeach) { - using namespace db; - struct TestCase { Range range; @@ -153,8 +159,6 @@ namespace lms::db::tests TEST_F(DatabaseFixture, Common_IdType) { - using namespace db; - { const IdType id{}; EXPECT_FALSE(id.isValid()); @@ -182,8 +186,6 @@ namespace lms::db::tests TEST_F(DatabaseFixture, Common_subRange) { - using namespace db; - RangeResults results; results.range = Range{ 0, 2 }; results.results = { 5, 6 }; diff --git a/src/libs/database/test/Migration.cpp b/src/libs/database/test/Migration.cpp index 69a9970c..b7158bcc 100644 --- a/src/libs/database/test/Migration.cpp +++ b/src/libs/database/test/Migration.cpp @@ -27,8 +27,6 @@ namespace lms::db::tests { void executeStatements(db::Session& session, std::string_view statements) { - auto transaction{ session.createWriteTransaction() }; - for (std::string_view statement : core::stringUtils::splitString(statements, ';')) { statement = core::stringUtils::stringTrim(statement, " \t\r\n");