PostgreSQL.Binary.Data

postgresql-binary-0.9.1: Encoders and decoders for the PostgreSQL's binary format

Safe Haskell | None
Language | Haskell2010

PostgreSQL.Binary.Data

Description

Models of supported data structures according to the serialisation format.

Synopsis

- type Array = (Vector ArrayDimension, Vector Content, Bool, OID)
- type ArrayDimension = (Word32, Word32)
- type Content = Maybe ByteString
- type OID = Word32
- type Composite = Vector (OID, Content)
- type HStore = Vector (ByteString, Content)
- type UUID = (Word32, Word32, Word32, Word32)
- type Numeric = (Int16, Word16, Vector Int16)

# Documentation

type Array = (Vector ArrayDimension, Vector Content, Bool, OID) #

A representation of a data serializable to the PostgreSQL array binary format.

Consists of a vector of dimensions, a vector of encoded elements, a flag specifying, whether it contains any nulls, and an oid.

type ArrayDimension = (Word32, Word32) #

A width and a lower bound.

Currently the lower bound is only allowed to have a value of `1`.

type Content = Maybe ByteString #

An encoded value. `Nothing` if it represents a `NULL`.

type OID = Word32 #

A Postgres OID of a type.

type Composite = Vector (OID, Content) #

A representation of a composite Postgres data (Record or Row).

type HStore = Vector (ByteString, Content) #

HStore.

type UUID = (Word32, Word32, Word32, Word32) #

The four components of UUID.

type Numeric = (Int16, Word16, Vector Int16) #

Representation of the PostgreSQL Numeric encoding.

Consists of the following components:

- Point index
- Sign code
- Components