From cdefe0bc3ec68308ee5a656f051164fcb22dd4a0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 24 Nov 2014 10:32:00 +0200 Subject: [PATCH] More efficient batch inserts --- Application.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Application.hs b/Application.hs index 11e5ad4..a475ae6 100644 --- a/Application.hs +++ b/Application.hs @@ -266,11 +266,12 @@ appLoadCabalFiles updateDB env dbconf p = do ) UploadState uploadHistory newUploads _ newMD <- loadCabalFiles updateDB uploadHistory0 metadata0 $logInfo "Inserting to new uploads" - runDB' $ mapM_ insert_ newUploads + runDB' $ insertMany_ newUploads $logInfo "Updating metadatas" - runDB' $ forM_ newMD $ \x -> do - deleteBy $ UniqueMetadata $ metadataName x - insert_ x + runDB' $ do + let newMD' = toList newMD + deleteWhere [MetadataName <-. map metadataName newMD'] + insertMany_ newMD' let views = [ ("pvp", viewPVP uploadHistory) , ("no-bounds", viewNoBounds)