Share LookupResult and RangeLookupResult for Monoidal tables
These are simple types.
These are simple types.
import Database.LSMTree.Common (Range (..),
SomeSerialisationConstraint (..),
SomeUpdateConstraint (..))
import Database.LSMTree.Monoidal (Update (..))
import Database.LSMTree.Monoidal (LookupResult (..),
RangeLookupResult (..), Update (..))
import GHC.Exts (IsList (..))
{-------------------------------------------------------------------------------
Table querying and updates
-------------------------------------------------------------------------------}
-- | Result of a single point lookup.
data LookupResult k v =
NotFound !k
| Found !k !v
deriving (Eq, Show)
-- | Perform a batch of lookups.
--
-- Lookups can be performed concurrently from multiple Haskell threads.
| k <- ks
]
-- | A result for one point in a range lookup.
data RangeLookupResult k v =
FoundInRange !k !v
deriving (Eq, Show)
-- | Perform a range lookup.
--
-- Range lookups can be performed concurrently from multiple Haskell threads.
data LookupResult k v =
NotFound !k
| Found !k !v
deriving (Eq, Show)
-- | Perform a batch of lookups.
--
-- | A result for one point in a range lookup.
data RangeLookupResult k v =
FoundInRange !k !v
deriving (Eq, Show)
-- | Perform a range lookup.
--
Alonzo builds