opaleye-trans-0.2.0: A monad transformer for Opaleye

Safe HaskellNone
LanguageHaskell2010

Opaleye.Trans

Contents

Synopsis

Documentation

newtype OpaleyeT m a Source

The Opaleye monad transformer

Constructors

OpaleyeT 

runOpaleyeT :: Connection -> OpaleyeT m a -> m a Source

Given a Connection, run an OpaleyeT

Transactions

transaction :: MonadBase IO m => Transaction a -> OpaleyeT m a Source

Run a postgresql transaction in the OpaleyeT monad

run :: MonadBase IO m => Transaction a -> OpaleyeT m a Source

Execute a query without a literal transaction

Queries

query :: Default QueryRunner a b => Query a -> Transaction [b] Source

Execute a Query. See runQuery.

queryFirst :: Default QueryRunner a b => Query a -> Transaction (Maybe b) Source

Retrieve the first result from a Query. Similar to listToMaybe $ runQuery.

Inserts

insert :: Table w r -> w -> Transaction Int64 Source

Insert into a Table. See runInsert.

insertMany :: Table w r -> [w] -> Transaction Int64 Source

Insert many records into a Table. See runInsertMany.

insertReturning :: Default QueryRunner a b => Table w r -> (r -> a) -> w -> Transaction [b] Source

Insert a record into a Table with a return value. See runInsertReturning.

insertReturningFirst :: Default QueryRunner a b => Table w r -> (r -> a) -> w -> Transaction (Maybe b) Source

Insert a record into a Table with a return value. Retrieve only the first result. Similar to listToMaybe $ insertReturning

insertManyReturning :: (MonadBase IO m, Default QueryRunner a b) => Table w r -> (r -> a) -> [w] -> OpaleyeT m [[b]] Source

Insert many records into a Table with a return value for each record.

Maybe not worth defining. This almost certainly does the wrong thing.

Utilities

Reexports

liftBase :: MonadBase b m => forall α. b α -> m α

Lift a computation from the base monad

class (Applicative b, Applicative m, Monad b, Monad m) => MonadBase b m | m -> b where

Methods

liftBase :: b α -> m α

Lift a computation from the base monad

Instances

MonadBase [] [] 
MonadBase IO IO 
MonadBase Maybe Maybe 
MonadBase Identity Identity 
MonadBase STM STM 
MonadBase b m => MonadBase b (MaybeT m) 
MonadBase b m => MonadBase b (ListT m) 
MonadBase b m => MonadBase b (IdentityT m) 
MonadBase b m => MonadBase b (OpaleyeT m) 
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) 
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) 
MonadBase b m => MonadBase b (StateT s m) 
MonadBase b m => MonadBase b (StateT s m) 
MonadBase b m => MonadBase b (ReaderT r m) 
MonadBase b m => MonadBase b (ExceptT e m) 
(Error e, MonadBase b m) => MonadBase b (ErrorT e m) 
MonadBase b m => MonadBase b (ContT r m) 
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) 
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) 
MonadBase ((->) r) ((->) r) 
MonadBase (Either e) (Either e) 
MonadBase (ST s) (ST s) 
MonadBase (ST s) (ST s) 

ask :: MonadReader r m => m r

Retrieves the monad environment.