lsm-tree-0.1.0.0: Log-structured merge-trees
Safe HaskellSafe-Inferred
LanguageGHC2021

Database.LSMTree.Internal.Cursor

Synopsis

Documentation

readEntriesWhile :: forall h m res. (MonadMask m, MonadST m, MonadSTM m) => ResolveSerialisedValue -> (SerialisedKey -> Bool) -> (SerialisedKey -> SerialisedValue -> Maybe (WeakBlobRef m h) -> res) -> Readers m h -> Int -> m (Vector res, HasMore) Source #

General notes on the code below: * it is quite similar to the one in Internal.Merge, but different enough that it's probably easier to keep them separate * any function that doesn't take a hasMore argument assumes that the readers have not been drained yet, so we must check before calling them * there is probably opportunity for optimisations