packages feed

esqueleto 2.4.3 → 2.5.0

raw patch · 6 files changed

+34/−29 lines, 6 filesdep ~basedep ~blaze-htmldep ~bytestringnew-uploader

Dependency ranges changed: base, blaze-html, bytestring, conduit, monad-logger, persistent, resourcet, tagged, transformers, unordered-containers

Files

esqueleto.cabal view
@@ -1,12 +1,12 @@ name:                esqueleto-version:             2.4.3+version:             2.5.0 synopsis:            Type-safe EDSL for SQL queries on persistent backends.-homepage:            https://github.com/prowdsponsor/esqueleto+homepage:            https://github.com/bitemyapp/esqueleto license:             BSD3 license-file:        LICENSE author:              Felipe Lessa-maintainer:          felipe.lessa@gmail.com-copyright:           (c) 2012-2015 Felipe Almeida Lessa+maintainer:          cma@bitemyapp.com+copyright:           (c) 2012-2016 Felipe Almeida Lessa category:            Database build-type:          Simple cabal-version:       >=1.8@@ -66,7 +66,7 @@       base                 >= 4.5     && < 4.9     , bytestring     , text                 >= 0.11    && < 1.3-    , persistent           >= 2.1.1.7 && < 2.3+    , persistent           >= 2.5 && < 2.6     , transformers         >= 0.2     , unordered-containers >= 0.2     , tagged               >= 0.2
src/Database/Esqueleto.hs view
@@ -430,8 +430,9 @@  -- | Synonym for 'Database.Persist.Store.delete' that does not -- clash with @esqueleto@'s 'delete'.-deleteKey :: ( PersistStore (PersistEntityBackend val)+deleteKey :: ( PersistStore backend+             , BaseBackend backend ~ PersistEntityBackend val              , MonadIO m              , PersistEntity val )-          => Key val -> ReaderT (PersistEntityBackend val) m ()+          => Key val -> ReaderT backend m () deleteKey = Database.Persist.delete
src/Database/Esqueleto/Internal/Language.hs view
@@ -471,7 +471,7 @@   -- @   -- select $   -- 'from' $ \\person -> do-  -- 'where_' $ person '^.' PersonId `in_` 'valList' personIds+  -- 'where_' $ person '^.' PersonId ``in_'` 'valList' personIds   -- return person   -- @   --
src/Database/Esqueleto/Internal/PersistentImport.hs view
@@ -10,4 +10,4 @@   , selectKeysList, deleteCascadeWhere, (=.), (+=.), (-=.), (*=.), (/=.)   , (==.), (!=.), (<.), (>.), (<=.), (>=.), (<-.), (/<-.), (||.)   , listToJSON, mapToJSON, getPersistMap, limitOffsetOrder, selectSource-  , update )+  , update , count )
src/Database/Esqueleto/Internal/Sql.hs view
@@ -9,6 +9,7 @@            , UndecidableInstances            , ScopedTypeVariables            , InstanceSigs+           , Rank2Types  #-} -- | This is an internal module, anything exported by this module -- may change without a major version bump.  Please use only@@ -754,10 +755,10 @@                    , MonadIO m2 )                  => Mode                  -> SqlQuery a-                 -> SqlPersistT m1 (Acquire (C.Source m2 r))+                 -> SqlReadT m1 (Acquire (C.Source m2 r)) rawSelectSource mode query =       do-        conn <- R.ask+        conn <- persistBackend <$> R.ask         res <- run conn         return $ (C.$= massage) `fmap` res     where@@ -833,7 +834,7 @@ -- @SqlExpr (Entity Person)@. select :: ( SqlSelect a r           , MonadIO m )-       => SqlQuery a -> SqlPersistT m [r]+       => SqlQuery a -> SqlReadT m [r] select query = do     res <- rawSelectSource SELECT query     conn <- R.ask@@ -863,8 +864,8 @@  -- | (Internal) Run a 'C.Source' of rows. runSource :: Monad m =>-             C.Source (SqlPersistT m) r-          -> SqlPersistT m [r]+             C.Source (R.ReaderT backend m) r+          -> R.ReaderT backend m [r] runSource src = src C.$$ CL.consume  @@ -873,12 +874,12 @@  -- | (Internal) Execute an @esqueleto@ statement inside -- @persistent@'s 'SqlPersistT' monad.-rawEsqueleto :: ( MonadIO m, SqlSelect a r )+rawEsqueleto :: ( MonadIO m, SqlSelect a r, IsSqlBackend backend)            => Mode            -> SqlQuery a-           -> SqlPersistT m Int64+           -> R.ReaderT backend m Int64 rawEsqueleto mode query = do-  conn <- R.ask+  conn <- persistBackend <$> R.ask   uncurry rawExecuteCount $     first builderToText $     toRawSql mode (conn, initialIdentState) query@@ -908,14 +909,14 @@ -- @ delete :: ( MonadIO m )        => SqlQuery ()-       -> SqlPersistT m ()+       -> SqlWriteT m () delete = liftM (const ()) . deleteCount   -- | Same as 'delete', but returns the number of rows affected. deleteCount :: ( MonadIO m )             => SqlQuery ()-            -> SqlPersistT m Int64+            -> SqlWriteT m Int64 deleteCount = rawEsqueleto DELETE  @@ -927,14 +928,14 @@ -- Example of usage: -- -- @--- 'update' $ \p -> do+-- 'update' $ \\p -> do -- 'set' p [ PersonAge '=.' 'just' ('val' thisYear) -. p '^.' PersonBorn ] -- 'where_' $ isNothing (p '^.' PersonAge) -- @ update :: ( MonadIO m           , SqlEntity val )        => (SqlExpr (Entity val) -> SqlQuery ())-       -> SqlPersistT m ()+       -> SqlWriteT m () update = liftM (const ()) . updateCount  @@ -942,7 +943,7 @@ updateCount :: ( MonadIO m                , SqlEntity val )             => (SqlExpr (Entity val) -> SqlQuery ())-            -> SqlPersistT m Int64+            -> SqlWriteT m Int64 updateCount = rawEsqueleto UPDATE . from  @@ -961,7 +962,9 @@ -- @esqueleto@, instead of manually using this function (which is -- possible but tedious), you may just turn on query logging of -- @persistent@.-toRawSql :: SqlSelect a r => Mode -> IdentInfo -> SqlQuery a -> (TLB.Builder, [PersistValue])+toRawSql+  :: (IsSqlBackend backend, SqlSelect a r)+  => Mode -> (backend, IdentState) -> SqlQuery a -> (TLB.Builder, [PersistValue]) toRawSql mode (conn, firstIdentState) query =   let ((ret, sd), finalIdentState) =         flip S.runState firstIdentState $@@ -980,7 +983,7 @@       -- that were used) to the subsequent calls.  This ensures       -- that no name clashes will occur on subqueries that may       -- appear on the expressions below.-      info = (conn, finalIdentState)+      info = (persistBackend conn, finalIdentState)   in mconcat       [ makeInsertInto info mode ret       , makeSelect     info mode distinctClause ret@@ -1745,17 +1748,17 @@ -- -- /Since: 2.4.2/ insertSelect :: (MonadIO m, PersistEntity a) =>-  SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()+  SqlQuery (SqlExpr (Insertion a)) -> SqlWriteT m () insertSelect = liftM (const ()) . insertSelectCount  -- | Insert a 'PersistField' for every selected value, return the count afterward insertSelectCount :: (MonadIO m, PersistEntity a) =>-  SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m Int64+  SqlQuery (SqlExpr (Insertion a)) -> SqlWriteT m Int64 insertSelectCount = rawEsqueleto INSERT_INTO . fmap EInsertFinal   -- | Insert a 'PersistField' for every unique selected value. insertSelectDistinct :: (MonadIO m, PersistEntity a) =>-  SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()+  SqlQuery (SqlExpr (Insertion a)) -> SqlWriteT m () insertSelectDistinct = insertSelect . distinct {-# DEPRECATED insertSelectDistinct "Since 2.2.4: use 'insertSelect' and 'distinct'." #-}
test/Test.hs view
@@ -1396,10 +1396,11 @@   insert' :: ( Functor m-           , PersistStore (PersistEntityBackend val)+           , BaseBackend backend ~ PersistEntityBackend val+           , PersistStore backend            , MonadIO m            , PersistEntity val )-        => val -> ReaderT (PersistEntityBackend val) m (Entity val)+        => val -> ReaderT backend m (Entity val) insert' v = flip Entity v <$> insert v