hasql-resource-pool-0.5.3.2: A pool of connections for Hasql based on resource-pool.
Safe HaskellNone
LanguageHaskell2010

Hasql.Pool

Synopsis

Documentation

data Pool Source #

A pool of connections to DB.

Instances

Instances details
Show Pool Source # 
Instance details

Defined in Hasql.Pool

Methods

showsPrec :: Int -> Pool -> ShowS #

show :: Pool -> String #

showList :: [Pool] -> ShowS #

type Settings = (PoolSize, ResidenceTimeout, Settings) Source #

Settings of the connection pool. Consist of:

  • Pool-size.
  • Timeout. An amount of time for which an unused resource is kept open. The smallest acceptable value is 0.5 seconds.
  • Connection settings.

data UsageError Source #

A union over the connection establishment error and the session error.

Instances

Instances details
Eq UsageError Source # 
Instance details

Defined in Hasql.Pool

Show UsageError Source # 
Instance details

Defined in Hasql.Pool

acquire :: Settings -> IO Pool Source #

Given the pool-size, timeout and connection settings create a connection-pool.

acquireWith :: PoolStripes -> ConnectionGetter -> Settings -> IO Pool Source #

Similar to acquire, allows for finer configuration.

release :: Pool -> IO () Source #

Release the connection-pool.

use :: Pool -> Session a -> IO (Either UsageError a) Source #

Use a connection from the pool to run a session and return the connection to the pool, when finished.

useWithObserver :: Maybe ObserverAction -> Pool -> Session a -> IO (Either UsageError a) Source #

Same as use but allows for a custom observer action. You can use it for gathering latency metrics.