@@ -60,7 +60,7 @@ import Database.LSMTree.Internal.RunNumber
6060import Database.LSMTree.Internal.Serialise (SerialisedBlob ,
6161 SerialisedKey , SerialisedValue )
6262import Database.LSMTree.Internal.UniqCounter
63- import Database.LSMTree.Internal.Vector (mapStrict )
63+ import Database.LSMTree.Internal.Vector (forMStrict , mapStrict )
6464import Database.LSMTree.Internal.WriteBuffer (WriteBuffer )
6565import qualified Database.LSMTree.Internal.WriteBuffer as WB
6666import Database.LSMTree.Internal.WriteBufferBlobs (WriteBufferBlobs )
@@ -202,7 +202,7 @@ mkLevelsCache reg lvls = do
202202 -> Levels m h
203203 -> m a
204204 foldRunAndMergeM k1 k2 ls =
205- fmap fold $ V. forM ls $ \ (Level ir rs) -> do
205+ fmap fold $ forMStrict ls $ \ (Level ir rs) -> do
206206 incoming <- case ir of
207207 Single r -> k1 r
208208 Merging _ mr -> k2 mr
@@ -253,7 +253,7 @@ duplicateLevelsCache ::
253253 -> LevelsCache m h
254254 -> m (LevelsCache m h )
255255duplicateLevelsCache reg cache = do
256- rs' <- V. forM (cachedRuns cache) $ \ r ->
256+ rs' <- forMStrict (cachedRuns cache) $ \ r ->
257257 withRollback reg (dupRef r) releaseRef
258258 return cache { cachedRuns = rs' }
259259
@@ -302,9 +302,9 @@ duplicateLevels ::
302302 -> Levels m h
303303 -> m (Levels m h )
304304duplicateLevels reg levels =
305- V. forM levels $ \ Level {incomingRun, residentRuns} -> do
305+ forMStrict levels $ \ Level {incomingRun, residentRuns} -> do
306306 incomingRun' <- duplicateIncomingRun reg incomingRun
307- residentRuns' <- V. forM residentRuns $ \ r ->
307+ residentRuns' <- forMStrict residentRuns $ \ r ->
308308 withRollback reg (dupRef r) releaseRef
309309 return $! Level {
310310 incomingRun = incomingRun',
0 commit comments