release key
This commit is contained in:
parent
0c6bba7026
commit
2fa9760d51
@ -53,10 +53,10 @@ module Database.Esqueleto.Internal.Sql
|
||||
|
||||
import Control.Arrow ((***), first)
|
||||
import Control.Exception (throw, throwIO)
|
||||
import Control.Monad (ap, MonadPlus(..), join, void)
|
||||
import Control.Monad (ap, MonadPlus(..), void)
|
||||
import Control.Monad.IO.Class (MonadIO(..))
|
||||
import Control.Monad.Trans.Class (lift)
|
||||
import Control.Monad.Trans.Resource (MonadResource)
|
||||
import Control.Monad.Trans.Resource (MonadResource, release)
|
||||
import Data.Acquire (with, allocateAcquire, Acquire)
|
||||
import Data.Int (Int64)
|
||||
import Data.List (intersperse)
|
||||
@ -782,9 +782,11 @@ selectSource :: ( SqlSelect a r
|
||||
, MonadResource m )
|
||||
=> SqlQuery a
|
||||
-> C.Source (SqlPersistT m) r
|
||||
selectSource query = join . lift $ do
|
||||
res <- rawSelectSource SELECT query
|
||||
snd <$> allocateAcquire res
|
||||
selectSource query = do
|
||||
res <- lift $ rawSelectSource SELECT query
|
||||
(key, src) <- lift $ allocateAcquire res
|
||||
src
|
||||
lift $ release key
|
||||
|
||||
-- | Execute an @esqueleto@ @SELECT@ query inside @persistent@'s
|
||||
-- 'SqlPersistT' monad and return a list of rows.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user