Reduced exclusive lock durations

This commit is contained in:
emeric
2023-11-19 16:17:27 +01:00
parent 575fec5727
commit 17a2a969e2
104 changed files with 881 additions and 705 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ dumpTrackCovers(Database::Session& session, Image::ImageSize width)
RangeResults<Database::TrackId> trackIds;
{
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
trackIds = Database::Track::findIds(session, Database::Track::FindParameters {});
}
+2 -2
View File
@@ -116,7 +116,7 @@ namespace
while(remainingCount > 0)
{
auto transaction{ context.session.createUniqueTransaction() };
auto transaction{ context.session.createWriteTransaction() };
std::cout << "Generating album #" << params.releaseCount - remainingCount << " / " << params.releaseCount << std::endl;
for (std::size_t i{}; i < params.releaseCountPerBatch && remainingCount-- > 0; ++i)
@@ -126,7 +126,7 @@ namespace
void prepareContext(const GeneratorParameters& params, GenerationContext& context)
{
auto transaction{ context.session.createUniqueTransaction() };
auto transaction{ context.session.createWriteTransaction() };
// create some random genres/moods
{
@@ -42,7 +42,7 @@ static void dumpTracksRecommendation(Session session, Recommendation::IRecommend
{
const RangeResults<TrackId> trackIds{ [&]
{
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
return Track::findIds(session, Track::FindParameters{});
}() };
@@ -52,7 +52,7 @@ static void dumpTracksRecommendation(Session session, Recommendation::IRecommend
auto trackToString = [&](const TrackId trackId)
{
std::string res;
auto transaction{ session.createSharedTransaction() };
auto transaction{ session.createReadTransaction() };
const Track::pointer track{ Track::find(session, trackId) };
res += track->getName();
@@ -76,7 +76,7 @@ static void dumpReleasesRecommendation(Session session, Recommendation::IRecomme
{
const RangeResults<ReleaseId> releaseIds{ std::invoke([&]
{
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
return Release::findIds(session, Release::FindParameters {});
}) };
@@ -85,7 +85,7 @@ static void dumpReleasesRecommendation(Session session, Recommendation::IRecomme
{
auto releaseToString = [&](ReleaseId releaseId) -> std::string
{
auto transaction{ session.createSharedTransaction() };
auto transaction{ session.createReadTransaction() };
Release::pointer release{ Release::find(session, releaseId) };
return release->getName();
@@ -101,7 +101,7 @@ static void dumpArtistsRecommendation(Session session, Recommendation::IRecommen
{
const RangeResults<ArtistId> artistIds = std::invoke([&]()
{
auto transaction{ session.createSharedTransaction() };
auto transaction{ session.createReadTransaction() };
return Artist::findIds(session, Artist::FindParameters{});
});
@@ -110,7 +110,7 @@ static void dumpArtistsRecommendation(Session session, Recommendation::IRecommen
{
auto artistToString = [&](ArtistId artistId)
{
auto transaction{ session.createSharedTransaction() };
auto transaction{ session.createReadTransaction() };
Artist::pointer artist{ Artist::find(session, artistId) };
return artist->getName();
@@ -170,7 +170,7 @@ constructFeaturesCache(Database::Session& session, const FeatureSettingsMap& fea
std::transform(std::cbegin(featureSettings), std::cend(featureSettings), std::inserter(names, std::begin(names)),
[](const auto& itFeature) { return itFeature.first; });
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
for (auto trackId : Database::Track::getAllIdsWithFeatures(session))
{
@@ -225,7 +225,7 @@ std::string
trackToString(Database::Session& session, Database::IdType trackId)
{
std::string res;
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
Database::Track::pointer track {Database::Track::getById(session, trackId)};
res += track->getName();
@@ -245,7 +245,7 @@ computeTrackScore(Database::Session& session, Database::IdType track1Id, Databas
{
SimilarityScore score {};
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
auto track1 {Database::Track::getById(session, track1Id)};
auto track2 {Database::Track::getById(session, track2Id)};
@@ -294,7 +294,7 @@ computeSimilarityScore(Database::Session& session, FeaturesSearcher::TrainSettin
const std::vector<Database::IdType> trackIds = std::invoke([&]()
{
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
return Database::Track::getAllIdsWithFeatures(session);
});
@@ -328,7 +328,7 @@ printBadlyClassifiedTracks(Database::Session& session, FeaturesSearcher::TrainSe
const std::vector<Database::IdType> trackIds = std::invoke([&]()
{
auto transaction {session.createSharedTransaction()};
auto transaction {session.createReadTransaction()};
return Database::Track::getAllIdsWithFeatures(session);
});