-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Pool of connections for Hasql -- -- Pool of connections for Hasql @package hasql-pool @version 0.8 module Hasql.Pool -- | A pool of connections to DB. data Pool -- | Create a connection-pool. -- -- No connections actually get established by this function. It is -- delegated to use. acquire :: Int -> Maybe Int -> Settings -> IO Pool -- | Create a connection-pool. -- -- In difference to acquire new settings get fetched each time a -- connection is created. This may be useful for some security models. -- -- No connections actually get established by this function. It is -- delegated to use. acquireDynamically :: Int -> Maybe Int -> IO Settings -> IO Pool -- | 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. release :: Pool -> IO () -- | 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. use :: Pool -> Session a -> IO (Either UsageError a) -- | Union over all errors that use can result in. data UsageError -- | Attempt to establish a connection failed. ConnectionUsageError :: ConnectionError -> UsageError -- | Session execution failed. SessionUsageError :: QueryError -> UsageError -- | Timeout acquiring a connection. AcquisitionTimeoutUsageError :: UsageError instance GHC.Classes.Eq Hasql.Pool.UsageError instance GHC.Show.Show Hasql.Pool.UsageError instance GHC.Exception.Type.Exception Hasql.Pool.UsageError