hasql-1.6.3.2: An efficient PostgreSQL driver with a flexible mapping API
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hasql.Connection

Description

This module provides a low-level effectful API dealing with the connections to the database.

Synopsis

Documentation

data Connection Source #

A single connection to the database.

Instances

Instances details
MonadReader Connection Session Source # 
Instance details

Defined in Hasql.Private.Session

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.