riak-0.4.1.1: A Haskell client for the Riak decentralized data store

Portabilityportable
Stabilityexperimental
MaintainerBryan O'Sullivan <bos@mailrank.com>

Network.Riak.JSON

Description

This module allows storage and retrieval of JSON-encoded data.

The functions in this module do not perform any conflict resolution.

Synopsis

Documentation

data JSON a Source

Instances

Functor JSON 
Typeable1 JSON 
Bounded a => Bounded (JSON a) 
Eq a => Eq (JSON a) 
Ord a => Ord (JSON a) 
Read a => Read (JSON a) 
Show a => Show (JSON a) 
Monoid a => Monoid (JSON a) 
(FromJSON a, ToJSON a) => IsContent (JSON a) 

json :: (FromJSON a, ToJSON a) => a -> JSON aSource

Wrap up a value so that it will be encoded and decoded as JSON when converted to/from Content.

plain :: JSON a -> aSource

Unwrap a JSON-wrapped value.

get :: (FromJSON c, ToJSON c) => Connection -> Bucket -> Key -> R -> IO (Maybe ([c], VClock))Source

Retrieve a value. This may return multiple conflicting siblings. Choosing among them is your responsibility.

getMany :: (FromJSON c, ToJSON c) => Connection -> Bucket -> [Key] -> R -> IO [Maybe ([c], VClock)]Source

put :: (FromJSON c, ToJSON c) => Connection -> Bucket -> Key -> Maybe VClock -> c -> W -> DW -> IO ([c], VClock)Source

Store a single value. This may return multiple conflicting siblings. Choosing among them, and storing a new value, is your responsibility.

You should only supply Nothing as a T.VClock if you are sure that the given bucket+key combination does not already exist. If you omit a T.VClock but the bucket+key does exist, your value will not be stored.

put_ :: (FromJSON c, ToJSON c) => Connection -> Bucket -> Key -> Maybe VClock -> c -> W -> DW -> IO ()Source

Store a single value, without the possibility of conflict resolution.

You should only supply Nothing as a T.VClock if you are sure that the given bucket+key combination does not already exist. If you omit a T.VClock but the bucket+key does exist, your value will not be stored, and you will not be notified.

putMany :: (FromJSON c, ToJSON c) => Connection -> Bucket -> [(Key, Maybe VClock, c)] -> W -> DW -> IO [([c], VClock)]Source

Store many values. This may return multiple conflicting siblings for each value stored. Choosing among them, and storing a new value in each case, is your responsibility.

You should only supply Nothing as a T.VClock if you are sure that the given bucket+key combination does not already exist. If you omit a T.VClock but the bucket+key does exist, your value will not be stored.

putMany_ :: (FromJSON c, ToJSON c) => Connection -> Bucket -> [(Key, Maybe VClock, c)] -> W -> DW -> IO ()Source

Store many values, without the possibility of conflict resolution.

You should only supply Nothing as a T.VClock if you are sure that the given bucket+key combination does not already exist. If you omit a T.VClock but the bucket+key does exist, your value will not be stored, and you will not be notified.