This commit is contained in:
Matt Parsons 2017-09-13 17:14:14 -06:00
parent a01f9c8563
commit d621f382bf

View File

@ -781,17 +781,20 @@ veryUnsafeCoerceSqlExprValueList EEmptyList = throw (UnexpectedCaseErr EmptySqlE
---------------------------------------------------------------------- ----------------------------------------------------------------------
type SqlReadT' m a
= forall backend
. (BackendCompatible SqlBackend backend, SqlBackendCanRead backend)
=> R.ReaderT backend m a
-- | (Internal) Execute an @esqueleto@ @SELECT@ 'SqlQuery' inside -- | (Internal) Execute an @esqueleto@ @SELECT@ 'SqlQuery' inside
-- @persistent@'s 'SqlPersistT' monad. -- @persistent@'s 'SqlPersistT' monad.
rawSelectSource :: ( SqlSelect a r rawSelectSource :: ( SqlSelect a r
, MonadIO m1 , MonadIO m1
, MonadIO m2 , MonadIO m2
, SqlBackendCanRead backend )
, BackendCompatible SqlBackend backend)
=> Mode => Mode
-> SqlQuery a -> SqlQuery a
-> R.ReaderT backend m1 (Acquire (C.Source m2 r)) -> SqlReadT' m1 (Acquire (C.Source m2 r))
rawSelectSource mode query = rawSelectSource mode query =
do do
conn <- projectBackend <$> R.ask conn <- projectBackend <$> R.ask
@ -870,10 +873,8 @@ selectSource query = do
-- @SqlExpr (Entity Person)@. -- @SqlExpr (Entity Person)@.
select :: ( SqlSelect a r select :: ( SqlSelect a r
, MonadIO m , MonadIO m
, SqlBackendCanRead backend
, BackendCompatible SqlBackend backend
) )
=> SqlQuery a -> R.ReaderT backend 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