Minor cleanup

This commit is contained in:
emeric
2020-05-16 13:54:57 +02:00
parent 2d8c350dea
commit 381075d49d
2 changed files with 20 additions and 7 deletions
+6 -1
View File
@@ -453,7 +453,12 @@ Artist::getSimilarArtists(std::optional<std::size_t> offset, std::optional<std::
" INNER JOIN track t ON t.id = t_a_l.track_id" " INNER JOIN track t ON t.id = t_a_l.track_id"
" INNER JOIN track_cluster t_c ON t_c.track_id = t.id" " INNER JOIN track_cluster t_c ON t_c.track_id = t.id"
" WHERE " " WHERE "
" t_c.cluster_id IN (SELECT c.id from cluster c INNER JOIN track t ON c.id = t_c.cluster_id INNER JOIN track_cluster t_c ON t_c.track_id = t.id INNER JOIN artist a ON a.id = t_a_l.artist_id INNER JOIN track_artist_link t_a_l ON t_a_l.track_id = t.id WHERE a.id = ?)" " t_c.cluster_id IN (SELECT c.id from cluster c"
" INNER JOIN track t ON c.id = t_c.cluster_id"
" INNER JOIN track_cluster t_c ON t_c.track_id = t.id"
" INNER JOIN artist a ON a.id = t_a_l.artist_id"
" INNER JOIN track_artist_link t_a_l ON t_a_l.track_id = t.id"
" WHERE a.id = ?)"
" AND a.id <> ?" " AND a.id <> ?"
) )
.bind(self()->id()) .bind(self()->id())
+14 -6
View File
@@ -37,7 +37,7 @@
static static
void void
dumpRecommendation(Database::Session session, Recommendation::IEngine& engine) dumpTracksRecommendation(Database::Session session, Recommendation::IEngine& engine)
{ {
const std::vector<Database::IdType> trackIds {[&]() const std::vector<Database::IdType> trackIds {[&]()
{ {
@@ -69,7 +69,12 @@ dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
for (Database::IdType similarTrackId : engine.getSimilarTracks(session, {trackId}, 3)) for (Database::IdType similarTrackId : engine.getSimilarTracks(session, {trackId}, 3))
std::cout << "\t- Similar track '" << trackToString(similarTrackId) << std::endl; std::cout << "\t- Similar track '" << trackToString(similarTrackId) << std::endl;
} }
}
static
void
dumpReleasesRecommendation(Database::Session session, Recommendation::IEngine& engine)
{
const std::vector<Database::IdType> releaseIds = std::invoke([&]() const std::vector<Database::IdType> releaseIds = std::invoke([&]()
{ {
auto transaction {session.createSharedTransaction()}; auto transaction {session.createSharedTransaction()};
@@ -91,7 +96,12 @@ dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
for (Database::IdType similarReleaseId : engine.getSimilarReleases(session, releaseId, 3)) for (Database::IdType similarReleaseId : engine.getSimilarReleases(session, releaseId, 3))
std::cout << "\t- Similar release '" << releaseToString(similarReleaseId) << "'" << std::endl; std::cout << "\t- Similar release '" << releaseToString(similarReleaseId) << "'" << std::endl;
} }
}
static
void
dumpArtistsRecommendation(Database::Session session, Recommendation::IEngine& engine)
{
const std::vector<Database::IdType> artistIds = std::invoke([&]() const std::vector<Database::IdType> artistIds = std::invoke([&]()
{ {
auto transaction {session.createSharedTransaction()}; auto transaction {session.createSharedTransaction()};
@@ -113,10 +123,6 @@ dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
for (Database::IdType similarArtistId : engine.getSimilarArtists(session, artistId, 3)) for (Database::IdType similarArtistId : engine.getSimilarArtists(session, artistId, 3))
std::cout << "\t- Similar artist '" << artistToString(similarArtistId) << "'" << std::endl; std::cout << "\t- Similar artist '" << artistToString(similarArtistId) << "'" << std::endl;
} }
} }
@@ -153,7 +159,9 @@ int main(int argc, char *argv[])
sem.wait(); sem.wait();
std::cout << "Recommendation engine loaded!" << std::endl; std::cout << "Recommendation engine loaded!" << std::endl;
dumpRecommendation(db, *engine); dumpTracksRecommendation(db, *engine);
dumpReleasesRecommendation(db, *engine);
dumpArtistsRecommendation(db, *engine);
engine->stop(); engine->stop();
} }