@@ -140,13 +140,15 @@ import Database.LSMTree.Internal.Paths (SessionRoot (..),
140140 SnapshotMetaDataFile (.. ), SnapshotName )
141141import qualified Database.LSMTree.Internal.Paths as Paths
142142import Database.LSMTree.Internal.Range (Range (.. ))
143+ import Database.LSMTree.Internal.RawBytes (RawBytes )
143144import Database.LSMTree.Internal.Readers (OffsetKey (.. ))
144145import qualified Database.LSMTree.Internal.Readers as Readers
145146import Database.LSMTree.Internal.Run (Run )
146147import qualified Database.LSMTree.Internal.Run as Run
147148import Database.LSMTree.Internal.RunNumber
148149import Database.LSMTree.Internal.Serialise (ResolveSerialisedValue ,
149- SerialisedBlob (.. ), SerialisedKey , SerialisedValue )
150+ SerialisedBlob (.. ), SerialisedKey (SerialisedKey ),
151+ SerialisedValue )
150152import Database.LSMTree.Internal.Snapshot
151153import Database.LSMTree.Internal.Snapshot.Codec
152154import Database.LSMTree.Internal.UniqCounter
@@ -206,7 +208,7 @@ data LSMTreeTrace =
206208 -- | Cursors are identified by a unique number.
207209 CursorId
208210 CursorTrace
209- deriving stock Show
211+ deriving stock ( Show , Eq )
210212
211213-- | Sessions are identified by the path to their root directory.
212214newtype SessionId = SessionId FsPath
@@ -243,7 +245,7 @@ data SessionTrace =
243245
244246 -- | We are retrieving blobs.
245247 | TraceRetrieveBlobs Int
246- deriving stock Show
248+ deriving stock ( Show , Eq )
247249
248250-- | Trace messages related to tables.
249251data TableTrace =
@@ -313,7 +315,7 @@ data TableTrace =
313315 -- | INTERNAL: debug traces for the merge schedule
314316 | TraceMerge (AtLevel MergeTrace )
315317#endif
316- deriving stock Show
318+ deriving stock ( Show , Eq )
317319
318320contramapTraceMerge :: Monad m => Tracer m TableTrace -> Tracer m (AtLevel MergeTrace )
319321#ifdef DEBUG_TRACES
@@ -333,7 +335,9 @@ data CursorTrace =
333335 | TraceNewCursor
334336 -- | The parent table
335337 TableId
336- OffsetKey
338+ -- | The optional serialised key that is used as the initial offset for
339+ -- the cursor.
340+ (Maybe RawBytes )
337341
338342 -- | We are closing the cursor. A 'TraceClosedCursor' message should follow
339343 -- if successful.
@@ -352,7 +356,7 @@ data CursorTrace =
352356 Int
353357 -- | Actual number of entries read.
354358 Int
355- deriving stock Show
359+ deriving stock ( Show , Eq )
356360
357361{- ------------------------------------------------------------------------------
358362 Session
@@ -1426,7 +1430,9 @@ newCursor !resolve !offsetKey t = withKeepTableOpen t $ \tEnv -> do
14261430 cursorId <- uniqueToCursorId <$>
14271431 incrUniqCounter (tableSessionUniqCounter t)
14281432 let cursorTracer = TraceCursor cursorId `contramap` lsmTreeTracer cursorSession
1429- traceWith cursorTracer $ TraceNewCursor (tableId t) offsetKey
1433+ traceWith cursorTracer $ TraceNewCursor (tableId t) $ case offsetKey of
1434+ NoOffsetKey -> Nothing
1435+ OffsetKey (SerialisedKey bytes) -> Just bytes
14301436
14311437 -- We acquire a read-lock on the session open-state to prevent races, see
14321438 -- 'sessionOpenTables'.
0 commit comments