yam-datasource 0.5.11 → 0.5.12
raw patch · 2 files changed
+14/−16 lines, 2 filesdep ~persistentdep ~yamPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: persistent, yam
API changes (from Hackage documentation)
- Yam.DataSource: type DataSource = ConnectionPool
+ Yam.DataSource: type DataSource = Pool SqlBackend
Files
- src/Yam/DataSource.hs +11/−13
- yam-datasource.cabal +3/−3
src/Yam/DataSource.hs view
@@ -14,7 +14,6 @@ , selectValue ) where -import Control.Exception (bracket) import Control.Monad.IO.Unlift import Data.Acquire (withAcquire) import Data.Conduit@@ -24,7 +23,7 @@ import System.IO.Unsafe (unsafePerformIO) import Yam hiding (LogFunc) -type DataSource = ConnectionPool+type DataSource = Pool SqlBackend {-# NOINLINE dataSourceKey #-} dataSourceKey :: Key DataSource@@ -62,18 +61,17 @@ logger <- askLoggerIO withRunInIO $ \run -> withResource pool $ run . \c -> runSqlConn db c { connLogFunc = logger } -{-# INLINE runInDB #-}-runInDB :: LogFunc -> DataSourceProvider -> (DataSource -> IO a) -> IO a-runInDB logfunc DataSourceProvider{..} action =- bracket (runLoggingT datasource logfunc) destroyAllResources $ \ds -> do- runLoggingT (runDB ds migration) logfunc- action ds- datasourceMiddleware :: Key DataSource -> DataSourceProvider -> AppMiddleware-datasourceMiddleware k dsp = AppMiddleware $ \env f -> do- lf <- askLoggerIO- logInfo $ "Datasource " <> dbtype dsp <> " Initialized..."- liftIO $ runInDB lf dsp $ \ds -> runLoggingT (f (setAttr k ds env, id)) lf+datasourceMiddleware k DataSourceProvider{..} = simplePoolMiddleware (True, "database " <> dbtype) k open (liftIO . destroyAllResources)+ where+ {-# INLINE trans #-}+ trans :: LoggingT IO a -> App a+ trans a = askLoggerIO >>= liftIO . runLoggingT a+ {-# INLINE open #-}+ open = do+ a <- trans datasource+ trans $ runDB a migration+ return a primaryDatasourceMiddleware = datasourceMiddleware dataSourceKey
yam-datasource.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: yam-datasource-version: 0.5.11+version: 0.5.12 license: BSD3 license-file: LICENSE copyright: (c) Daniel YU@@ -36,8 +36,8 @@ build-depends: base >=4.9 && <5, conduit >=1.3.1 && <1.4,- persistent >=2.9.0 && <2.10,+ persistent >=2.9.1 && <2.10, resource-pool >=0.2.3.2 && <0.3, resourcet >=1.2.2 && <1.3, unliftio-core >=0.1.2.0 && <0.2,- yam >=0.5.11 && <0.6+ yam >=0.5.12 && <0.6