postgresql-pure-0.1.2.0: pure Haskell PostgreSQL driver

Safe HaskellNone
LanguageHaskell2010

Database.PostgreSQL.Pure.List

Contents

Description

This is a list interface version of Database.PostgreSQL.Pure.

Typical Example

Prepare a following table.

CREATE TABLE person (
  id serial PRIMARY KEY,
  name varchar(255) NOT NULL
);
INSERT INTO person (name) VALUES ('Ada');

You can run like following to get the record whose ID is 1.

>>> :set -XOverloadedStrings
>>> :set -XFlexibleContexts
>>> :set -XTypeApplications
>>> 
>>> import Database.PostgreSQL.Pure.List
>>> import Data.Default.Class (def)
>>> import Data.Int (Int32)
>>> import Data.ByteString (ByteString)
>>> import Data.Tuple.Only (Only (Only))
>>> 
>>> conn <- connect def
>>> preparedStatementProcedure = parse "" "SELECT id, name FROM person WHERE id = $1" (Left (1, 2))
>>> portalProcedure <- bind "" BinaryFormat BinaryFormat (parameters conn) (const $ fail "") (Only (1 :: Int32)) preparedStatementProcedure
>>> executedProcedure = execute @_ @(Int32, ByteString) 0 (const $ fail "") portalProcedure
>>> ((_, _, e, _), _) <- sync conn executedProcedure
>>> records e
[(1,"Ada")]
Synopsis

Connection

data Config Source #

A configuration of a connection.

Default configuration is def, which is following.

Config
  { address = AddressResolved $ SockAddrInet 5432 $ tupleToHostAddress (127, 0, 0, 1)
  , user = "postgres"
  , password = ""
  , database = ""
  , sendingBufferSize = 2 ^ (12 :: Int)
  , receptionBufferSize = 2 ^ (12 :: Int)
  }

Constructors

Config 

Fields

Instances
Eq Config Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

(==) :: Config -> Config -> Bool #

(/=) :: Config -> Config -> Bool #

Show Config Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Default Config Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

def :: Config #

data Connection Source #

PostgreSQL connection.

$sel:pid:Connection :: Connection -> Pid Source #

The process ID of the server.

$sel:config:Connection :: Connection -> Config Source #

Configuration of this connection.

data Address Source #

IP address.

Constructors

AddressResolved SockAddr

Address which is DNS resolved.

AddressNotResolved HostName ServiceName

Address which is not DNS resolved.

Instances
Eq Address Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

(==) :: Address -> Address -> Bool #

(/=) :: Address -> Address -> Bool #

Show Address Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

type Pid = Int32 Source #

Proccess ID

withConnection :: Config -> (Connection -> IO a) -> IO a Source #

Bracket function for a connection.

connect :: Config -> IO Connection Source #

To connect to the server.

disconnect :: Connection -> IO () Source #

To disconnect to the server.

Extended Query

parse Source #

Arguments

:: PreparedStatementName

A new name of prepared statement.

-> Query

SQL whose placeoholder style is dollar style.

-> Either (Word, Word) ([Oid], [Oid])

A pair of the number of columns of the parameter and the result, or a pair of the list of OIDs of the parameter and the result. On Left an additional pair of a request and a resposne is necessary.

-> PreparedStatementProcedure 

To get the procedure to build the message of parsing SQL query and to parse its response.

bind Source #

Arguments

:: (Bind ps, ToRecord param, MonadFail m) 
=> PortalName

A new name of portal.

-> FormatCode

Binary format or text format for the parameter.

-> FormatCode

Binary format or text format for the results.

-> BackendParameters

The set of the server parameters.

-> StringEncoder

How to encode strings.

-> param

Parameter for this query.

-> ps

Prepared statement.

-> m PortalProcedure 

To get the procedure to build the message of binding the parameter and to parse its response.

execute Source #

Arguments

:: (Execute p, FromRecord result) 
=> Word

How many records to get. “0” means unlimited.

-> StringDecoder

How to decode strings.

-> p

Portal.

-> ExecutedProcedure result 

To get the procedure to build the message of execution and to parse its response.

flush :: Message m => Connection -> m -> IO (MessageResult m) Source #

To build and send the given message and a “Flush” message and to receive and parse those responses.

sync :: Message m => Connection -> m -> IO (MessageResult m, TransactionState) Source #

To build and send the given message and a “Sync” message and to receive and parse those responses.

close :: Close p => p -> CloseProcedure Source #

To build and send the “Close” message and to receive and parse its response.

newtype PreparedStatementName Source #

Name of a prepared statement.

Instances
Eq PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Ord PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Read PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Show PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

IsString PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

HasField "name" (PreparedStatementProcedure n m) PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure

HasField "name" (PreparedStatement n m) PreparedStatementName Source # 
Instance details

Defined in Database.PostgreSQL.Pure

data Portal Source #

This represents a portal which is already processed by a server.

newtype PortalName Source #

Name of a portal.

Constructors

PortalName ByteString 
Instances
Eq PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Ord PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Read PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Show PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

IsString PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

HasField "name" (PortalProcedure n m) PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure

HasField "name" (Portal n m) PortalName Source # 
Instance details

Defined in Database.PostgreSQL.Pure

Methods

getField :: Portal n m -> PortalName #

data Executed r Source #

This represents a result of a “Execute” message which is already processed by a server.

Instances
Eq r => Eq (Executed r) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

(==) :: Executed r -> Executed r -> Bool #

(/=) :: Executed r -> Executed r -> Bool #

Show r => Show (Executed r) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

showsPrec :: Int -> Executed r -> ShowS #

show :: Executed r -> String #

showList :: [Executed r] -> ShowS #

data ExecutedProcedure r Source #

This represents a result of a “Execute” message which is not yet processed by a server.

newtype Query Source #

SQL query.

This fromString counts only ASCII, becouse it is the same with ByteString.

Constructors

Query ByteString 

class Message m Source #

This means than r is a objective of flush and sync.

Instances
Message () Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Methods

builder :: () -> Builder

parser :: () -> Parser (MessageResult ())

Message CloseProcedure Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Message PortalProcedure Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Message PreparedStatementProcedure Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Message m => Message [m] Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Methods

builder :: [m] -> Builder

parser :: [m] -> Parser (MessageResult [m])

Message (ExecutedProcedure r) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

(Message m0, Message m1) => Message (m0, m1) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Methods

builder :: (m0, m1) -> Builder

parser :: (m0, m1) -> Parser (MessageResult (m0, m1))

Message (PortalProcedure parameterLength resultLength) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

Methods

builder :: PortalProcedure parameterLength resultLength -> Builder

parser :: PortalProcedure parameterLength resultLength -> Parser (MessageResult (PortalProcedure parameterLength resultLength))

Message (PreparedStatementProcedure parameterLength resultLength) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

Methods

builder :: PreparedStatementProcedure parameterLength resultLength -> Builder

parser :: PreparedStatementProcedure parameterLength resultLength -> Parser (MessageResult (PreparedStatementProcedure parameterLength resultLength))

(Message m0, Message m1, Message m2) => Message (m0, m1, m2) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Methods

builder :: (m0, m1, m2) -> Builder

parser :: (m0, m1, m2) -> Parser (MessageResult (m0, m1, m2))

Message (ExecutedProcedure parameterLength resultLength r) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

Methods

builder :: ExecutedProcedure parameterLength resultLength r -> Builder

parser :: ExecutedProcedure parameterLength resultLength r -> Parser (MessageResult (ExecutedProcedure parameterLength resultLength r))

(Message m0, Message m1, Message m2, Message m3) => Message (m0, m1, m2, m3) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Methods

builder :: (m0, m1, m2, m3) -> Builder

parser :: (m0, m1, m2, m3) -> Parser (MessageResult (m0, m1, m2, m3))

type family MessageResult m :: Type Source #

To convert a type which means that is is not prcessed by the server to a respective type which means that it is processed by the server.

Instances
type MessageResult () Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

type MessageResult () = ()
type MessageResult CloseProcedure Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

type MessageResult PortalProcedure Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

type MessageResult PreparedStatementProcedure Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

type MessageResult [m] Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

type MessageResult (ExecutedProcedure r) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

type MessageResult (m0, m1) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

type MessageResult (m0, m1) = (MessageResult m0, MessageResult m1)
type MessageResult (PortalProcedure n m) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

type MessageResult (PreparedStatementProcedure n m) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

type MessageResult (m0, m1, m2) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

type MessageResult (m0, m1, m2) = (MessageResult m0, MessageResult m1, MessageResult m2)
type MessageResult (ExecutedProcedure n m r) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

type MessageResult (m0, m1, m2, m3) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

type MessageResult (m0, m1, m2, m3) = (MessageResult m0, MessageResult m1, MessageResult m2, MessageResult m3)

class Bind ps Source #

This means that ps is a objective of bind.

Minimal complete definition

bind

class Execute p Source #

This means that p is a objective of execute.

Minimal complete definition

execute

class Close p Source #

This means that p is a objective of close.

Minimal complete definition

close

Instances
Close Portal Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Close PreparedStatement Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Query

Close (Portal parameterLength resultLength) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

Methods

close :: Portal parameterLength resultLength -> CloseProcedure Source #

Close (PreparedStatement parameterLength resultLength) Source # 
Instance details

Defined in Database.PostgreSQL.Pure

Methods

close :: PreparedStatement parameterLength resultLength -> CloseProcedure Source #

type StringEncoder = String -> Either String ByteString Source #

Encoder of strings which may fail.

type StringDecoder = ByteString -> Either String String Source #

Decoder of strings which may fail.

Transaction

begin :: ExecutedProcedure () Source #

To send BEGIN SQL statement.

commit :: ExecutedProcedure () Source #

To send COMMIT SQL statement.

rollback :: ExecutedProcedure () Source #

To send ROLLBACK SQL statement.

Record

class FromField a where Source #

This means that a field can be decoded as a.

Methods

fromField :: MonadFail m => StringDecoder -> ColumnInfo -> Maybe ByteString -> m a Source #

Decoder of a field.

Instances
FromField Bool Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Char Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Double Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Float Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Int Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Int16 Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Int32 Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Int64 Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField SqlValue Source # 
Instance details

Defined in Database.HDBC.PostgreSQL.Pure

FromField ByteString Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Scientific Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField UTCTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Day Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField DiffTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField TimeOfDay Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField LocalTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField Raw Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField a => FromField (Maybe a) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField (TimeOfDay, TimeZone) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

class FromRecord a where Source #

This means that a record can be parsed as a.

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser a Source #

Decoder of a record.

Instances
FromRecord () Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

(FromField a, Single c, t ~ c a) => FromRecord t Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

FromField a => FromRecord [a] Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

(FromField a, FromField b) => FromRecord (a, b) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

(FromField a, FromField b, FromField c) => FromRecord (a, b, c) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c) Source #

(FromField a, FromField b, FromField c, FromField d) => FromRecord (a, b, c, d) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e) => FromRecord (a, b, c, d, e) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f) => FromRecord (a, b, c, d, e, f) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g) => FromRecord (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h) => FromRecord (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i) => FromRecord (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i, FromField j) => FromRecord (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i, j) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i, FromField j, FromField k) => FromRecord (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i, j, k) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i, FromField j, FromField k, FromField l) => FromRecord (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i, FromField j, FromField k, FromField l, FromField m) => FromRecord (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i, FromField j, FromField k, FromField l, FromField m, FromField n) => FromRecord (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(FromField a, FromField b, FromField c, FromField d, FromField e, FromField f, FromField g, FromField h, FromField i, FromField j, FromField k, FromField l, FromField m, FromField n, FromField o) => FromRecord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Methods

fromRecord :: StringDecoder -> [ColumnInfo] -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

class ToField a where Source #

This means that a can be encoded to a field.

Methods

toField :: MonadFail m => BackendParameters -> StringEncoder -> Maybe Oid -> FormatCode -> a -> m (Maybe ByteString) Source #

Encoder of a field.

Instances
ToField Bool Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Char Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Double Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Float Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Int Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Int16 Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Int32 Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Int64 Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Rational Source #

Security risk of DoS attack.

You should convert Rational to Scientific with fromRationalRepetend in the user side. If the rational value is computed to repeating decimals like 1/3 = 0.3333…, this consumes a lot of memories. This is provided because of the HDBC compatibility.

Instance details

Defined in Database.HDBC.PostgreSQL.Pure

ToField () Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField String Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField NominalDiffTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField SqlValue Source # 
Instance details

Defined in Database.HDBC.PostgreSQL.Pure

ToField ByteString Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Scientific Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField UTCTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Day Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField DiffTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField TimeOfDay Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField LocalTime Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

HasResolution a => ToField (Fixed a) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField (TimeOfDay, TimeZone) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

class ToRecord a where Source #

This means that a can be encoded to a record.

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> a -> m [Maybe ByteString] Source #

Encoder of a field.

Instances
ToRecord () Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

(ToField a, Single c, t ~ c a) => ToRecord t Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

ToField a => ToRecord [a] Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

(ToField a, ToField b) => ToRecord (a, b) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

(ToField a, ToField b, ToField c) => ToRecord (a, b, c) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d) => ToRecord (a, b, c, d) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e) => ToRecord (a, b, c, d, e) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f) => ToRecord (a, b, c, d, e, f) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g) => ToRecord (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h) => ToRecord (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i) => ToRecord (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i, ToField j) => ToRecord (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i, j) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i, ToField j, ToField k) => ToRecord (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i, j, k) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i, ToField j, ToField k, ToField l) => ToRecord (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i, j, k, l) -> m [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i, ToField j, ToField k, ToField l, ToField m) => ToRecord (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m0 => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> m0 [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i, ToField j, ToField k, ToField l, ToField m, ToField n) => ToRecord (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m0 => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> m0 [Maybe ByteString] Source #

(ToField a, ToField b, ToField c, ToField d, ToField e, ToField f, ToField g, ToField h, ToField i, ToField j, ToField k, ToField l, ToField m, ToField n, ToField o) => ToRecord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

Methods

toRecord :: MonadFail m0 => BackendParameters -> StringEncoder -> Maybe [Oid] -> [FormatCode] -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> m0 [Maybe ByteString] Source #

data Raw where Source #

Data without encoding nor decoding of a field.

Bundled Patterns

pattern Value :: ByteString -> Raw

Not NULL.

pattern Null :: Raw

NULL.

Instances
Eq Raw Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

(==) :: Raw -> Raw -> Bool #

(/=) :: Raw -> Raw -> Bool #

Ord Raw Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

compare :: Raw -> Raw -> Ordering #

(<) :: Raw -> Raw -> Bool #

(<=) :: Raw -> Raw -> Bool #

(>) :: Raw -> Raw -> Bool #

(>=) :: Raw -> Raw -> Bool #

max :: Raw -> Raw -> Raw #

min :: Raw -> Raw -> Raw #

Read Raw Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Show Raw Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Data

Methods

showsPrec :: Int -> Raw -> ShowS #

show :: Raw -> String #

showList :: [Raw] -> ShowS #

FromField Raw Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Exception

OID

data Oid Source #

OID.

Constant values are listed in Database.PostgreSQL.Pure.Oid.

Instances
Eq Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Oid

Methods

(==) :: Oid -> Oid -> Bool #

(/=) :: Oid -> Oid -> Bool #

Num Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Oid

Methods

(+) :: Oid -> Oid -> Oid #

(-) :: Oid -> Oid -> Oid #

(*) :: Oid -> Oid -> Oid #

negate :: Oid -> Oid #

abs :: Oid -> Oid #

signum :: Oid -> Oid #

fromInteger :: Integer -> Oid #

Read Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Oid

Show Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Oid

Methods

showsPrec :: Int -> Oid -> ShowS #

show :: Oid -> String #

showList :: [Oid] -> ShowS #

ToField Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Builder

FromField Oid Source # 
Instance details

Defined in Database.PostgreSQL.Pure.Internal.Parser

Convertible Oid SqlTypeId Source # 
Instance details

Defined in Database.HDBC.PostgreSQL.Pure