JunkDB-0.1.0.0

Safe HaskellNone

Database.KVS

Documentation

class Monad s => KVS c s k v | c -> s, c -> k, c -> v whereSource

Methods

insert :: c -> k -> v -> s ()Source

lookup :: c -> k -> s (Maybe v)Source

deleteSource

Arguments

:: c

Container

-> k

Key

-> s (Maybe Bool)

success, failed or unknown

Delete specified key-value pair from container.

acceptSource

Arguments

:: c

Container

-> k

Key

-> s b

Action for key not found

-> (v -> s b)

Action for key found (with Lock)

-> s b 

Lookup value

Instances

KVS FileSystemKVS IO FilePath ByteString 
KVS Memcached IO ByteString ByteString 
Monad s => KVS (BucketKVS c s v) s ByteString v 
(KVS c s k' v', Monad s) => KVS (WrappedKVS c k' v' s k v) s k v 

class Monad s => EnumeratableKVS c s k v | c -> s, c -> k, c -> v whereSource

Methods

keys :: c -> Source (ResourceT s) kSource

elems :: c -> Source (ResourceT s) vSource

elemsWithKey :: c -> Source (ResourceT s) (k, v)Source

class Monad s => WipableKVS c s | c -> s whereSource

Methods

wipe :: c -> s ()Source

Instances

WipableKVS FileSystemKVS IO 
(Monad s, WipableKVS c s) => WipableKVS (BucketKVS c s v) s 
(Monad s, WipableKVS c s) => WipableKVS (WrappedKVS c k' v' s k v) s 

data BucketKVS c s v whereSource

Constructors

BucketKVS :: KVS c s ByteString v => ByteString -> c -> BucketKVS c s v 

Instances

(Monad s, WipableKVS c s) => WipableKVS (BucketKVS c s v) s 
Monad s => KVS (BucketKVS c s v) s ByteString v 

data WrappedKVS c k' v' s k v Source

Instances

(Monad s, WipableKVS c s) => WipableKVS (WrappedKVS c k' v' s k v) s 
(Monad s, EnumeratableKVS c s k' v') => EnumeratableKVS (WrappedKVS c k' v' s k v) s k v 
(KVS c s k' v', Monad s) => KVS (WrappedKVS c k' v' s k v) s k v 

lookupWithDefault :: (Monad s, Default v, KVS c s k v) => c -> k -> s vSource

wrap :: KVS a s k' v' => (k -> k') -> (k' -> k) -> (v -> v') -> (v' -> v) -> a -> WrappedKVS a k' v' s k vSource