postgresql-typed-0.5.1: PostgreSQL interface with compile-time SQL type checking, optional HDBC backend

Copyright2015 Dylan Simon
Safe HaskellNone
LanguageHaskell98

Database.PostgreSQL.Typed.Array

Contents

Description

Representaion of PostgreSQL's array type. Currently this only supports one-dimensional arrays. PostgreSQL arrays in theory can dynamically be any (rectangular) shape.

Synopsis

Documentation

type PGArray a = [Maybe a] #

The cannonical representation of a PostgreSQL array of any type, which may always contain NULLs. Currenly only one-dimetional arrays are supported, although in PostgreSQL, any array may be of any dimentionality.

class (PGType t, PGType (PGElemType t)) => PGArrayType t where #

Class indicating that the first PostgreSQL type is an array of the second. This implies PGParameter and PGColumn instances that will work for any type using comma as a delimiter (i.e., anything but box). This will only work with 1-dimensional arrays.

Associated Types

type PGElemType t :: Symbol #

Methods

pgArrayElementType :: PGTypeID t -> PGTypeID (PGElemType t) #

pgArrayDelim :: PGTypeID t -> Char #

The character used as a delimeter. The default , is correct for all standard types (except box).

Instances

PGType "\"char\"" => PGArrayType "\"char\"[]" # 

Associated Types

type PGElemType ("\"char\"[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "\"char\"[]" -> PGTypeID (PGElemType "\"char\"[]") #

pgArrayDelim :: PGTypeID "\"char\"[]" -> Char #

PGType "abstime" => PGArrayType "abstime[]" # 

Associated Types

type PGElemType ("abstime[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "abstime[]" -> PGTypeID (PGElemType "abstime[]") #

pgArrayDelim :: PGTypeID "abstime[]" -> Char #

PGType "aclitem" => PGArrayType "aclitem[]" # 

Associated Types

type PGElemType ("aclitem[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "aclitem[]" -> PGTypeID (PGElemType "aclitem[]") #

pgArrayDelim :: PGTypeID "aclitem[]" -> Char #

PGType "bigint" => PGArrayType "bigint[]" # 

Associated Types

type PGElemType ("bigint[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "bigint[]" -> PGTypeID (PGElemType "bigint[]") #

pgArrayDelim :: PGTypeID "bigint[]" -> Char #

PGType "bit" => PGArrayType "bit[]" # 

Associated Types

type PGElemType ("bit[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "bit[]" -> PGTypeID (PGElemType "bit[]") #

pgArrayDelim :: PGTypeID "bit[]" -> Char #

PGType "boolean" => PGArrayType "boolean[]" # 

Associated Types

type PGElemType ("boolean[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "boolean[]" -> PGTypeID (PGElemType "boolean[]") #

pgArrayDelim :: PGTypeID "boolean[]" -> Char #

PGType "box" => PGArrayType "box[]" # 

Associated Types

type PGElemType ("box[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "box[]" -> PGTypeID (PGElemType "box[]") #

pgArrayDelim :: PGTypeID "box[]" -> Char #

PGType "bpchar" => PGArrayType "bpchar[]" # 

Associated Types

type PGElemType ("bpchar[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "bpchar[]" -> PGTypeID (PGElemType "bpchar[]") #

pgArrayDelim :: PGTypeID "bpchar[]" -> Char #

PGType "bytea" => PGArrayType "bytea[]" # 

Associated Types

type PGElemType ("bytea[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "bytea[]" -> PGTypeID (PGElemType "bytea[]") #

pgArrayDelim :: PGTypeID "bytea[]" -> Char #

PGType "character varying" => PGArrayType "character varying[]" # 

Associated Types

type PGElemType ("character varying[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "character varying[]" -> PGTypeID (PGElemType "character varying[]") #

pgArrayDelim :: PGTypeID "character varying[]" -> Char #

PGType "cid" => PGArrayType "cid[]" # 

Associated Types

type PGElemType ("cid[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "cid[]" -> PGTypeID (PGElemType "cid[]") #

pgArrayDelim :: PGTypeID "cid[]" -> Char #

PGType "cidr" => PGArrayType "cidr[]" # 

Associated Types

type PGElemType ("cidr[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "cidr[]" -> PGTypeID (PGElemType "cidr[]") #

pgArrayDelim :: PGTypeID "cidr[]" -> Char #

PGType "circle" => PGArrayType "circle[]" # 

Associated Types

type PGElemType ("circle[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "circle[]" -> PGTypeID (PGElemType "circle[]") #

pgArrayDelim :: PGTypeID "circle[]" -> Char #

PGType "cstring" => PGArrayType "cstring[]" # 

Associated Types

type PGElemType ("cstring[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "cstring[]" -> PGTypeID (PGElemType "cstring[]") #

pgArrayDelim :: PGTypeID "cstring[]" -> Char #

PGType "date" => PGArrayType "date[]" # 

Associated Types

type PGElemType ("date[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "date[]" -> PGTypeID (PGElemType "date[]") #

pgArrayDelim :: PGTypeID "date[]" -> Char #

PGType "daterange" => PGArrayType "daterange[]" # 

Associated Types

type PGElemType ("daterange[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "daterange[]" -> PGTypeID (PGElemType "daterange[]") #

pgArrayDelim :: PGTypeID "daterange[]" -> Char #

PGType "double precision" => PGArrayType "double precision[]" # 

Associated Types

type PGElemType ("double precision[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "double precision[]" -> PGTypeID (PGElemType "double precision[]") #

pgArrayDelim :: PGTypeID "double precision[]" -> Char #

PGType "gtsvector" => PGArrayType "gtsvector[]" # 

Associated Types

type PGElemType ("gtsvector[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "gtsvector[]" -> PGTypeID (PGElemType "gtsvector[]") #

pgArrayDelim :: PGTypeID "gtsvector[]" -> Char #

PGType "inet" => PGArrayType "inet[]" # 

Associated Types

type PGElemType ("inet[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "inet[]" -> PGTypeID (PGElemType "inet[]") #

pgArrayDelim :: PGTypeID "inet[]" -> Char #

PGType "int2vector" => PGArrayType "int2vector[]" # 

Associated Types

type PGElemType ("int2vector[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "int2vector[]" -> PGTypeID (PGElemType "int2vector[]") #

pgArrayDelim :: PGTypeID "int2vector[]" -> Char #

PGType "int4range" => PGArrayType "int4range[]" # 

Associated Types

type PGElemType ("int4range[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "int4range[]" -> PGTypeID (PGElemType "int4range[]") #

pgArrayDelim :: PGTypeID "int4range[]" -> Char #

PGType "int8range" => PGArrayType "int8range[]" # 

Associated Types

type PGElemType ("int8range[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "int8range[]" -> PGTypeID (PGElemType "int8range[]") #

pgArrayDelim :: PGTypeID "int8range[]" -> Char #

PGType "integer" => PGArrayType "integer[]" # 

Associated Types

type PGElemType ("integer[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "integer[]" -> PGTypeID (PGElemType "integer[]") #

pgArrayDelim :: PGTypeID "integer[]" -> Char #

PGType "interval" => PGArrayType "interval[]" # 

Associated Types

type PGElemType ("interval[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "interval[]" -> PGTypeID (PGElemType "interval[]") #

pgArrayDelim :: PGTypeID "interval[]" -> Char #

PGType "json" => PGArrayType "json[]" # 

Associated Types

type PGElemType ("json[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "json[]" -> PGTypeID (PGElemType "json[]") #

pgArrayDelim :: PGTypeID "json[]" -> Char #

PGType "line" => PGArrayType "line[]" # 

Associated Types

type PGElemType ("line[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "line[]" -> PGTypeID (PGElemType "line[]") #

pgArrayDelim :: PGTypeID "line[]" -> Char #

PGType "lseg" => PGArrayType "lseg[]" # 

Associated Types

type PGElemType ("lseg[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "lseg[]" -> PGTypeID (PGElemType "lseg[]") #

pgArrayDelim :: PGTypeID "lseg[]" -> Char #

PGType "macaddr" => PGArrayType "macaddr[]" # 

Associated Types

type PGElemType ("macaddr[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "macaddr[]" -> PGTypeID (PGElemType "macaddr[]") #

pgArrayDelim :: PGTypeID "macaddr[]" -> Char #

PGType "money" => PGArrayType "money[]" # 

Associated Types

type PGElemType ("money[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "money[]" -> PGTypeID (PGElemType "money[]") #

pgArrayDelim :: PGTypeID "money[]" -> Char #

PGType "name" => PGArrayType "name[]" # 

Associated Types

type PGElemType ("name[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "name[]" -> PGTypeID (PGElemType "name[]") #

pgArrayDelim :: PGTypeID "name[]" -> Char #

PGType "numeric" => PGArrayType "numeric[]" # 

Associated Types

type PGElemType ("numeric[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "numeric[]" -> PGTypeID (PGElemType "numeric[]") #

pgArrayDelim :: PGTypeID "numeric[]" -> Char #

PGType "numrange" => PGArrayType "numrange[]" # 

Associated Types

type PGElemType ("numrange[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "numrange[]" -> PGTypeID (PGElemType "numrange[]") #

pgArrayDelim :: PGTypeID "numrange[]" -> Char #

PGType "oid" => PGArrayType "oid[]" # 

Associated Types

type PGElemType ("oid[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "oid[]" -> PGTypeID (PGElemType "oid[]") #

pgArrayDelim :: PGTypeID "oid[]" -> Char #

PGType "oidvector" => PGArrayType "oidvector[]" # 

Associated Types

type PGElemType ("oidvector[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "oidvector[]" -> PGTypeID (PGElemType "oidvector[]") #

pgArrayDelim :: PGTypeID "oidvector[]" -> Char #

PGType "path" => PGArrayType "path[]" # 

Associated Types

type PGElemType ("path[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "path[]" -> PGTypeID (PGElemType "path[]") #

pgArrayDelim :: PGTypeID "path[]" -> Char #

PGType "point" => PGArrayType "point[]" # 

Associated Types

type PGElemType ("point[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "point[]" -> PGTypeID (PGElemType "point[]") #

pgArrayDelim :: PGTypeID "point[]" -> Char #

PGType "polygon" => PGArrayType "polygon[]" # 

Associated Types

type PGElemType ("polygon[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "polygon[]" -> PGTypeID (PGElemType "polygon[]") #

pgArrayDelim :: PGTypeID "polygon[]" -> Char #

PGType "real" => PGArrayType "real[]" # 

Associated Types

type PGElemType ("real[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "real[]" -> PGTypeID (PGElemType "real[]") #

pgArrayDelim :: PGTypeID "real[]" -> Char #

PGType "record" => PGArrayType "record[]" # 

Associated Types

type PGElemType ("record[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "record[]" -> PGTypeID (PGElemType "record[]") #

pgArrayDelim :: PGTypeID "record[]" -> Char #

PGType "refcursor" => PGArrayType "refcursor[]" # 

Associated Types

type PGElemType ("refcursor[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "refcursor[]" -> PGTypeID (PGElemType "refcursor[]") #

pgArrayDelim :: PGTypeID "refcursor[]" -> Char #

PGType "regclass" => PGArrayType "regclass[]" # 

Associated Types

type PGElemType ("regclass[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regclass[]" -> PGTypeID (PGElemType "regclass[]") #

pgArrayDelim :: PGTypeID "regclass[]" -> Char #

PGType "regconfig" => PGArrayType "regconfig[]" # 

Associated Types

type PGElemType ("regconfig[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regconfig[]" -> PGTypeID (PGElemType "regconfig[]") #

pgArrayDelim :: PGTypeID "regconfig[]" -> Char #

PGType "regdictionary" => PGArrayType "regdictionary[]" # 

Associated Types

type PGElemType ("regdictionary[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regdictionary[]" -> PGTypeID (PGElemType "regdictionary[]") #

pgArrayDelim :: PGTypeID "regdictionary[]" -> Char #

PGType "regoper" => PGArrayType "regoper[]" # 

Associated Types

type PGElemType ("regoper[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regoper[]" -> PGTypeID (PGElemType "regoper[]") #

pgArrayDelim :: PGTypeID "regoper[]" -> Char #

PGType "regoperator" => PGArrayType "regoperator[]" # 

Associated Types

type PGElemType ("regoperator[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regoperator[]" -> PGTypeID (PGElemType "regoperator[]") #

pgArrayDelim :: PGTypeID "regoperator[]" -> Char #

PGType "regproc" => PGArrayType "regproc[]" # 

Associated Types

type PGElemType ("regproc[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regproc[]" -> PGTypeID (PGElemType "regproc[]") #

pgArrayDelim :: PGTypeID "regproc[]" -> Char #

PGType "regprocedure" => PGArrayType "regprocedure[]" # 

Associated Types

type PGElemType ("regprocedure[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regprocedure[]" -> PGTypeID (PGElemType "regprocedure[]") #

pgArrayDelim :: PGTypeID "regprocedure[]" -> Char #

PGType "regtype" => PGArrayType "regtype[]" # 

Associated Types

type PGElemType ("regtype[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "regtype[]" -> PGTypeID (PGElemType "regtype[]") #

pgArrayDelim :: PGTypeID "regtype[]" -> Char #

PGType "reltime" => PGArrayType "reltime[]" # 

Associated Types

type PGElemType ("reltime[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "reltime[]" -> PGTypeID (PGElemType "reltime[]") #

pgArrayDelim :: PGTypeID "reltime[]" -> Char #

PGType "smallint" => PGArrayType "smallint[]" # 

Associated Types

type PGElemType ("smallint[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "smallint[]" -> PGTypeID (PGElemType "smallint[]") #

pgArrayDelim :: PGTypeID "smallint[]" -> Char #

PGType "text" => PGArrayType "text[]" # 

Associated Types

type PGElemType ("text[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "text[]" -> PGTypeID (PGElemType "text[]") #

pgArrayDelim :: PGTypeID "text[]" -> Char #

PGType "tid" => PGArrayType "tid[]" # 

Associated Types

type PGElemType ("tid[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "tid[]" -> PGTypeID (PGElemType "tid[]") #

pgArrayDelim :: PGTypeID "tid[]" -> Char #

PGType "time with time zone" => PGArrayType "time with time zone[]" # 

Associated Types

type PGElemType ("time with time zone[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "time with time zone[]" -> PGTypeID (PGElemType "time with time zone[]") #

pgArrayDelim :: PGTypeID "time with time zone[]" -> Char #

PGType "time without time zone" => PGArrayType "time without time zone[]" # 

Associated Types

type PGElemType ("time without time zone[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "time without time zone[]" -> PGTypeID (PGElemType "time without time zone[]") #

pgArrayDelim :: PGTypeID "time without time zone[]" -> Char #

PGType "timestamp with time zone" => PGArrayType "timestamp with time zone[]" # 

Associated Types

type PGElemType ("timestamp with time zone[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "timestamp with time zone[]" -> PGTypeID (PGElemType "timestamp with time zone[]") #

pgArrayDelim :: PGTypeID "timestamp with time zone[]" -> Char #

PGType "timestamp without time zone" => PGArrayType "timestamp without time zone[]" # 

Associated Types

type PGElemType ("timestamp without time zone[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "timestamp without time zone[]" -> PGTypeID (PGElemType "timestamp without time zone[]") #

pgArrayDelim :: PGTypeID "timestamp without time zone[]" -> Char #

PGType "tinterval" => PGArrayType "tinterval[]" # 

Associated Types

type PGElemType ("tinterval[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "tinterval[]" -> PGTypeID (PGElemType "tinterval[]") #

pgArrayDelim :: PGTypeID "tinterval[]" -> Char #

PGType "tsquery" => PGArrayType "tsquery[]" # 

Associated Types

type PGElemType ("tsquery[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "tsquery[]" -> PGTypeID (PGElemType "tsquery[]") #

pgArrayDelim :: PGTypeID "tsquery[]" -> Char #

PGType "tsrange" => PGArrayType "tsrange[]" # 

Associated Types

type PGElemType ("tsrange[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "tsrange[]" -> PGTypeID (PGElemType "tsrange[]") #

pgArrayDelim :: PGTypeID "tsrange[]" -> Char #

PGType "tstzrange" => PGArrayType "tstzrange[]" # 

Associated Types

type PGElemType ("tstzrange[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "tstzrange[]" -> PGTypeID (PGElemType "tstzrange[]") #

pgArrayDelim :: PGTypeID "tstzrange[]" -> Char #

PGType "tsvector" => PGArrayType "tsvector[]" # 

Associated Types

type PGElemType ("tsvector[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "tsvector[]" -> PGTypeID (PGElemType "tsvector[]") #

pgArrayDelim :: PGTypeID "tsvector[]" -> Char #

PGType "txid_snapshot" => PGArrayType "txid_snapshot[]" # 

Associated Types

type PGElemType ("txid_snapshot[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "txid_snapshot[]" -> PGTypeID (PGElemType "txid_snapshot[]") #

pgArrayDelim :: PGTypeID "txid_snapshot[]" -> Char #

PGType "uuid" => PGArrayType "uuid[]" # 

Associated Types

type PGElemType ("uuid[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "uuid[]" -> PGTypeID (PGElemType "uuid[]") #

pgArrayDelim :: PGTypeID "uuid[]" -> Char #

PGType "varbit" => PGArrayType "varbit[]" # 

Associated Types

type PGElemType ("varbit[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "varbit[]" -> PGTypeID (PGElemType "varbit[]") #

pgArrayDelim :: PGTypeID "varbit[]" -> Char #

PGType "xid" => PGArrayType "xid[]" # 

Associated Types

type PGElemType ("xid[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "xid[]" -> PGTypeID (PGElemType "xid[]") #

pgArrayDelim :: PGTypeID "xid[]" -> Char #

PGType "xml" => PGArrayType "xml[]" # 

Associated Types

type PGElemType ("xml[]" :: Symbol) :: Symbol #

Methods

pgArrayElementType :: PGTypeID "xml[]" -> PGTypeID (PGElemType "xml[]") #

pgArrayDelim :: PGTypeID "xml[]" -> Char #

Orphan instances

PGType "\"char\"" => PGType "\"char\"[]" # 

Associated Types

type PGVal ("\"char\"[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "\"char\"[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "\"char\"[]" -> Bool #

PGType "abstime" => PGType "abstime[]" # 

Associated Types

type PGVal ("abstime[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "abstime[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "abstime[]" -> Bool #

PGType "aclitem" => PGType "aclitem[]" # 

Associated Types

type PGVal ("aclitem[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "aclitem[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "aclitem[]" -> Bool #

PGType "bigint" => PGType "bigint[]" # 

Associated Types

type PGVal ("bigint[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "bigint[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "bigint[]" -> Bool #

PGType "bit" => PGType "bit[]" # 

Associated Types

type PGVal ("bit[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "bit[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "bit[]" -> Bool #

PGType "boolean" => PGType "boolean[]" # 

Associated Types

type PGVal ("boolean[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "boolean[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "boolean[]" -> Bool #

PGType "box" => PGType "box[]" # 

Associated Types

type PGVal ("box[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "box[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "box[]" -> Bool #

PGType "bpchar" => PGType "bpchar[]" # 

Associated Types

type PGVal ("bpchar[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "bpchar[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "bpchar[]" -> Bool #

PGType "bytea" => PGType "bytea[]" # 

Associated Types

type PGVal ("bytea[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "bytea[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "bytea[]" -> Bool #

PGType "character varying" => PGType "character varying[]" # 

Associated Types

type PGVal ("character varying[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "character varying[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "character varying[]" -> Bool #

PGType "cid" => PGType "cid[]" # 

Associated Types

type PGVal ("cid[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "cid[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "cid[]" -> Bool #

PGType "cidr" => PGType "cidr[]" # 

Associated Types

type PGVal ("cidr[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "cidr[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "cidr[]" -> Bool #

PGType "circle" => PGType "circle[]" # 

Associated Types

type PGVal ("circle[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "circle[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "circle[]" -> Bool #

PGType "cstring" => PGType "cstring[]" # 

Associated Types

type PGVal ("cstring[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "cstring[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "cstring[]" -> Bool #

PGType "date" => PGType "date[]" # 

Associated Types

type PGVal ("date[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "date[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "date[]" -> Bool #

PGType "daterange" => PGType "daterange[]" # 

Associated Types

type PGVal ("daterange[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "daterange[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "daterange[]" -> Bool #

PGType "double precision" => PGType "double precision[]" # 

Associated Types

type PGVal ("double precision[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "double precision[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "double precision[]" -> Bool #

PGType "gtsvector" => PGType "gtsvector[]" # 

Associated Types

type PGVal ("gtsvector[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "gtsvector[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "gtsvector[]" -> Bool #

PGType "inet" => PGType "inet[]" # 

Associated Types

type PGVal ("inet[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "inet[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "inet[]" -> Bool #

PGType "int2vector" => PGType "int2vector[]" # 

Associated Types

type PGVal ("int2vector[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "int2vector[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "int2vector[]" -> Bool #

PGType "int4range" => PGType "int4range[]" # 

Associated Types

type PGVal ("int4range[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "int4range[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "int4range[]" -> Bool #

PGType "int8range" => PGType "int8range[]" # 

Associated Types

type PGVal ("int8range[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "int8range[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "int8range[]" -> Bool #

PGType "integer" => PGType "integer[]" # 

Associated Types

type PGVal ("integer[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "integer[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "integer[]" -> Bool #

PGType "interval" => PGType "interval[]" # 

Associated Types

type PGVal ("interval[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "interval[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "interval[]" -> Bool #

PGType "json" => PGType "json[]" # 

Associated Types

type PGVal ("json[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "json[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "json[]" -> Bool #

PGType "line" => PGType "line[]" # 

Associated Types

type PGVal ("line[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "line[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "line[]" -> Bool #

PGType "lseg" => PGType "lseg[]" # 

Associated Types

type PGVal ("lseg[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "lseg[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "lseg[]" -> Bool #

PGType "macaddr" => PGType "macaddr[]" # 

Associated Types

type PGVal ("macaddr[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "macaddr[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "macaddr[]" -> Bool #

PGType "money" => PGType "money[]" # 

Associated Types

type PGVal ("money[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "money[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "money[]" -> Bool #

PGType "name" => PGType "name[]" # 

Associated Types

type PGVal ("name[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "name[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "name[]" -> Bool #

PGType "numeric" => PGType "numeric[]" # 

Associated Types

type PGVal ("numeric[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "numeric[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "numeric[]" -> Bool #

PGType "numrange" => PGType "numrange[]" # 

Associated Types

type PGVal ("numrange[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "numrange[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "numrange[]" -> Bool #

PGType "oid" => PGType "oid[]" # 

Associated Types

type PGVal ("oid[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "oid[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "oid[]" -> Bool #

PGType "oidvector" => PGType "oidvector[]" # 

Associated Types

type PGVal ("oidvector[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "oidvector[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "oidvector[]" -> Bool #

PGType "path" => PGType "path[]" # 

Associated Types

type PGVal ("path[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "path[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "path[]" -> Bool #

PGType "point" => PGType "point[]" # 

Associated Types

type PGVal ("point[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "point[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "point[]" -> Bool #

PGType "polygon" => PGType "polygon[]" # 

Associated Types

type PGVal ("polygon[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "polygon[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "polygon[]" -> Bool #

PGType "real" => PGType "real[]" # 

Associated Types

type PGVal ("real[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "real[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "real[]" -> Bool #

PGType "record" => PGType "record[]" # 

Associated Types

type PGVal ("record[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "record[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "record[]" -> Bool #

PGType "refcursor" => PGType "refcursor[]" # 

Associated Types

type PGVal ("refcursor[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "refcursor[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "refcursor[]" -> Bool #

PGType "regclass" => PGType "regclass[]" # 

Associated Types

type PGVal ("regclass[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regclass[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regclass[]" -> Bool #

PGType "regconfig" => PGType "regconfig[]" # 

Associated Types

type PGVal ("regconfig[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regconfig[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regconfig[]" -> Bool #

PGType "regdictionary" => PGType "regdictionary[]" # 

Associated Types

type PGVal ("regdictionary[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regdictionary[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regdictionary[]" -> Bool #

PGType "regoper" => PGType "regoper[]" # 

Associated Types

type PGVal ("regoper[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regoper[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regoper[]" -> Bool #

PGType "regoperator" => PGType "regoperator[]" # 

Associated Types

type PGVal ("regoperator[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regoperator[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regoperator[]" -> Bool #

PGType "regproc" => PGType "regproc[]" # 

Associated Types

type PGVal ("regproc[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regproc[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regproc[]" -> Bool #

PGType "regprocedure" => PGType "regprocedure[]" # 

Associated Types

type PGVal ("regprocedure[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regprocedure[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regprocedure[]" -> Bool #

PGType "regtype" => PGType "regtype[]" # 

Associated Types

type PGVal ("regtype[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "regtype[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "regtype[]" -> Bool #

PGType "reltime" => PGType "reltime[]" # 

Associated Types

type PGVal ("reltime[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "reltime[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "reltime[]" -> Bool #

PGType "smallint" => PGType "smallint[]" # 

Associated Types

type PGVal ("smallint[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "smallint[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "smallint[]" -> Bool #

PGType "text" => PGType "text[]" # 

Associated Types

type PGVal ("text[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "text[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "text[]" -> Bool #

PGType "tid" => PGType "tid[]" # 

Associated Types

type PGVal ("tid[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "tid[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "tid[]" -> Bool #

PGType "time with time zone" => PGType "time with time zone[]" # 

Associated Types

type PGVal ("time with time zone[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "time with time zone[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "time with time zone[]" -> Bool #

PGType "time without time zone" => PGType "time without time zone[]" # 

Associated Types

type PGVal ("time without time zone[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "time without time zone[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "time without time zone[]" -> Bool #

PGType "timestamp with time zone" => PGType "timestamp with time zone[]" # 

Associated Types

type PGVal ("timestamp with time zone[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "timestamp with time zone[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "timestamp with time zone[]" -> Bool #

PGType "timestamp without time zone" => PGType "timestamp without time zone[]" # 

Associated Types

type PGVal ("timestamp without time zone[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "timestamp without time zone[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "timestamp without time zone[]" -> Bool #

PGType "tinterval" => PGType "tinterval[]" # 

Associated Types

type PGVal ("tinterval[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "tinterval[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "tinterval[]" -> Bool #

PGType "tsquery" => PGType "tsquery[]" # 

Associated Types

type PGVal ("tsquery[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "tsquery[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "tsquery[]" -> Bool #

PGType "tsrange" => PGType "tsrange[]" # 

Associated Types

type PGVal ("tsrange[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "tsrange[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "tsrange[]" -> Bool #

PGType "tstzrange" => PGType "tstzrange[]" # 

Associated Types

type PGVal ("tstzrange[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "tstzrange[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "tstzrange[]" -> Bool #

PGType "tsvector" => PGType "tsvector[]" # 

Associated Types

type PGVal ("tsvector[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "tsvector[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "tsvector[]" -> Bool #

PGType "txid_snapshot" => PGType "txid_snapshot[]" # 

Associated Types

type PGVal ("txid_snapshot[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "txid_snapshot[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "txid_snapshot[]" -> Bool #

PGType "uuid" => PGType "uuid[]" # 

Associated Types

type PGVal ("uuid[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "uuid[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "uuid[]" -> Bool #

PGType "varbit" => PGType "varbit[]" # 

Associated Types

type PGVal ("varbit[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "varbit[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "varbit[]" -> Bool #

PGType "xid" => PGType "xid[]" # 

Associated Types

type PGVal ("xid[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "xid[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "xid[]" -> Bool #

PGType "xml" => PGType "xml[]" # 

Associated Types

type PGVal ("xml[]" :: Symbol) :: * #

Methods

pgTypeName :: PGTypeID "xml[]" -> PGName #

pgBinaryColumn :: PGTypeEnv -> PGTypeID "xml[]" -> Bool #

(PGArrayType t, PGColumn (PGElemType t) a) => PGColumn t (PGArray a) # 

Methods

pgDecode :: PGTypeID t -> PGTextValue -> PGArray a #

pgDecodeBinary :: PGTypeEnv -> PGTypeID t -> PGBinaryValue -> PGArray a #

pgDecodeValue :: PGTypeEnv -> PGTypeID t -> PGValue -> PGArray a #

(PGArrayType t, PGParameter (PGElemType t) a) => PGParameter t [a] #

Allow entirely non-null arrays as parameter inputs only. (Only supported on ghc >= 7.10 due to instance overlap.)

Methods

pgEncode :: PGTypeID t -> [a] -> PGTextValue #

pgLiteral :: PGTypeID t -> [a] -> ByteString #

pgEncodeValue :: PGTypeEnv -> PGTypeID t -> [a] -> PGValue #

(PGArrayType t, PGParameter (PGElemType t) a) => PGParameter t (PGArray a) # 

Methods

pgEncode :: PGTypeID t -> PGArray a -> PGTextValue #

pgLiteral :: PGTypeID t -> PGArray a -> ByteString #

pgEncodeValue :: PGTypeEnv -> PGTypeID t -> PGArray a -> PGValue #