packages feed

CouchDB 0.8.1.1 → 0.8.1.2

raw patch · 3 files changed

+8/−9 lines, 3 filesdep ~HTTPdep ~jsonPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: HTTP, json

API changes (from Hackage documentation)

- Database.CouchDB: getAndUpdateDoc :: (JSON a) => DB -> Doc -> a -> IO a -> CouchMonad (Maybe Rev)
+ Database.CouchDB: getAndUpdateDoc :: (JSON a) => DB -> Doc -> (a -> IO a) -> CouchMonad (Maybe Rev)

Files

CouchDB.cabal view
@@ -1,5 +1,5 @@ Name:           CouchDB-Version:        0.8.1.1+Version:        0.8.1.2 Cabal-Version:	>= 1.2.4 Copyright:      Copyright (c) 2008 Arjun Guha and Brendan Hickey License:        BSD3@@ -19,7 +19,7 @@   Hs-Source-Dirs:     src   Build-Depends:-    base, mtl, containers, network, HTTP<4000.0.0, json>=0.3.3+    base, mtl, containers, network, HTTP>=4000.0.4, json>=0.4.3   ghc-options:     -fwarn-incomplete-patterns   Extensions:     
src/Database/CouchDB/HTTP.hs view
@@ -14,7 +14,6 @@ import Data.IORef import Control.Concurrent import Network.TCP-import Network.Stream import Network.HTTP import Network.URI import Control.Exception (finally)@@ -23,7 +22,7 @@ -- |Describes a connection to a CouchDB database.  This type is -- encapsulated by 'CouchMonad'. data CouchConn = CouchConn -  { ccConn :: IORef Connection +  { ccConn :: IORef (HandleStream String)    , ccURI :: URI   , ccHostname :: String   , ccPort :: Int@@ -60,7 +59,7 @@                         }          ,conn ) -getConn :: CouchMonad Connection+getConn :: CouchMonad (HandleStream String) getConn = CouchMonad $ \conn -> do   r <- readIORef (ccConn conn)   return (r,conn)@@ -68,7 +67,7 @@ reopenConnection :: CouchMonad () reopenConnection = CouchMonad $ \conn -> do   c <- liftIO $ readIORef (ccConn conn) >>= close-  connection <- liftIO $ openTCPPort (ccHostname conn) (ccPort conn)+  connection <- liftIO $ openTCPConnection (ccHostname conn) (ccPort conn)   writeIORef (ccConn conn) connection   return ((), conn) @@ -86,7 +85,7 @@        -> RequestMethod         -> [Header]         -> String -- ^body of the request-       -> CouchMonad Response+       -> CouchMonad (Response String) request path query method headers body = do   url <- makeURL path query   let allHeaders = (makeHeaders (length body)) ++ headers @@ -111,7 +110,7 @@ runCouchDB hostname port (CouchMonad m) = do   let uriAuth = URIAuth "" hostname (':':(show port))   let baseURI = URI "http:" (Just uriAuth) "" "" ""-  c <- openTCPPort hostname port+  c <- openTCPConnection hostname port   conn <- newIORef c   (a,_) <- m (CouchConn conn baseURI hostname port)            `finally` (do c <- readIORef conn
src/Database/CouchDB/JSON.hs view
@@ -17,7 +17,7 @@ jsonString _ = fail "expected a string"  jsonInt :: (Integral n) => JSValue -> Result n-jsonInt (JSRational r) = case (numerator r, denominator r) of+jsonInt (JSRational _ r) = case (numerator r, denominator r) of   (n,1) -> return (fromIntegral n)   otherwise -> fail "expected an integer; got a rational" jsonInt _ = fail "expected an integer"