More efficient batch inserts

This commit is contained in:
Michael Snoyman 2014-11-24 10:32:00 +02:00
parent e588f9e45c
commit cdefe0bc3e

View File

@ -266,11 +266,12 @@ appLoadCabalFiles updateDB env dbconf p = do
) )
UploadState uploadHistory newUploads _ newMD <- loadCabalFiles updateDB uploadHistory0 metadata0 UploadState uploadHistory newUploads _ newMD <- loadCabalFiles updateDB uploadHistory0 metadata0
$logInfo "Inserting to new uploads" $logInfo "Inserting to new uploads"
runDB' $ mapM_ insert_ newUploads runDB' $ insertMany_ newUploads
$logInfo "Updating metadatas" $logInfo "Updating metadatas"
runDB' $ forM_ newMD $ \x -> do runDB' $ do
deleteBy $ UniqueMetadata $ metadataName x let newMD' = toList newMD
insert_ x deleteWhere [MetadataName <-. map metadataName newMD']
insertMany_ newMD'
let views = let views =
[ ("pvp", viewPVP uploadHistory) [ ("pvp", viewPVP uploadHistory)
, ("no-bounds", viewNoBounds) , ("no-bounds", viewNoBounds)