Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module provides a low-level effectful API dealing with the connections to the database.
Synopsis
- data Connection
- type ConnectionError = Maybe ByteString
- acquire :: Settings -> IO (Either ConnectionError Connection)
- release :: Connection -> IO ()
- type Settings = ByteString
- settings :: ByteString -> Word16 -> ByteString -> ByteString -> ByteString -> Settings
- withLibPQConnection :: Connection -> (Connection -> IO a) -> IO a
Documentation
data Connection Source #
A single connection to the database.
Instances
MonadReader Connection Session Source # | |
Defined in Hasql.Session.Core ask :: Session Connection # local :: (Connection -> Connection) -> Session a -> Session a # reader :: (Connection -> a) -> Session a # |
type ConnectionError = Maybe ByteString Source #
Possible details of the connection acquistion error.
acquire :: Settings -> IO (Either ConnectionError Connection) Source #
Acquire a connection using the provided settings encoded according to the PostgreSQL format.
release :: Connection -> IO () Source #
Release the connection.
type Settings = ByteString Source #
All settings encoded in a single byte-string according to the PostgreSQL format.
settings :: ByteString -> Word16 -> ByteString -> ByteString -> ByteString -> Settings Source #
Encode a host, a port, a user, a password and a database into the PostgreSQL settings byte-string.
withLibPQConnection :: Connection -> (Connection -> IO a) -> IO a Source #
Execute an operation on the raw libpq
Connection
.
The access to the connection is exclusive.