packages feed

monad-persist 0.0.1.1 → 0.0.1.2

raw patch · 4 files changed

+63/−56 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Monad.Persist: instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.Trans.Control.MonadBaseControl GHC.Types.IO m) => Control.Monad.Persist.MonadPersist backend (Control.Monad.Persist.PersistT backend m)
+ Control.Monad.Persist: instance Control.Monad.Trans.Control.MonadBaseControl GHC.Types.IO m => Control.Monad.Persist.MonadPersist backend (Control.Monad.Persist.PersistT backend m)
- Control.Monad.Persist: runSqlPersistT :: (MonadIO m, MonadBaseControl IO m) => SqlPersistT m a -> SqlBackend -> m a
+ Control.Monad.Persist: runSqlPersistT :: MonadBaseControl IO m => SqlPersistT m a -> SqlBackend -> m a

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## 0.0.1.2 (April 26th, 2017)++- Removed the need for `MonadIO` when running `PersistT`, since `MonadBaseControl IO` is already enough.+ ## 0.0.1.1 (April 24th, 2017)  - Added instances for `MonadThrow`, `MonadCatch`, and `MonadMask` to `PersistT`.
library/Control/Monad/Persist.hs view
@@ -39,7 +39,7 @@  import qualified Database.Persist.Sql as Sql -import Control.Monad.Base (MonadBase)+import Control.Monad.Base (MonadBase, liftBase) import Control.Monad.Catch (MonadCatch, MonadMask, MonadThrow) import Control.Monad.Except (MonadError, ExceptT) import Control.Monad.IO.Class (MonadIO)@@ -108,7 +108,7 @@  -- | Runs a 'SqlPersistT' computation against a SQL database. __Unlike__ -- 'runPersistT', the computation is run inside a transaction.-runSqlPersistT :: (MonadIO m, MonadBaseControl IO m) => SqlPersistT m a -> SqlBackend -> m a+runSqlPersistT :: MonadBaseControl IO m => SqlPersistT m a -> SqlBackend -> m a runSqlPersistT (PersistT m) = runSqlConn m {-# INLINE runSqlPersistT #-} @@ -391,54 +391,57 @@ -- | A simple alias that specializes 'MonadPersist' to 'SqlBackend'. type MonadSqlPersist = MonadPersist SqlBackend -instance (MonadIO m, MonadBaseControl IO m) => MonadPersist backend (PersistT backend m) where-  get a = PersistT $ Sql.get a-  insert a = PersistT $ Sql.insert a-  insert_ a = PersistT $ Sql.insert_ a-  insertMany a = PersistT $ Sql.insertMany a-  insertMany_ a = PersistT $ Sql.insertMany_ a-  insertEntityMany a = PersistT $ Sql.insertEntityMany a-  insertKey a b = PersistT $ Sql.insertKey a b-  repsert a b = PersistT $ Sql.repsert a b-  replace a b = PersistT $ Sql.replace a b-  delete a = PersistT $ Sql.delete a-  update a b = PersistT $ Sql.update a b-  updateGet a b = PersistT $ Sql.updateGet a b-  getJust a = PersistT $ Sql.getJust a-  belongsTo a b = PersistT $ Sql.belongsTo a b-  belongsToJust a b = PersistT $ Sql.belongsToJust a b-  insertEntity a = PersistT $ Sql.insertEntity a-  getBy a = PersistT $ Sql.getBy a-  deleteBy a = PersistT $ Sql.deleteBy a-  insertUnique a = PersistT $ Sql.insertUnique a-  upsert a b = PersistT $ Sql.upsert a b-  getByValue a = PersistT $ Sql.getByValue a-  insertBy a = PersistT $ Sql.insertBy a-  replaceUnique a b = PersistT $ Sql.replaceUnique a b-  checkUnique a = PersistT $ Sql.checkUnique a-  onlyUnique a = PersistT $ Sql.onlyUnique a-  selectFirst a b = PersistT $ Sql.selectFirst a b-  count a = PersistT $ Sql.count a-  updateWhere a b = PersistT $ Sql.updateWhere a b-  deleteWhere a = PersistT $ Sql.deleteWhere a-  selectList a b = PersistT $ Sql.selectList a b-  selectKeysList a b = PersistT $ Sql.selectKeysList a b-  deleteCascade a = PersistT $ Sql.deleteCascade a-  deleteCascadeWhere a = PersistT $ Sql.deleteCascadeWhere a-  parseMigration a = PersistT $ Sql.parseMigration a-  parseMigration' a = PersistT $ Sql.parseMigration' a-  printMigration a = PersistT $ Sql.printMigration a-  showMigration a = PersistT $ Sql.showMigration a-  getMigration a = PersistT $ Sql.getMigration a-  runMigration a = PersistT $ Sql.runMigration a-  runMigrationSilent a = PersistT $ Sql.runMigrationSilent a-  runMigrationUnsafe a = PersistT $ Sql.runMigrationUnsafe a-  rawExecute a b = PersistT $ Sql.rawExecute a b-  rawExecuteCount a b = PersistT $ Sql.rawExecuteCount a b-  rawSql a b = PersistT $ Sql.rawSql a b-  transactionSave = PersistT Sql.transactionSave-  transactionUndo = PersistT Sql.transactionUndo+liftPersistT :: MonadBaseControl IO m => ReaderT backend IO a -> PersistT backend m a+liftPersistT x = PersistT $ ask >>= \conn -> liftBase $ runReaderT x conn +instance MonadBaseControl IO m => MonadPersist backend (PersistT backend m) where+  get a = liftPersistT $ Sql.get a+  insert a = liftPersistT $ Sql.insert a+  insert_ a = liftPersistT $ Sql.insert_ a+  insertMany a = liftPersistT $ Sql.insertMany a+  insertMany_ a = liftPersistT $ Sql.insertMany_ a+  insertEntityMany a = liftPersistT $ Sql.insertEntityMany a+  insertKey a b = liftPersistT $ Sql.insertKey a b+  repsert a b = liftPersistT $ Sql.repsert a b+  replace a b = liftPersistT $ Sql.replace a b+  delete a = liftPersistT $ Sql.delete a+  update a b = liftPersistT $ Sql.update a b+  updateGet a b = liftPersistT $ Sql.updateGet a b+  getJust a = liftPersistT $ Sql.getJust a+  belongsTo a b = liftPersistT $ Sql.belongsTo a b+  belongsToJust a b = liftPersistT $ Sql.belongsToJust a b+  insertEntity a = liftPersistT $ Sql.insertEntity a+  getBy a = liftPersistT $ Sql.getBy a+  deleteBy a = liftPersistT $ Sql.deleteBy a+  insertUnique a = liftPersistT $ Sql.insertUnique a+  upsert a b = liftPersistT $ Sql.upsert a b+  getByValue a = liftPersistT $ Sql.getByValue a+  insertBy a = liftPersistT $ Sql.insertBy a+  replaceUnique a b = liftPersistT $ Sql.replaceUnique a b+  checkUnique a = liftPersistT $ Sql.checkUnique a+  onlyUnique a = liftPersistT $ Sql.onlyUnique a+  selectFirst a b = liftPersistT $ Sql.selectFirst a b+  count a = liftPersistT $ Sql.count a+  updateWhere a b = liftPersistT $ Sql.updateWhere a b+  deleteWhere a = liftPersistT $ Sql.deleteWhere a+  selectList a b = liftPersistT $ Sql.selectList a b+  selectKeysList a b = liftPersistT $ Sql.selectKeysList a b+  deleteCascade a = liftPersistT $ Sql.deleteCascade a+  deleteCascadeWhere a = liftPersistT $ Sql.deleteCascadeWhere a+  parseMigration a = liftPersistT $ Sql.parseMigration a+  parseMigration' a = liftPersistT $ Sql.parseMigration' a+  printMigration a = liftPersistT $ Sql.printMigration a+  showMigration a = liftPersistT $ Sql.showMigration a+  getMigration a = liftPersistT $ Sql.getMigration a+  runMigration a = liftPersistT $ Sql.runMigration a+  runMigrationSilent a = liftPersistT $ Sql.runMigrationSilent a+  runMigrationUnsafe a = liftPersistT $ Sql.runMigrationUnsafe a+  rawExecute a b = liftPersistT $ Sql.rawExecute a b+  rawExecuteCount a b = liftPersistT $ Sql.rawExecuteCount a b+  rawSql a b = liftPersistT $ Sql.rawSql a b+  transactionSave = liftPersistT Sql.transactionSave+  transactionUndo = liftPersistT Sql.transactionUndo+   {-# INLINE get #-}   {-# INLINE insert #-}   {-# INLINE insert_ #-}@@ -487,13 +490,13 @@   {-# INLINE transactionUndo #-}  #if MIN_VERSION_persistent(2,6,0)-  upsertBy a b c = PersistT $ Sql.upsertBy a b c+  upsertBy a b c = liftPersistT $ Sql.upsertBy a b c   {-# INLINE upsertBy #-} #endif #if MIN_VERSION_persistent(2,6,1)-  getJustEntity a = PersistT $ Sql.getJustEntity a-  getEntity a = PersistT $ Sql.getEntity a-  insertRecord a = PersistT $ Sql.insertRecord a+  getJustEntity a = liftPersistT $ Sql.getJustEntity a+  getEntity a = liftPersistT $ Sql.getEntity a+  insertRecord a = liftPersistT $ Sql.insertRecord a    {-# INLINE getJustEntity #-}   {-# INLINE getEntity #-}
monad-persist.cabal view
@@ -1,9 +1,9 @@--- This file has been generated from package.yaml by hpack version 0.15.0.+-- This file has been generated from package.yaml by hpack version 0.17.0. -- -- see: https://github.com/sol/hpack  name:           monad-persist-version:        0.0.1.1+version:        0.0.1.2 synopsis:       An mtl-style typeclass and transformer for persistent. description:    An mtl-style typeclass and transformer for persistent. category:       Database
package.yaml view
@@ -1,5 +1,5 @@ name: monad-persist-version: 0.0.1.1+version: 0.0.1.2 category: Database synopsis: An mtl-style typeclass and transformer for persistent. description: An mtl-style typeclass and transformer for persistent.