packages feed

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 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