opaleye-0.6.7003.1: An SQL-generating DSL targeting PostgreSQL

Safe HaskellNone
LanguageHaskell2010

Opaleye.Internal.RunQuery

Synopsis

Documentation

data QueryRunnerColumn pgType haskellType Source #

A QueryRunnerColumn pgType haskellType encodes how to turn a value of Postgres type pgType into a value of Haskell type haskellType. For example a value of type QueryRunnerColumn PGText String encodes how to turn a PGText result from the database into a Haskell String.

"QueryRunnerColumn pgType haskellType" corresponds to postgresql-simple's "FieldParser haskellType".

Constructors

QueryRunnerColumn (Unpackspec (Column pgType) ()) (FieldParser haskellType) 
Instances
QueryRunnerColumnDefault sqlType haskellType => Default FromField sqlType haskellType Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

def :: FromField sqlType haskellType #

Functor (FromField u) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

fmap :: (a -> b) -> FromField u a -> FromField u b #

(<$) :: a -> FromField u b -> FromField u a #

data QueryRunner columns haskells Source #

A QueryRunner specifies how to convert Postgres values (columns) into Haskell values (haskells). Most likely you will never need to create on of these or handle one directly. It will be provided for you by the Default QueryRunner instance.

"QueryRunner columns haskells" corresponds to postgresql-simple's "RowParser haskells". "Default QueryRunner columns haskells" corresponds to postgresql-simple's "FromRow haskells".

Constructors

QueryRunner (Unpackspec columns ()) (columns -> RowParser haskells) (columns -> Bool) 
Instances
Profunctor FromFields Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

dimap :: (a -> b) -> (c -> d) -> FromFields b c -> FromFields a d #

lmap :: (a -> b) -> FromFields b c -> FromFields a c #

rmap :: (b -> c) -> FromFields a b -> FromFields a c #

(#.) :: Coercible c b => q b c -> FromFields a b -> FromFields a c #

(.#) :: Coercible b a => FromFields b c -> q a b -> FromFields a c #

ProductProfunctor FromFields Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

purePP :: b -> FromFields a b #

(****) :: FromFields a (b -> c) -> FromFields a b -> FromFields a c #

empty :: FromFields () () #

(***!) :: FromFields a b -> FromFields a' b' -> FromFields (a, a') (b, b') #

SumProfunctor FromFields Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

(+++!) :: FromFields a b -> FromFields a' b' -> FromFields (Either a a') (Either b b') #

QueryRunnerColumnDefault a b => Default QueryRunner (Column a) b Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

def :: QueryRunner (Column a) b #

Functor (FromFields c) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

fmap :: (a -> b) -> FromFields c a -> FromFields c b #

(<$) :: a -> FromFields c b -> FromFields c a #

Applicative (FromFields c) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

Methods

pure :: a -> FromFields c a #

(<*>) :: FromFields c (a -> b) -> FromFields c a -> FromFields c b #

liftA2 :: (a -> b -> c0) -> FromFields c a -> FromFields c b -> FromFields c c0 #

(*>) :: FromFields c a -> FromFields c b -> FromFields c b #

(<*) :: FromFields c a -> FromFields c b -> FromFields c a #

fieldQueryRunnerColumn :: FromField haskell => FromField pgType haskell Source #

class QueryRunnerColumnDefault pgType haskellType where Source #

A QueryRunnerColumnDefault pgType haskellType represents the default way to turn a pgType result from the database into a Haskell value of type haskellType.

"QueryRunnerColumnDefault pgType haskellType" corresponds to postgresql-simple's "FromField haskellType".

Creating an instance of QueryRunnerColumnDefault for your own types is necessary for retrieving those types from the database.

You should use one of the three methods below for writing a QueryRunnerColumnDefault instance.

  1. If you already have a FromField instance for your haskellType, use fieldQueryRunnerColumn. (This is how most of the built-in instances are defined.)
  2. If you don't have a FromField instance, use queryRunnerColumn if possible. See the documentation for queryRunnerColumn for an example.
  3. If you have a more complicated case, but not a FromField instance, write a FieldParser for your type and use fieldParserQueryRunnerColumn. You can also add a FromField instance using this.

Minimal complete definition

queryRunnerColumnDefault

Methods

queryRunnerColumnDefault :: QueryRunnerColumn pgType haskellType Source #

Instances
QueryRunnerColumnDefault PGJsonb String Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGJsonb Value Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGJson String Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGJson Value Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGBytea ByteString Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGBytea ByteString Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGUuid UUID Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGTimestamptz UTCTime Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGTimestamptz ZonedTime Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGTimestamp LocalTime Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGTime TimeOfDay Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGText String Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGText Text Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGText Text Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGNumeric Scientific Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGInt4 Int Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGInt4 Int32 Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGInt8 Int64 Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGFloat8 Double Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGDate Day Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGBool Bool Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGCitext (CI Text) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault PGCitext (CI Text) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

QueryRunnerColumnDefault a b => QueryRunnerColumnDefault (Nullable a) (Maybe b) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

(Typeable b, FromField b, QueryRunnerColumnDefault a b) => QueryRunnerColumnDefault (PGRange a) (PGRange b) Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

(Typeable b, QueryRunnerColumnDefault a b) => QueryRunnerColumnDefault (PGArray a) [b] Source # 
Instance details

Defined in Opaleye.Internal.RunQuery

prepareRowParser :: FromFields columns haskells -> columns -> RowParser haskells Source #

data Cursor haskells Source #

Cursor within a transaction.

Constructors

EmptyCursor 
Cursor (RowParser haskells) Cursor