hasql-resource-pool 0.5.3.0 → 0.5.3.1
raw patch · 3 files changed
+22/−11 lines, 3 filesdep +hasql-resource-pooldep −hasql-poolPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: hasql-resource-pool
Dependencies removed: hasql-pool
API changes (from Hackage documentation)
- Hasql.Pool: acquireWithStripes :: PoolStripes -> Settings -> IO Pool
+ Hasql.Pool: acquireWith :: PoolStripes -> ConnectionGetter -> Settings -> IO Pool
Files
- CHANGELOG.md +5/−0
- hasql-resource-pool.cabal +2/−2
- library/Hasql/Pool.hs +15/−9
CHANGELOG.md view
@@ -1,3 +1,8 @@+# 0.5.3.1++* `acquireWithStripes` renamed to `aquireWith` and allows specifying a custom `ConnectionGetter`.++ # 0.5.3 Initial release as a new package. The implementation is based on `hasql-pool` v0.5.2.2
hasql-resource-pool.cabal view
@@ -1,7 +1,7 @@ name: hasql-resource-pool version:- 0.5.3.0+ 0.5.3.1 category: Hasql, Database, PostgreSQL synopsis:@@ -76,5 +76,5 @@ build-depends: base-prelude, hasql,- hasql-pool,+ hasql-resource-pool, hspec >= 2.6 && < 3
library/Hasql/Pool.hs view
@@ -3,7 +3,7 @@ , Settings(..) , UsageError(..) , acquire-, acquireWithStripes+, acquireWith , release , use , useWithObserver@@ -33,6 +33,10 @@ type ResidenceTimeout = NominalDiffTime -- |+-- Connection getter action that allows for obtaining Postgres connection settings via external rsources such as AWS tokens etc.+type ConnectionGetter = IO (Either Hasql.Connection.ConnectionError Hasql.Connection.Connection)++-- | -- Settings of the connection pool. Consist of: -- -- * Pool-size.@@ -50,20 +54,22 @@ -- Given the pool-size, timeout and connection settings -- create a connection-pool. acquire :: Settings -> IO Pool-acquire =- acquireWithStripes stripes+acquire settings@(_size, _timeout, connectionSettings) =+ acquireWith stripes (Hasql.Connection.acquire connectionSettings) settings where stripes = 1 -acquireWithStripes :: PoolStripes- -> Settings- -> IO Pool-acquireWithStripes stripes (size, timeout, connectionSettings) =+-- |+-- Similar to 'acquire', allows for finer configuration.+acquireWith :: PoolStripes+ -> ConnectionGetter+ -> Settings+ -> IO Pool+acquireWith stripes connGetter (size, timeout, connectionSettings) = fmap Pool $- ResourcePool.createPool acquire release stripes timeout size+ ResourcePool.createPool connGetter release stripes timeout size where- acquire = Hasql.Connection.acquire connectionSettings release = either (const (pure ())) Hasql.Connection.release