Removed offending index
This commit is contained in:
@@ -34,7 +34,7 @@ namespace lms::db
|
|||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
static constexpr Version LMS_DATABASE_VERSION{ 97 };
|
static constexpr Version LMS_DATABASE_VERSION{ 98 };
|
||||||
}
|
}
|
||||||
|
|
||||||
VersionInfo::VersionInfo()
|
VersionInfo::VersionInfo()
|
||||||
@@ -1417,6 +1417,12 @@ WHERE art.image_id IS NULL)");
|
|||||||
dropIndexes(session);
|
dropIndexes(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void migrateFromV97(Session& session)
|
||||||
|
{
|
||||||
|
// Removed not that useful indexes
|
||||||
|
dropIndexes(session);
|
||||||
|
}
|
||||||
|
|
||||||
bool doDbMigration(Session& session)
|
bool doDbMigration(Session& session)
|
||||||
{
|
{
|
||||||
constexpr std::string_view outdatedMsg{ "Outdated database, please rebuild it (delete the .db file and restart)" };
|
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 },
|
{ 94, migrateFromV94 },
|
||||||
{ 95, migrateFromV95 },
|
{ 95, migrateFromV95 },
|
||||||
{ 96, migrateFromV96 },
|
{ 96, migrateFromV96 },
|
||||||
|
{ 97, migrateFromV97 },
|
||||||
};
|
};
|
||||||
|
|
||||||
bool migrationPerformed{};
|
bool migrationPerformed{};
|
||||||
|
|||||||
@@ -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_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_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_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_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_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)");
|
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()
|
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_%'")) };
|
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) {
|
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 execute(std::string_view statement);
|
||||||
|
|
||||||
|
void optimize(); // need to acquire a write transaction
|
||||||
|
|
||||||
// All these methods will acquire transactions
|
// All these methods will acquire transactions
|
||||||
void fullAnalyze(); // helper for retrieveEntriesToAnalyze + analyzeEntry
|
void fullAnalyze(); // helper for retrieveEntriesToAnalyze + analyzeEntry
|
||||||
void retrieveEntriesToAnalyze(std::vector<std::string>& entryList);
|
void retrieveEntriesToAnalyze(std::vector<std::string>& entryList);
|
||||||
|
|||||||
Reference in New Issue
Block a user