| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Hasql.Pool
Pool
Arguments
| :: Int | Pool size. |
| -> Maybe Int | Connection acquisition timeout in microseconds. |
| -> Settings | Connection settings. |
| -> IO Pool |
Create a connection-pool.
No connections actually get established by this function. It is delegated
to use.
release :: Pool -> IO () Source #
Release all the idle connections in the pool, and mark the in-use connections to be released on return. Any connections acquired after the call will be newly established.
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.
Session failing with a ClientError gets interpreted as a loss of
connection. In such case the connection does not get returned to the pool
and a slot gets freed up for a new connection to be established the next
time one is needed. The error still gets returned from this function.
Errors
data UsageError Source #
Union over all errors that use can result in.
Constructors
| ConnectionUsageError ConnectionError | Attempt to establish a connection failed. |
| SessionUsageError QueryError | Session execution failed. |
| AcquisitionTimeoutUsageError | Timeout acquiring a connection. |
Instances
| Exception UsageError Source # | |
Defined in Hasql.Pool Methods toException :: UsageError -> SomeException # fromException :: SomeException -> Maybe UsageError # displayException :: UsageError -> String # | |
| Show UsageError Source # | |
Defined in Hasql.Pool Methods showsPrec :: Int -> UsageError -> ShowS # show :: UsageError -> String # showList :: [UsageError] -> ShowS # | |
| Eq UsageError Source # | |
Defined in Hasql.Pool | |