diff --git a/persistent-mongoDB/Database/Persist/MongoDB.hs b/persistent-mongoDB/Database/Persist/MongoDB.hs index 67e37f9a7..1e3abe30f 100644 --- a/persistent-mongoDB/Database/Persist/MongoDB.hs +++ b/persistent-mongoDB/Database/Persist/MongoDB.hs @@ -113,6 +113,8 @@ import Data.Char (toUpper) import Data.Word (Word16) import Data.Monoid (mappend) import Data.Typeable +import Control.Monad.Trans.Resource (MonadThrow (..)) +import Control.Monad.Trans.Control (MonadBaseControl) #ifdef DEBUG import FileLocation (debug) @@ -392,7 +394,11 @@ instance (Applicative m, Functor m, Trans.MonadIO m, MonadBaseControl IO m) => P t = entityDef $ Just $ dummyFromKey k instance MonadThrow m => MonadThrow (DB.Action m) where +#if MIN_VERSION_resourcet(1,1,0) + throwM = lift . throwM +#else monadThrow = lift . monadThrow +#endif instance (Applicative m, Functor m, Trans.MonadIO m, MonadBaseControl IO m) => PersistUnique (DB.Action m) where getBy uniq = do diff --git a/persistent-mongoDB/persistent-mongoDB.cabal b/persistent-mongoDB/persistent-mongoDB.cabal index 4e13e2f32..a0d670ff9 100644 --- a/persistent-mongoDB/persistent-mongoDB.cabal +++ b/persistent-mongoDB/persistent-mongoDB.cabal @@ -1,5 +1,5 @@ name: persistent-mongoDB -version: 1.3.0.3 +version: 1.3.0.4 license: MIT license-file: LICENSE author: Greg Weber diff --git a/persistent-mysql/Database/Persist/MySQL.hs b/persistent-mysql/Database/Persist/MySQL.hs index c7c00b784..a441ac93e 100644 --- a/persistent-mysql/Database/Persist/MySQL.hs +++ b/persistent-mysql/Database/Persist/MySQL.hs @@ -47,6 +47,8 @@ import qualified Database.MySQL.Simple.Types as MySQL import qualified Database.MySQL.Base as MySQLBase import qualified Database.MySQL.Base.Types as MySQLBase +import Control.Monad.Trans.Control (MonadBaseControl) +import Control.Monad.Trans.Resource (MonadResource, runResourceT) -- | Create a MySQL connection pool and run the given action. diff --git a/persistent-mysql/persistent-mysql.cabal b/persistent-mysql/persistent-mysql.cabal index 0e5a3f8ce..9852b8bcf 100644 --- a/persistent-mysql/persistent-mysql.cabal +++ b/persistent-mysql/persistent-mysql.cabal @@ -1,5 +1,5 @@ name: persistent-mysql -version: 1.3.0.1 +version: 1.3.0.2 license: MIT license-file: LICENSE author: Felipe Lessa , Michael Snoyman @@ -37,6 +37,7 @@ library , monad-control >= 0.2 , aeson >= 0.5 , conduit >= 0.5.3 + , resourcet exposed-modules: Database.Persist.MySQL ghc-options: -Wall diff --git a/persistent-postgresql/Database/Persist/Postgresql.hs b/persistent-postgresql/Database/Persist/Postgresql.hs index b053a6dee..c227e9dba 100644 --- a/persistent-postgresql/Database/Persist/Postgresql.hs +++ b/persistent-postgresql/Database/Persist/Postgresql.hs @@ -19,6 +19,8 @@ module Database.Persist.Postgresql import Database.Persist.Sql import Data.Fixed (Pico) +import Control.Monad.Trans.Control (MonadBaseControl) +import Control.Monad.Trans.Resource (MonadResource, runResourceT) import qualified Database.PostgreSQL.Simple as PG import qualified Database.PostgreSQL.Simple.BuiltinTypes as PG diff --git a/persistent-postgresql/persistent-postgresql.cabal b/persistent-postgresql/persistent-postgresql.cabal index 4e062c275..b41ae6574 100644 --- a/persistent-postgresql/persistent-postgresql.cabal +++ b/persistent-postgresql/persistent-postgresql.cabal @@ -1,5 +1,5 @@ name: persistent-postgresql -version: 1.3.0.3 +version: 1.3.0.4 license: MIT license-file: LICENSE author: Felipe Lessa, Michael Snoyman @@ -27,6 +27,7 @@ library , time >= 1.1 , aeson >= 0.5 , conduit >= 0.5.3 + , resourcet exposed-modules: Database.Persist.Postgresql ghc-options: -Wall diff --git a/persistent-sqlite/Database/Persist/Sqlite.hs b/persistent-sqlite/Database/Persist/Sqlite.hs index 6168951be..efb4aa0c4 100644 --- a/persistent-sqlite/Database/Persist/Sqlite.hs +++ b/persistent-sqlite/Database/Persist/Sqlite.hs @@ -34,6 +34,8 @@ import Control.Applicative import Data.Int (Int64) import Control.Monad ((>=>)) import Data.Monoid ((<>)) +import Control.Monad.Trans.Control (MonadBaseControl) +import Control.Monad.Trans.Resource (ResourceT, MonadResource, runResourceT) createSqlitePool :: MonadIO m => Text -> Int -> m ConnectionPool createSqlitePool s = createSqlPool $ open' s diff --git a/persistent-sqlite/persistent-sqlite.cabal b/persistent-sqlite/persistent-sqlite.cabal index 3dc70df15..521879afd 100644 --- a/persistent-sqlite/persistent-sqlite.cabal +++ b/persistent-sqlite/persistent-sqlite.cabal @@ -1,5 +1,5 @@ name: persistent-sqlite -version: 1.3.0.3 +version: 1.3.0.4 license: MIT license-file: LICENSE author: Michael Snoyman @@ -31,6 +31,7 @@ library , aeson >= 0.5 , conduit >= 0.5.3 , monad-logger >= 0.2.4 + , resourcet exposed-modules: Database.Sqlite Database.Persist.Sqlite ghc-options: -Wall diff --git a/persistent-template/persistent-template.cabal b/persistent-template/persistent-template.cabal index fd9185623..98ec312ab 100644 --- a/persistent-template/persistent-template.cabal +++ b/persistent-template/persistent-template.cabal @@ -1,5 +1,5 @@ name: persistent-template -version: 1.3.1.2 +version: 1.3.1.3 license: MIT license-file: LICENSE author: Michael Snoyman diff --git a/persistent/Database/Persist/Sql/Orphan/PersistQuery.hs b/persistent/Database/Persist/Sql/Orphan/PersistQuery.hs index 9be18075f..328e76d51 100644 --- a/persistent/Database/Persist/Sql/Orphan/PersistQuery.hs +++ b/persistent/Database/Persist/Sql/Orphan/PersistQuery.hs @@ -20,6 +20,7 @@ import Data.Int (Int64) import Control.Monad.Logger import Control.Monad.IO.Class import Control.Monad.Trans.Class +import Control.Monad.Trans.Resource (MonadResource) import Control.Exception (throwIO) import qualified Data.Conduit.List as CL import Data.Conduit diff --git a/persistent/Database/Persist/Sql/Orphan/PersistStore.hs b/persistent/Database/Persist/Sql/Orphan/PersistStore.hs index 7f0d556c4..45aaa716a 100644 --- a/persistent/Database/Persist/Sql/Orphan/PersistStore.hs +++ b/persistent/Database/Persist/Sql/Orphan/PersistStore.hs @@ -18,8 +18,9 @@ import Control.Monad.IO.Class import Data.ByteString.Char8 (readInteger) import Data.Maybe (isJust) import Data.List (find) +import Control.Monad.Trans.Resource (MonadResource) -instance (C.MonadResource m, MonadLogger m) => PersistStore (SqlPersistT m) where +instance (MonadResource m, MonadLogger m) => PersistStore (SqlPersistT m) where type PersistMonadBackend (SqlPersistT m) = SqlBackend insert val = do conn <- askSqlConn diff --git a/persistent/Database/Persist/Sql/Orphan/PersistUnique.hs b/persistent/Database/Persist/Sql/Orphan/PersistUnique.hs index e8b2a64a1..f8c680e8b 100644 --- a/persistent/Database/Persist/Sql/Orphan/PersistUnique.hs +++ b/persistent/Database/Persist/Sql/Orphan/PersistUnique.hs @@ -12,6 +12,7 @@ import Data.Monoid ((<>)) import Control.Monad.Logger import qualified Data.Conduit.List as CL import Data.Conduit +import Control.Monad.Trans.Resource (MonadResource) instance (MonadResource m, MonadLogger m) => PersistUnique (SqlPersistT m) where deleteBy uniq = do diff --git a/persistent/Database/Persist/Sql/Raw.hs b/persistent/Database/Persist/Sql/Raw.hs index 73189ddaf..3ac2ca93a 100644 --- a/persistent/Database/Persist/Sql/Raw.hs +++ b/persistent/Database/Persist/Sql/Raw.hs @@ -16,6 +16,7 @@ import Data.Int (Int64) import Control.Monad.Trans.Class (lift) import qualified Data.Text as T import Data.Conduit +import Control.Monad.Trans.Resource (MonadResource) rawQuery :: (MonadSqlPersist m, MonadResource m) => Text diff --git a/persistent/Database/Persist/Sql/Types.hs b/persistent/Database/Persist/Sql/Types.hs index bbe85e37b..6b64d1c1e 100644 --- a/persistent/Database/Persist/Sql/Types.hs +++ b/persistent/Database/Persist/Sql/Types.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE TypeFamilies #-} @@ -93,8 +94,13 @@ type SqlPersist = SqlPersistT type SqlPersistM = SqlPersistT (NoLoggingT (ResourceT IO)) +#if MIN_VERSION_resourcet(1,1,0) +instance MonadThrow m => MonadThrow (SqlPersistT m) where + throwM = lift . throwM +#else instance MonadThrow m => MonadThrow (SqlPersistT m) where monadThrow = lift . monadThrow +#endif instance MonadBase backend m => MonadBase backend (SqlPersistT m) where liftBase = lift . liftBase diff --git a/persistent/persistent.cabal b/persistent/persistent.cabal index 0182defe2..8fe9b5bee 100644 --- a/persistent/persistent.cabal +++ b/persistent/persistent.cabal @@ -1,5 +1,5 @@ name: persistent -version: 1.3.0.4 +version: 1.3.0.5 license: MIT license-file: LICENSE author: Michael Snoyman diff --git a/pool-conduit/pool-conduit.cabal b/pool-conduit/pool-conduit.cabal index 52bd9f30a..81f1f4698 100644 --- a/pool-conduit/pool-conduit.cabal +++ b/pool-conduit/pool-conduit.cabal @@ -1,5 +1,5 @@ name: pool-conduit -version: 0.1.2.1 +version: 0.1.2.2 license: MIT license-file: LICENSE author: Michael Snoyman @@ -18,7 +18,7 @@ library build-depends: base >= 4 && < 5 , resource-pool >= 0.2.1 && < 0.3 , transformers >= 0.2.1 - , resourcet >= 0.3 && < 0.5 + , resourcet >= 0.3 && < 1.2 , monad-control exposed-modules: Data.Conduit.Pool