Copyright | (c) Eitan Chatav 2019 |
---|---|
Maintainer | [email protected] |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Squeal.PostgreSQL.Session.Monad
Synopsis
- class Monad pq => MonadPQ db pq | pq -> db where
- executeParams :: Statement db x y -> x -> pq (Result y)
- executeParams_ :: Statement db x () -> x -> pq ()
- execute :: Statement db () y -> pq (Result y)
- execute_ :: Statement db () () -> pq ()
- executePrepared :: Traversable list => Statement db x y -> list x -> pq (list (Result y))
- executePrepared_ :: Foldable list => Statement db x () -> list x -> pq ()
- manipulateParams :: (MonadPQ db pq, GenericParams db params x xs, GenericRow row y ys) => Manipulation '[] db params row -> x -> pq (Result y)
- manipulateParams_ :: (MonadPQ db pq, GenericParams db params x xs) => Manipulation '[] db params '[] -> x -> pq ()
- manipulate :: (MonadPQ db pq, GenericRow row y ys) => Manipulation '[] db '[] row -> pq (Result y)
- manipulate_ :: MonadPQ db pq => Manipulation '[] db '[] '[] -> pq ()
- runQueryParams :: (MonadPQ db pq, GenericParams db params x xs, IsRecord y ys, AllZip FromField row ys) => Query '[] '[] db params row -> x -> pq (Result y)
- runQuery :: (MonadPQ db pq, IsRecord y ys, AllZip FromField row ys) => Query '[] '[] db '[] row -> pq (Result y)
- traversePrepared :: (MonadPQ db pq, GenericParams db params x xs, Traversable list, IsRecord y ys, AllZip FromField row ys) => Manipulation '[] db params row -> list x -> pq (list (Result y))
- forPrepared :: (MonadPQ db pq, GenericParams db params x xs, Traversable list, IsRecord y ys, AllZip FromField row ys) => list x -> Manipulation '[] db params row -> pq (list (Result y))
- traversePrepared_ :: (MonadPQ db pq, GenericParams db params x xs, Foldable list) => Manipulation '[] db params '[] -> list x -> pq ()
- forPrepared_ :: (MonadPQ db pq, GenericParams db params x xs, Foldable list) => list x -> Manipulation '[] db params '[] -> pq ()
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 Statement
s.
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_ :: Statement db () () -> pq () Source #
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
Arguments
:: (MonadPQ db pq, GenericParams db params x xs, GenericRow row y ys) | |
=> Manipulation '[] db params row |
|
-> x | |
-> pq (Result y) |
manipulateParams
runs a Manipulation
.
Arguments
:: (MonadPQ db pq, GenericParams db params x xs) | |
=> Manipulation '[] db params '[] |
|
-> 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.
Arguments
:: (MonadPQ db pq, GenericParams db params x xs, IsRecord y ys, AllZip FromField row ys) | |
=> Query '[] '[] db params row |
|
-> x | |
-> pq (Result y) |
runQueryParams
runs a Query
.
Arguments
:: (MonadPQ db pq, GenericParams db params x xs, Traversable list, IsRecord y ys, AllZip FromField row ys) | |
=> Manipulation '[] db params row |
|
-> 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.
Arguments
:: (MonadPQ db pq, GenericParams db params x xs, Traversable list, IsRecord y ys, AllZip FromField row ys) | |
=> list x | |
-> Manipulation '[] db params row |
|
-> pq (list (Result y)) |
forPrepared
is a flipped traversePrepared
Arguments
:: (MonadPQ db pq, GenericParams db params x xs, Foldable list) | |
=> Manipulation '[] db params '[] |
|
-> 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.
Arguments
:: (MonadPQ db pq, GenericParams db params x xs, Foldable list) | |
=> list x | |
-> Manipulation '[] db params '[] |
|
-> pq () |
forPrepared_
is a flipped traversePrepared_