Adjust for upcoming split db changes
This commit is contained in:
parent
ab275c599d
commit
5d56abd698
@ -430,8 +430,9 @@ valJ = val . unValue
|
|||||||
|
|
||||||
-- | Synonym for 'Database.Persist.Store.delete' that does not
|
-- | Synonym for 'Database.Persist.Store.delete' that does not
|
||||||
-- clash with @esqueleto@'s 'delete'.
|
-- clash with @esqueleto@'s 'delete'.
|
||||||
deleteKey :: ( PersistStore (PersistEntityBackend val)
|
deleteKey :: ( PersistStore backend
|
||||||
|
, BaseBackend backend ~ PersistEntityBackend val
|
||||||
, MonadIO m
|
, MonadIO m
|
||||||
, PersistEntity val )
|
, PersistEntity val )
|
||||||
=> Key val -> ReaderT (PersistEntityBackend val) m ()
|
=> Key val -> ReaderT backend m ()
|
||||||
deleteKey = Database.Persist.delete
|
deleteKey = Database.Persist.delete
|
||||||
|
|||||||
@ -10,4 +10,4 @@ import Database.Persist.Sql hiding
|
|||||||
, selectKeysList, deleteCascadeWhere, (=.), (+=.), (-=.), (*=.), (/=.)
|
, selectKeysList, deleteCascadeWhere, (=.), (+=.), (-=.), (*=.), (/=.)
|
||||||
, (==.), (!=.), (<.), (>.), (<=.), (>=.), (<-.), (/<-.), (||.)
|
, (==.), (!=.), (<.), (>.), (<=.), (>=.), (<-.), (/<-.), (||.)
|
||||||
, listToJSON, mapToJSON, getPersistMap, limitOffsetOrder, selectSource
|
, listToJSON, mapToJSON, getPersistMap, limitOffsetOrder, selectSource
|
||||||
, update )
|
, update , count )
|
||||||
|
|||||||
@ -754,10 +754,10 @@ rawSelectSource :: ( SqlSelect a r
|
|||||||
, MonadIO m2 )
|
, MonadIO m2 )
|
||||||
=> Mode
|
=> Mode
|
||||||
-> SqlQuery a
|
-> SqlQuery a
|
||||||
-> SqlPersistT m1 (Acquire (C.Source m2 r))
|
-> SqlReadT m1 (Acquire (C.Source m2 r))
|
||||||
rawSelectSource mode query =
|
rawSelectSource mode query =
|
||||||
do
|
do
|
||||||
conn <- R.ask
|
conn <- persistBackend <$> R.ask
|
||||||
res <- run conn
|
res <- run conn
|
||||||
return $ (C.$= massage) `fmap` res
|
return $ (C.$= massage) `fmap` res
|
||||||
where
|
where
|
||||||
@ -833,7 +833,7 @@ selectSource query = do
|
|||||||
-- @SqlExpr (Entity Person)@.
|
-- @SqlExpr (Entity Person)@.
|
||||||
select :: ( SqlSelect a r
|
select :: ( SqlSelect a r
|
||||||
, MonadIO m )
|
, MonadIO m )
|
||||||
=> SqlQuery a -> SqlPersistT m [r]
|
=> SqlQuery a -> SqlReadT m [r]
|
||||||
select query = do
|
select query = do
|
||||||
res <- rawSelectSource SELECT query
|
res <- rawSelectSource SELECT query
|
||||||
conn <- R.ask
|
conn <- R.ask
|
||||||
@ -863,8 +863,8 @@ selectDistinct = select . distinct
|
|||||||
|
|
||||||
-- | (Internal) Run a 'C.Source' of rows.
|
-- | (Internal) Run a 'C.Source' of rows.
|
||||||
runSource :: Monad m =>
|
runSource :: Monad m =>
|
||||||
C.Source (SqlPersistT m) r
|
C.Source (R.ReaderT backend m) r
|
||||||
-> SqlPersistT m [r]
|
-> R.ReaderT backend m [r]
|
||||||
runSource src = src C.$$ CL.consume
|
runSource src = src C.$$ CL.consume
|
||||||
|
|
||||||
|
|
||||||
@ -873,12 +873,12 @@ runSource src = src C.$$ CL.consume
|
|||||||
|
|
||||||
-- | (Internal) Execute an @esqueleto@ statement inside
|
-- | (Internal) Execute an @esqueleto@ statement inside
|
||||||
-- @persistent@'s 'SqlPersistT' monad.
|
-- @persistent@'s 'SqlPersistT' monad.
|
||||||
rawEsqueleto :: ( MonadIO m, SqlSelect a r )
|
rawEsqueleto :: ( MonadIO m, SqlSelect a r, IsPersistBackend backend, BaseBackend backend ~ SqlBackend)
|
||||||
=> Mode
|
=> Mode
|
||||||
-> SqlQuery a
|
-> SqlQuery a
|
||||||
-> SqlPersistT m Int64
|
-> R.ReaderT backend m Int64
|
||||||
rawEsqueleto mode query = do
|
rawEsqueleto mode query = do
|
||||||
conn <- R.ask
|
conn <- persistBackend <$> R.ask
|
||||||
uncurry rawExecuteCount $
|
uncurry rawExecuteCount $
|
||||||
first builderToText $
|
first builderToText $
|
||||||
toRawSql mode (conn, initialIdentState) query
|
toRawSql mode (conn, initialIdentState) query
|
||||||
@ -908,14 +908,14 @@ rawEsqueleto mode query = do
|
|||||||
-- @
|
-- @
|
||||||
delete :: ( MonadIO m )
|
delete :: ( MonadIO m )
|
||||||
=> SqlQuery ()
|
=> SqlQuery ()
|
||||||
-> SqlPersistT m ()
|
-> SqlWriteT m ()
|
||||||
delete = liftM (const ()) . deleteCount
|
delete = liftM (const ()) . deleteCount
|
||||||
|
|
||||||
|
|
||||||
-- | Same as 'delete', but returns the number of rows affected.
|
-- | Same as 'delete', but returns the number of rows affected.
|
||||||
deleteCount :: ( MonadIO m )
|
deleteCount :: ( MonadIO m )
|
||||||
=> SqlQuery ()
|
=> SqlQuery ()
|
||||||
-> SqlPersistT m Int64
|
-> SqlWriteT m Int64
|
||||||
deleteCount = rawEsqueleto DELETE
|
deleteCount = rawEsqueleto DELETE
|
||||||
|
|
||||||
|
|
||||||
@ -934,7 +934,7 @@ deleteCount = rawEsqueleto DELETE
|
|||||||
update :: ( MonadIO m
|
update :: ( MonadIO m
|
||||||
, SqlEntity val )
|
, SqlEntity val )
|
||||||
=> (SqlExpr (Entity val) -> SqlQuery ())
|
=> (SqlExpr (Entity val) -> SqlQuery ())
|
||||||
-> SqlPersistT m ()
|
-> SqlWriteT m ()
|
||||||
update = liftM (const ()) . updateCount
|
update = liftM (const ()) . updateCount
|
||||||
|
|
||||||
|
|
||||||
@ -942,7 +942,7 @@ update = liftM (const ()) . updateCount
|
|||||||
updateCount :: ( MonadIO m
|
updateCount :: ( MonadIO m
|
||||||
, SqlEntity val )
|
, SqlEntity val )
|
||||||
=> (SqlExpr (Entity val) -> SqlQuery ())
|
=> (SqlExpr (Entity val) -> SqlQuery ())
|
||||||
-> SqlPersistT m Int64
|
-> SqlWriteT m Int64
|
||||||
updateCount = rawEsqueleto UPDATE . from
|
updateCount = rawEsqueleto UPDATE . from
|
||||||
|
|
||||||
|
|
||||||
@ -961,7 +961,9 @@ builderToText = TL.toStrict . TLB.toLazyTextWith defaultChunkSize
|
|||||||
-- @esqueleto@, instead of manually using this function (which is
|
-- @esqueleto@, instead of manually using this function (which is
|
||||||
-- possible but tedious), you may just turn on query logging of
|
-- possible but tedious), you may just turn on query logging of
|
||||||
-- @persistent@.
|
-- @persistent@.
|
||||||
toRawSql :: SqlSelect a r => Mode -> IdentInfo -> SqlQuery a -> (TLB.Builder, [PersistValue])
|
toRawSql
|
||||||
|
:: (IsPersistBackend backend, BaseBackend backend ~ SqlBackend, SqlSelect a r)
|
||||||
|
=> Mode -> (backend, IdentState) -> SqlQuery a -> (TLB.Builder, [PersistValue])
|
||||||
toRawSql mode (conn, firstIdentState) query =
|
toRawSql mode (conn, firstIdentState) query =
|
||||||
let ((ret, sd), finalIdentState) =
|
let ((ret, sd), finalIdentState) =
|
||||||
flip S.runState firstIdentState $
|
flip S.runState firstIdentState $
|
||||||
@ -980,7 +982,7 @@ toRawSql mode (conn, firstIdentState) query =
|
|||||||
-- that were used) to the subsequent calls. This ensures
|
-- that were used) to the subsequent calls. This ensures
|
||||||
-- that no name clashes will occur on subqueries that may
|
-- that no name clashes will occur on subqueries that may
|
||||||
-- appear on the expressions below.
|
-- appear on the expressions below.
|
||||||
info = (conn, finalIdentState)
|
info = (persistBackend conn, finalIdentState)
|
||||||
in mconcat
|
in mconcat
|
||||||
[ makeInsertInto info mode ret
|
[ makeInsertInto info mode ret
|
||||||
, makeSelect info mode distinctClause ret
|
, makeSelect info mode distinctClause ret
|
||||||
@ -1745,17 +1747,17 @@ to16 ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p)) = (a,b,c,d,e,f,g,h,i,j,k,
|
|||||||
--
|
--
|
||||||
-- /Since: 2.4.2/
|
-- /Since: 2.4.2/
|
||||||
insertSelect :: (MonadIO m, PersistEntity a) =>
|
insertSelect :: (MonadIO m, PersistEntity a) =>
|
||||||
SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()
|
SqlQuery (SqlExpr (Insertion a)) -> SqlWriteT m ()
|
||||||
insertSelect = liftM (const ()) . insertSelectCount
|
insertSelect = liftM (const ()) . insertSelectCount
|
||||||
|
|
||||||
-- | Insert a 'PersistField' for every selected value, return the count afterward
|
-- | Insert a 'PersistField' for every selected value, return the count afterward
|
||||||
insertSelectCount :: (MonadIO m, PersistEntity a) =>
|
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
|
insertSelectCount = rawEsqueleto INSERT_INTO . fmap EInsertFinal
|
||||||
|
|
||||||
|
|
||||||
-- | Insert a 'PersistField' for every unique selected value.
|
-- | Insert a 'PersistField' for every unique selected value.
|
||||||
insertSelectDistinct :: (MonadIO m, PersistEntity a) =>
|
insertSelectDistinct :: (MonadIO m, PersistEntity a) =>
|
||||||
SqlQuery (SqlExpr (Insertion a)) -> SqlPersistT m ()
|
SqlQuery (SqlExpr (Insertion a)) -> SqlWriteT m ()
|
||||||
insertSelectDistinct = insertSelect . distinct
|
insertSelectDistinct = insertSelect . distinct
|
||||||
{-# DEPRECATED insertSelectDistinct "Since 2.2.4: use 'insertSelect' and 'distinct'." #-}
|
{-# DEPRECATED insertSelectDistinct "Since 2.2.4: use 'insertSelect' and 'distinct'." #-}
|
||||||
|
|||||||
@ -1 +1,7 @@
|
|||||||
resolver: lts-5.1
|
resolver: lts-5.1
|
||||||
|
packages:
|
||||||
|
- location:
|
||||||
|
git: git@github.com:pseudonom/persistent
|
||||||
|
commit: 041eb7346cf5b597d8d6c67dc86dfc55d76acce3
|
||||||
|
subdirs:
|
||||||
|
- persistent
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user