Removed offending index

This commit is contained in:
emeric
2025-07-17 20:34:43 +02:00
parent b4915f5b6f
commit 4d4f83130a
3 changed files with 14 additions and 4 deletions
+8 -1
View File
@@ -34,7 +34,7 @@ namespace lms::db
{
namespace
{
static constexpr Version LMS_DATABASE_VERSION{ 97 };
static constexpr Version LMS_DATABASE_VERSION{ 98 };
}
VersionInfo::VersionInfo()
@@ -1417,6 +1417,12 @@ WHERE art.image_id IS NULL)");
dropIndexes(session);
}
void migrateFromV97(Session& session)
{
// Removed not that useful indexes
dropIndexes(session);
}
bool doDbMigration(Session& session)
{
constexpr std::string_view outdatedMsg{ "Outdated database, please rebuild it (delete the .db file and restart)" };
@@ -1490,6 +1496,7 @@ WHERE art.image_id IS NULL)");
{ 94, migrateFromV94 },
{ 95, migrateFromV95 },
{ 96, migrateFromV96 },
{ 97, migrateFromV97 },
};
bool migrationPerformed{};
+3 -2
View File
@@ -289,10 +289,9 @@ namespace lms::db
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_artist_idx ON track_artist_link(artist_id)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_artist_mbid_matched_artist_idx ON track_artist_link(artist_mbid_matched, artist_id)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_artist_track_idx ON track_artist_link(artist_id, track_id)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_artist_type_idx ON track_artist_link(artist_id, type)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_artist_type_track_idx ON track_artist_link(artist_id, type, track_id)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_track_artist_idx ON track_artist_link(track_id, artist_id)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_track_type_idx ON track_artist_link(track_id, type)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_artist_link_type_track_artist_idx ON track_artist_link(type, track_id, artist_id)");
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS track_features_track_idx ON track_features(track_id)");
@@ -384,6 +383,8 @@ namespace lms::db
bool Session::areAllTablesEmpty()
{
checkReadTransaction();
const std::vector<std::string> entryList{ utils::fetchQueryResults(_session.query<std::string>("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'")) };
return std::all_of(entryList.cbegin(), entryList.cend(), [this](const std::string& entry) {
@@ -47,6 +47,8 @@ namespace lms::db
void execute(std::string_view statement);
void optimize(); // need to acquire a write transaction
// All these methods will acquire transactions
void fullAnalyze(); // helper for retrieveEntriesToAnalyze + analyzeEntry
void retrieveEntriesToAnalyze(std::vector<std::string>& entryList);