From 4ea75cb96a004595ecf079addcbe8c2da03f5e94 Mon Sep 17 00:00:00 2001 From: Keagan McClelland Date: Thu, 26 May 2022 16:12:01 -0600 Subject: [PATCH] document magic number --- src/Lib/PkgRepository.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Lib/PkgRepository.hs b/src/Lib/PkgRepository.hs index 94d9cd4..1d9a056 100644 --- a/src/Lib/PkgRepository.hs +++ b/src/Lib/PkgRepository.hs @@ -194,12 +194,14 @@ loadPkgDependencies appConnPool manifest = do let deps = packageManifestDependencies manifest time <- liftIO getCurrentTime _ <- runWith appConnPool $ insertKey (PkgRecordKey pkgId) (PkgRecord time Nothing) `catch` \(e :: SqlError) -> + -- 23505 is "already exists" if sqlState e == "23505" then update (PkgRecordKey pkgId) [PkgRecordUpdatedAt =. Just time] else throwIO e let deps' = first PkgRecordKey <$> HM.toList deps for_ deps' (\d -> flip runSqlPool appConnPool $ do _ <- runWith appConnPool $ insertKey (fst d) (PkgRecord time Nothing) `catch` \(e :: SqlError) -> + -- 23505 is "already exists" if sqlState e == "23505" then update (fst d) [PkgRecordUpdatedAt =. Just time] else throwIO e insertUnique $ PkgDependency time (PkgRecordKey pkgId) pkgVersion (fst d) (packageDependencyVersion . snd $ d)