diff --git a/lib/core/src/Cardano/Pool/DB/Sqlite.hs b/lib/core/src/Cardano/Pool/DB/Sqlite.hs index 3c3d96c2be0..70b3ba07693 100644 --- a/lib/core/src/Cardano/Pool/DB/Sqlite.hs +++ b/lib/core/src/Cardano/Pool/DB/Sqlite.hs @@ -212,8 +212,12 @@ newDBLayer trace fp timeInterpreter = do pure (foldl' toMap Map.empty production) readTotalProduction = - Map.fromList . rights . fmap parseRow <$> rawSql query [] + Map.fromList . fmap (assertSuccess . parseRow) <$> rawSql query [] where + assertSuccess = flip either id $ \e -> error $ mconcat + [ "readTotalProduction: unexpected parse failure: " + , show e + ] query = T.unwords [ "SELECT pool_id, count(pool_id) as block_count" , "FROM pool_production"