@@ -38,11 +38,15 @@ import Database.LSMTree.Internal as Internal
3838import Database.LSMTree.Internal.BlobFile
3939import Database.LSMTree.Internal.BlobRef
4040import Database.LSMTree.Internal.ChecksumHandle
41+ import Database.LSMTree.Internal.Chunk
4142import Database.LSMTree.Internal.Config
4243import Database.LSMTree.Internal.CRC32C
4344import Database.LSMTree.Internal.Entry
45+ import Database.LSMTree.Internal.Index
4446import Database.LSMTree.Internal.Index.Compact
4547import Database.LSMTree.Internal.Index.CompactAcc
48+ import Database.LSMTree.Internal.Index.Ordinary
49+ import Database.LSMTree.Internal.Index.OrdinaryAcc
4650import Database.LSMTree.Internal.Merge
4751import qualified Database.LSMTree.Internal.Merge as Merge
4852import Database.LSMTree.Internal.MergeSchedule
@@ -64,6 +68,7 @@ import Database.LSMTree.Internal.RunReaders
6468import Database.LSMTree.Internal.Serialise
6569import Database.LSMTree.Internal.UniqCounter
6670import Database.LSMTree.Internal.Unsliced
71+ import Database.LSMTree.Internal.Vector.Growing
6772import Database.LSMTree.Internal.WriteBuffer
6873import Database.LSMTree.Internal.WriteBufferBlobs
6974import GHC.Generics
@@ -275,7 +280,7 @@ deriving anyclass instance Typeable (PrimState m)
275280 => NoThunks (FilePointer m )
276281
277282{- ------------------------------------------------------------------------------
278- IndexCompact
283+ Index
279284-------------------------------------------------------------------------------}
280285
281286deriving stock instance Generic IndexCompact
@@ -284,6 +289,12 @@ deriving anyclass instance NoThunks IndexCompact
284289deriving stock instance Generic PageNo
285290deriving anyclass instance NoThunks PageNo
286291
292+ deriving stock instance Generic IndexOrdinary
293+ deriving anyclass instance NoThunks IndexOrdinary
294+
295+ deriving stock instance Generic Index
296+ deriving anyclass instance NoThunks Index
297+
287298{- ------------------------------------------------------------------------------
288299 MergeSchedule
289300-------------------------------------------------------------------------------}
@@ -398,7 +409,7 @@ deriving anyclass instance Typeable s
398409 => NoThunks (RunAcc s )
399410
400411{- ------------------------------------------------------------------------------
401- IndexCompactAcc
412+ IndexAcc
402413-------------------------------------------------------------------------------}
403414
404415deriving stock instance Generic (IndexCompactAcc s )
@@ -408,6 +419,30 @@ deriving anyclass instance Typeable s
408419deriving stock instance Generic (SMaybe a )
409420deriving anyclass instance NoThunks a => NoThunks (SMaybe a )
410421
422+ deriving stock instance Generic (IndexOrdinaryAcc s )
423+ deriving anyclass instance Typeable s
424+ => NoThunks (IndexOrdinaryAcc s )
425+
426+ deriving stock instance Generic (IndexAcc s )
427+ deriving anyclass instance Typeable s
428+ => NoThunks (IndexAcc s )
429+
430+ {- ------------------------------------------------------------------------------
431+ GrowingVector
432+ -------------------------------------------------------------------------------}
433+
434+ deriving stock instance Generic (GrowingVector s a )
435+ deriving anyclass instance (Typeable s , Typeable a , NoThunks a )
436+ => NoThunks (GrowingVector s a )
437+
438+ {- ------------------------------------------------------------------------------
439+ Baler
440+ -------------------------------------------------------------------------------}
441+
442+ deriving stock instance Generic (Baler s )
443+ deriving anyclass instance Typeable s
444+ => NoThunks (Baler s )
445+
411446{- ------------------------------------------------------------------------------
412447 PageAcc
413448-------------------------------------------------------------------------------}
@@ -681,6 +716,10 @@ deriving via OnlyCheckWhnf (VUM.MVector s Word64)
681716deriving via OnlyCheckWhnf (VUM. MVector s Bit )
682717 instance Typeable s => NoThunks (VUM. MVector s Bit )
683718
719+ -- TODO: upstream to @nothunks@
720+ deriving via OnlyCheckWhnf (VP. MVector s Word8 )
721+ instance Typeable s => NoThunks (VP. MVector s Word8 )
722+
684723{- ------------------------------------------------------------------------------
685724 ST
686725-------------------------------------------------------------------------------}
0 commit comments