packages feed

esqueleto 1.3.12 → 1.4

raw patch · 2 files changed

+44/−46 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Database.Esqueleto: delete :: (MonadLogger m, MonadResourceBase m) => SqlQuery () -> SqlPersistT m ()
+ Database.Esqueleto: delete :: (MonadResource m, MonadSqlPersist m) => SqlQuery () -> m ()
- Database.Esqueleto: deleteCount :: (MonadLogger m, MonadResourceBase m) => SqlQuery () -> SqlPersistT m Int64
+ Database.Esqueleto: deleteCount :: (MonadResource m, MonadSqlPersist m) => SqlQuery () -> m Int64
- Database.Esqueleto: insertSelect :: (MonadLogger m, MonadResourceBase m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()
+ Database.Esqueleto: insertSelect :: (MonadResource m, MonadSqlPersist m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> m ()
- Database.Esqueleto: insertSelectDistinct :: (MonadLogger m, MonadResourceBase m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()
+ Database.Esqueleto: insertSelectDistinct :: (MonadResource m, MonadSqlPersist m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> m ()
- Database.Esqueleto: select :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m [r]
+ Database.Esqueleto: select :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m [r]
- Database.Esqueleto: selectDistinct :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m [r]
+ Database.Esqueleto: selectDistinct :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m [r]
- Database.Esqueleto: selectDistinctSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m (Source (ResourceT (SqlPersistT m)) r)
+ Database.Esqueleto: selectDistinctSource :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m (Source m r)
- Database.Esqueleto: selectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m (Source (ResourceT (SqlPersistT m)) r)
+ Database.Esqueleto: selectSource :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m (Source m r)
- Database.Esqueleto: update :: (MonadLogger m, MonadResourceBase m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> SqlPersistT m ()
+ Database.Esqueleto: update :: (MonadResource m, MonadSqlPersist m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> m ()
- Database.Esqueleto: updateCount :: (MonadLogger m, MonadResourceBase m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> SqlPersistT m Int64
+ Database.Esqueleto: updateCount :: (MonadResource m, MonadSqlPersist m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> m Int64
- Database.Esqueleto.Internal.Sql: delete :: (MonadLogger m, MonadResourceBase m) => SqlQuery () -> SqlPersistT m ()
+ Database.Esqueleto.Internal.Sql: delete :: (MonadResource m, MonadSqlPersist m) => SqlQuery () -> m ()
- Database.Esqueleto.Internal.Sql: deleteCount :: (MonadLogger m, MonadResourceBase m) => SqlQuery () -> SqlPersistT m Int64
+ Database.Esqueleto.Internal.Sql: deleteCount :: (MonadResource m, MonadSqlPersist m) => SqlQuery () -> m Int64
- Database.Esqueleto.Internal.Sql: insertSelect :: (MonadLogger m, MonadResourceBase m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()
+ Database.Esqueleto.Internal.Sql: insertSelect :: (MonadResource m, MonadSqlPersist m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> m ()
- Database.Esqueleto.Internal.Sql: insertSelectDistinct :: (MonadLogger m, MonadResourceBase m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()
+ Database.Esqueleto.Internal.Sql: insertSelectDistinct :: (MonadResource m, MonadSqlPersist m, PersistEntity a) => SqlQuery (SqlExpr (Insertion a)) -> m ()
- Database.Esqueleto.Internal.Sql: rawEsqueleto :: (MonadLogger m, MonadResourceBase m, SqlSelect a r) => Mode -> SqlQuery a -> SqlPersistT m Int64
+ Database.Esqueleto.Internal.Sql: rawEsqueleto :: (MonadResource m, MonadSqlPersist m, SqlSelect a r) => Mode -> SqlQuery a -> m Int64
- Database.Esqueleto.Internal.Sql: rawSelectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => Mode -> SqlQuery a -> SqlPersistT m (Source (ResourceT (SqlPersistT m)) r)
+ Database.Esqueleto.Internal.Sql: rawSelectSource :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => Mode -> SqlQuery a -> m (Source m r)
- Database.Esqueleto.Internal.Sql: runSource :: MonadResourceBase m => Source (ResourceT (SqlPersistT m)) r -> SqlPersistT m [r]
+ Database.Esqueleto.Internal.Sql: runSource :: MonadResource m => Source m r -> m [r]
- Database.Esqueleto.Internal.Sql: select :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m [r]
+ Database.Esqueleto.Internal.Sql: select :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m [r]
- Database.Esqueleto.Internal.Sql: selectDistinct :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m [r]
+ Database.Esqueleto.Internal.Sql: selectDistinct :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m [r]
- Database.Esqueleto.Internal.Sql: selectDistinctSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m (Source (ResourceT (SqlPersistT m)) r)
+ Database.Esqueleto.Internal.Sql: selectDistinctSource :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m (Source m r)
- Database.Esqueleto.Internal.Sql: selectSource :: (SqlSelect a r, MonadLogger m, MonadResourceBase m) => SqlQuery a -> SqlPersistT m (Source (ResourceT (SqlPersistT m)) r)
+ Database.Esqueleto.Internal.Sql: selectSource :: (SqlSelect a r, MonadResource m, MonadSqlPersist m) => SqlQuery a -> m (Source m r)
- Database.Esqueleto.Internal.Sql: update :: (MonadLogger m, MonadResourceBase m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> SqlPersistT m ()
+ Database.Esqueleto.Internal.Sql: update :: (MonadResource m, MonadSqlPersist m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> m ()
- Database.Esqueleto.Internal.Sql: updateCount :: (MonadLogger m, MonadResourceBase m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> SqlPersistT m Int64
+ Database.Esqueleto.Internal.Sql: updateCount :: (MonadResource m, MonadSqlPersist m, SqlEntity val) => (SqlExpr (Entity val) -> SqlQuery ()) -> m Int64

Files

esqueleto.cabal view
@@ -1,5 +1,5 @@ name:                esqueleto-version:             1.3.12+version:             1.4 synopsis:            Bare bones, type-safe EDSL for SQL queries on persistent backends. homepage:            https://github.com/meteficha/esqueleto license:             BSD3
src/Database/Esqueleto/Internal/Sql.hs view
@@ -50,15 +50,13 @@ import Control.Exception (throw, throwIO) import Control.Monad ((>=>), ap, void, MonadPlus(..)) import Control.Monad.IO.Class (MonadIO(..))-import Control.Monad.Logger (MonadLogger) import Control.Monad.Trans.Class (lift)-import Control.Monad.Trans.Resource (runResourceT, ResourceT, MonadResourceBase)+import Control.Monad.Trans.Resource (MonadResource) import Data.Int (Int64) import Data.List (intersperse) import Data.Monoid (Monoid(..), (<>)) import Data.Proxy (Proxy(..)) import Database.Esqueleto.Internal.PersistentImport-import qualified Control.Monad.Trans.Reader as R import qualified Control.Monad.Trans.State as S import qualified Control.Monad.Trans.Writer as W import qualified Data.Conduit as C@@ -543,15 +541,15 @@ -- | (Internal) Execute an @esqueleto@ @SELECT@ 'SqlQuery' inside -- @persistent@'s 'SqlPersistT' monad. rawSelectSource :: ( SqlSelect a r-                   , MonadLogger m-                   , MonadResourceBase m )+                   , MonadResource m+                   , MonadSqlPersist m )                  => Mode                  -> SqlQuery a-                 -> SqlPersistT m (C.Source (ResourceT (SqlPersistT m)) r)+                 -> m (C.Source m r) rawSelectSource mode query = src     where       src = do-        conn <- SqlPersistT R.ask+        conn <- askSqlConn         return $ run conn C.$= massage        run conn =@@ -572,10 +570,10 @@ -- | Execute an @esqueleto@ @SELECT@ query inside @persistent@'s -- 'SqlPersistT' monad and return a 'C.Source' of rows. selectSource :: ( SqlSelect a r-                , MonadLogger m-                , MonadResourceBase m )+                , MonadResource m+                , MonadSqlPersist m )              => SqlQuery a-             -> SqlPersistT m (C.Source (ResourceT (SqlPersistT m)) r)+             -> m (C.Source m r) selectSource = rawSelectSource SELECT  @@ -621,9 +619,9 @@ -- function composition that the @p@ inside the query is of type -- @SqlExpr (Entity Person)@. select :: ( SqlSelect a r-          , MonadLogger m-          , MonadResourceBase m )-       => SqlQuery a -> SqlPersistT m [r]+          , MonadResource m+          , MonadSqlPersist m )+       => SqlQuery a -> m [r] select = selectSource >=> runSource  @@ -632,27 +630,27 @@ -- rows. selectDistinctSource   :: ( SqlSelect a r-     , MonadLogger m-     , MonadResourceBase m )+     , MonadResource m+     , MonadSqlPersist m )   => SqlQuery a-  -> SqlPersistT m (C.Source (ResourceT (SqlPersistT m)) r)+  -> m (C.Source m r) selectDistinctSource = rawSelectSource SELECT_DISTINCT   -- | Execute an @esqueleto@ @SELECT DISTINCT@ query inside -- @persistent@'s 'SqlPersistT' monad and return a list of rows. selectDistinct :: ( SqlSelect a r-                  , MonadLogger m-                  , MonadResourceBase m )-               => SqlQuery a -> SqlPersistT m [r]+                  , MonadResource m+                  , MonadSqlPersist m )+               => SqlQuery a -> m [r] selectDistinct = selectDistinctSource >=> runSource   -- | (Internal) Run a 'C.Source' of rows.-runSource :: MonadResourceBase m =>-             C.Source (ResourceT (SqlPersistT m)) r-          -> SqlPersistT m [r]-runSource src = runResourceT $ src C.$$ CL.consume+runSource :: MonadResource m =>+             C.Source m r+          -> m [r]+runSource src = src C.$$ CL.consume   ----------------------------------------------------------------------@@ -660,14 +658,14 @@  -- | (Internal) Execute an @esqueleto@ statement inside -- @persistent@'s 'SqlPersistT' monad.-rawEsqueleto :: ( MonadLogger m-                , MonadResourceBase m+rawEsqueleto :: ( MonadResource m+                , MonadSqlPersist m                 , SqlSelect a r )            => Mode            -> SqlQuery a-           -> SqlPersistT m Int64+           -> m Int64 rawEsqueleto mode query = do-  conn <- SqlPersistT R.ask+  conn <- askSqlConn   uncurry rawExecuteCount $     first builderToText $     toRawSql mode (conn, initialIdentState) query@@ -695,18 +693,18 @@ -- from $ \\(appointment :: SqlExpr (Entity Appointment)) -> -- return () -- @-delete :: ( MonadLogger m-          , MonadResourceBase m )+delete :: ( MonadResource m+          , MonadSqlPersist m )        => SqlQuery ()-       -> SqlPersistT m ()+       -> m () delete = void . deleteCount   -- | Same as 'delete', but returns the number of rows affected.-deleteCount :: ( MonadLogger m-               , MonadResourceBase m )+deleteCount :: ( MonadResource m+               , MonadSqlPersist m )             => SqlQuery ()-            -> SqlPersistT m Int64+            -> m Int64 deleteCount = rawEsqueleto DELETE  @@ -722,38 +720,38 @@ -- set p [ PersonAge =. just (val thisYear) -. p ^. PersonBorn ] -- where_ $ isNull (p ^. PersonAge) -- @-update :: ( MonadLogger m-          , MonadResourceBase m+update :: ( MonadResource m+          , MonadSqlPersist m           , SqlEntity val )        => (SqlExpr (Entity val) -> SqlQuery ())-       -> SqlPersistT m ()+       -> m () update = void . updateCount   -- | Same as 'update', but returns the number of rows affected.-updateCount :: ( MonadLogger m-               , MonadResourceBase m+updateCount :: ( MonadResource m+               , MonadSqlPersist m                , SqlEntity val )             => (SqlExpr (Entity val) -> SqlQuery ())-            -> SqlPersistT m Int64+            -> m Int64 updateCount = rawEsqueleto UPDATE . from   -- | Insert a 'PersistField' for every selected value.-insertSelect :: ( MonadLogger m-                , MonadResourceBase m+insertSelect :: ( MonadResource m+                , MonadSqlPersist m                 , PersistEntity a )-             => SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()+             => SqlQuery (SqlExpr (Insertion a)) -> m () insertSelect =   void . rawEsqueleto (INSERT_INTO SELECT) . fmap EInsertFinal   -- | Insert a 'PersistField' for every unique selected value. insertSelectDistinct-  :: ( MonadLogger m-     , MonadResourceBase m+  :: ( MonadResource m+     , MonadSqlPersist m      , PersistEntity a )-  => SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()+  => SqlQuery (SqlExpr (Insertion a)) -> m () insertSelectDistinct =   void . rawEsqueleto (INSERT_INTO SELECT_DISTINCT) . fmap EInsertFinal