module Database.Liszt (
openLiszt,
closeLiszt,
withLiszt,
LisztHandle,
Key,
Tag,
Transaction,
clear,
insert,
insertTagged,
insertRaw,
commit,
commitFile,
Offset(..),
Request(..),
defRequest,
Connection,
withConnection,
fetch
) where
import Database.Liszt.Internal
import Database.Liszt.Network
import Database.Liszt.Tracker
import Data.Winery
commitFile :: FilePath -> Transaction a -> IO a
commitFile path m = withLiszt path $ \h -> commit h m
insert :: Serialise a => Key -> a -> Transaction ()
insert k v = insertRaw k mempty (toEncoding v)
{-# INLINE insert #-}
insertTagged :: (Serialise t, Serialise a) => Key -> t -> a -> Transaction ()
insertTagged k t v = insertRaw k (toEncoding t) (toEncoding v)
{-# INLINE insertTagged #-}