squeal-postgresql-0.6.0.2: Squeal PostgreSQL Library

Copyright(c) Eitan Chatav 2019
Maintainereitan@morphism.tech
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Squeal.PostgreSQL.Session.Monad

Description

Run Statements in the mtl-style typeclass MonadPQ.

Synopsis

Documentation

class Monad pq => MonadPQ db pq | pq -> db where Source #

MonadPQ is an mtl style constraint, similar to MonadState, for using LibPQ to run Statements.

Minimal complete definition

Nothing

Methods

executeParams :: Statement db x y -> x -> pq (Result y) Source #

executeParams runs a Statement. It calls execParams and doesn't afraid of anything.

executeParams :: (MonadTrans t, MonadPQ db m, pq ~ t m) => Statement db x y -> x -> pq (Result y) Source #

executeParams runs a Statement. It calls execParams and doesn't afraid of anything.

executeParams_ :: Statement db x () -> x -> pq () Source #

executeParams_ runs a returning-free Statement. It calls execParams and doesn't afraid of anything.

execute :: Statement db () y -> pq (Result y) Source #

execute runs a parameter-free Statement.

execute_ :: Statement db () () -> pq () Source #

execute_ runs a parameter-free, returning-free Statement.

executePrepared :: Traversable list => Statement db x y -> list x -> pq (list (Result y)) Source #

executePrepared runs a Statement on a Traversable container by first preparing the statement, then running the prepared statement on each element.

executePrepared :: (MonadTrans t, MonadPQ db m, pq ~ t m) => Traversable list => Statement db x y -> list x -> pq (list (Result y)) Source #

executePrepared runs a Statement on a Traversable container by first preparing the statement, then running the prepared statement on each element.

executePrepared_ :: Foldable list => Statement db x () -> list x -> pq () Source #

executePrepared_ runs a returning-free Statement on a Foldable container by first preparing the statement, then running the prepared statement on each element.

executePrepared_ :: (MonadTrans t, MonadPQ db m, pq ~ t m) => Foldable list => Statement db x () -> list x -> pq () Source #

executePrepared_ runs a returning-free Statement on a Foldable container by first preparing the statement, then running the prepared statement on each element.

Instances
MonadPQ db m => MonadPQ db (MaybeT m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> MaybeT m (Result y) Source #

executeParams_ :: Statement db x () -> x -> MaybeT m () Source #

execute :: Statement db () y -> MaybeT m (Result y) Source #

execute_ :: Statement db () () -> MaybeT m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> MaybeT m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> MaybeT m () Source #

MonadPQ db m => MonadPQ db (ExceptT e m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> ExceptT e m (Result y) Source #

executeParams_ :: Statement db x () -> x -> ExceptT e m () Source #

execute :: Statement db () y -> ExceptT e m (Result y) Source #

execute_ :: Statement db () () -> ExceptT e m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> ExceptT e m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> ExceptT e m () Source #

(Monoid w, MonadPQ db m) => MonadPQ db (WriterT w m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> WriterT w m (Result y) Source #

executeParams_ :: Statement db x () -> x -> WriterT w m () Source #

execute :: Statement db () y -> WriterT w m (Result y) Source #

execute_ :: Statement db () () -> WriterT w m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> WriterT w m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> WriterT w m () Source #

(Monoid w, MonadPQ db m) => MonadPQ db (WriterT w m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> WriterT w m (Result y) Source #

executeParams_ :: Statement db x () -> x -> WriterT w m () Source #

execute :: Statement db () y -> WriterT w m (Result y) Source #

execute_ :: Statement db () () -> WriterT w m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> WriterT w m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> WriterT w m () Source #

MonadPQ db m => MonadPQ db (StateT s m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> StateT s m (Result y) Source #

executeParams_ :: Statement db x () -> x -> StateT s m () Source #

execute :: Statement db () y -> StateT s m (Result y) Source #

execute_ :: Statement db () () -> StateT s m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> StateT s m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> StateT s m () Source #

MonadPQ db m => MonadPQ db (StateT s m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> StateT s m (Result y) Source #

executeParams_ :: Statement db x () -> x -> StateT s m () Source #

execute :: Statement db () y -> StateT s m (Result y) Source #

execute_ :: Statement db () () -> StateT s m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> StateT s m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> StateT s m () Source #

MonadPQ db m => MonadPQ db (IdentityT m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> IdentityT m (Result y) Source #

executeParams_ :: Statement db x () -> x -> IdentityT m () Source #

execute :: Statement db () y -> IdentityT m (Result y) Source #

execute_ :: Statement db () () -> IdentityT m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> IdentityT m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> IdentityT m () Source #

MonadPQ db m => MonadPQ db (ContT r m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> ContT r m (Result y) Source #

executeParams_ :: Statement db x () -> x -> ContT r m () Source #

execute :: Statement db () y -> ContT r m (Result y) Source #

execute_ :: Statement db () () -> ContT r m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> ContT r m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> ContT r m () Source #

MonadPQ db m => MonadPQ db (ReaderT r m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> ReaderT r m (Result y) Source #

executeParams_ :: Statement db x () -> x -> ReaderT r m () Source #

execute :: Statement db () y -> ReaderT r m (Result y) Source #

execute_ :: Statement db () () -> ReaderT r m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> ReaderT r m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> ReaderT r m () Source #

(MonadIO io, db0 ~ db, db1 ~ db) => MonadPQ db (PQ db0 db1 io) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session

Methods

executeParams :: Statement db x y -> x -> PQ db0 db1 io (Result y) Source #

executeParams_ :: Statement db x () -> x -> PQ db0 db1 io () Source #

execute :: Statement db () y -> PQ db0 db1 io (Result y) Source #

execute_ :: Statement db () () -> PQ db0 db1 io () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> PQ db0 db1 io (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> PQ db0 db1 io () Source #

(Monoid w, MonadPQ db m) => MonadPQ db (RWST r w s m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> RWST r w s m (Result y) Source #

executeParams_ :: Statement db x () -> x -> RWST r w s m () Source #

execute :: Statement db () y -> RWST r w s m (Result y) Source #

execute_ :: Statement db () () -> RWST r w s m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> RWST r w s m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> RWST r w s m () Source #

(Monoid w, MonadPQ db m) => MonadPQ db (RWST r w s m) Source # 
Instance details

Defined in Squeal.PostgreSQL.Session.Monad

Methods

executeParams :: Statement db x y -> x -> RWST r w s m (Result y) Source #

executeParams_ :: Statement db x () -> x -> RWST r w s m () Source #

execute :: Statement db () y -> RWST r w s m (Result y) Source #

execute_ :: Statement db () () -> RWST r w s m () Source #

executePrepared :: Traversable list => Statement db x y -> list x -> RWST r w s m (list (Result y)) Source #

executePrepared_ :: Foldable list => Statement db x () -> list x -> RWST r w s m () Source #

manipulateParams Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs, GenericRow row y ys) 
=> Manipulation '[] db params row

insertInto, update, or deleteFrom, and friends

-> x 
-> pq (Result y) 

manipulateParams_ Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs) 
=> Manipulation '[] db params '[]

insertInto_, update_, or deleteFrom_, and friends

-> x 
-> pq () 

manipulateParams_ runs a Manipulation, for a returning-free statement.

manipulate :: (MonadPQ db pq, GenericRow row y ys) => Manipulation '[] db '[] row -> pq (Result y) Source #

manipulate runs a Manipulation, for a parameter-free statement.

manipulate_ :: MonadPQ db pq => Manipulation '[] db '[] '[] -> pq () Source #

manipulate_ runs a Manipulation, for a returning-free, parameter-free statement.

runQueryParams Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs, IsRecord y ys, AllZip FromField row ys) 
=> Query '[] '[] db params row

select and friends

-> x 
-> pq (Result y) 

runQuery Source #

Arguments

:: (MonadPQ db pq, IsRecord y ys, AllZip FromField row ys) 
=> Query '[] '[] db '[] row

select and friends

-> pq (Result y) 

runQuery runs a Query, for a parameter-free statement.

traversePrepared Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs, Traversable list, IsRecord y ys, AllZip FromField row ys) 
=> Manipulation '[] db params row

insertInto, update, or deleteFrom, and friends

-> list x 
-> pq (list (Result y)) 

traversePrepared runs a Manipulation on a Traversable container by first preparing the statement, then running the prepared statement on each element.

forPrepared Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs, Traversable list, IsRecord y ys, AllZip FromField row ys) 
=> list x 
-> Manipulation '[] db params row

insertInto, update, or deleteFrom, and friends

-> pq (list (Result y)) 

traversePrepared_ Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs, Foldable list) 
=> Manipulation '[] db params '[]

insertInto_, update_, or deleteFrom_, and friends

-> list x 
-> pq () 

traversePrepared runs a returning-free Manipulation on a Foldable container by first preparing the statement, then running the prepared statement on each element.

forPrepared_ Source #

Arguments

:: (MonadPQ db pq, GenericParams db params x xs, Foldable list) 
=> list x 
-> Manipulation '[] db params '[]

insertInto_, update_, or deleteFrom_, and friends

-> pq ()