opaleye-trans-0.1.1: 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 :: MonadBaseControl IO m => OpaleyeT m a -> OpaleyeT m a Source

Run a postgresql transaction in the OpaleyeT monad

Queries

query :: (MonadBase IO m, Default QueryRunner a b) => Query a -> OpaleyeT m [b] Source

Execute a Query. See runQuery.

queryFirst :: (MonadBase IO m, Default QueryRunner a b) => Query a -> OpaleyeT m (Maybe b) Source

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

Inserts

insert :: MonadBase IO m => Table w r -> w -> OpaleyeT m Int64 Source

Insert into a Table. See runInsert.

insertMany :: MonadBase IO m => Table w r -> [w] -> OpaleyeT m Int64 Source

Insert many records into a Table. See runInsertMany.

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

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

insertReturningFirst :: (MonadBase IO m, Default QueryRunner a b) => Table w r -> (r -> a) -> w -> OpaleyeT m (Maybe b) Source

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

insertManyReturning :: (MonadBaseControl 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.

Utilities

withConn :: Monad m => (Connection -> m a) -> OpaleyeT m a Source

With a Connection

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.