| Copyright | (c) Eitan Chatav 2019 |
|---|---|
| Maintainer | eitan@morphism.tech |
| 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 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_ :: 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_