From b1942934bb56e8e3312f0bcfe2b0f491cbcaf4bb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 18 Jun 2015 07:16:25 +0300 Subject: [PATCH] Avoid invalid pattern match #108 --- Stackage/Database.hs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Stackage/Database.hs b/Stackage/Database.hs index 03cc086..d6f5b0d 100644 --- a/Stackage/Database.hs +++ b/Stackage/Database.hs @@ -594,12 +594,14 @@ latestHelper pname clause = fmap (fmap toLatest) $ E.select $ E.from $ \(s,ln,p, getDeps :: GetStackageDatabase m => Text -> m [(Text, Text)] getDeps pname = run $ do - Just (Entity pid _) <- getBy $ UniquePackage pname - fmap (map toPair) $ E.select $ E.from $ \d -> do - E.where_ $ - (d E.^. DepUser E.==. E.val pid) - E.orderBy [E.asc $ d E.^. DepUses] - return (d E.^. DepUses, d E.^. DepRange) + mp <- getBy $ UniquePackage pname + case mp of + Nothing -> return [] + Just (Entity pid _) -> fmap (map toPair) $ E.select $ E.from $ \d -> do + E.where_ $ + (d E.^. DepUser E.==. E.val pid) + E.orderBy [E.asc $ d E.^. DepUses] + return (d E.^. DepUses, d E.^. DepRange) where toPair (E.Value x, E.Value y) = (x, y)