postgresql-tx-query-0.3.0.0: postgresql-tx interfacing for use with postgresql-query.
Safe HaskellNone
LanguageHaskell2010

Database.PostgreSQL.Tx.Query.Internal

Synopsis

Disclaimer

Changes to this module will not be reflected in the library's version updates.

Internals

newtype UnsafePgQueryIO r a Source #

Analogous to TxM but allows for IO. Useful so we can have instances which are required to run postgresql-query functions. See unsafeToPgQueryIO and unsafeFromPgQueryIO for converting to/from TxM.

Constructors

UnsafePgQueryIO (ReaderT r IO a) 

Instances

Instances details
MonadBase IO (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

liftBase :: IO α -> UnsafePgQueryIO r α #

MonadBaseControl IO (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Associated Types

type StM (UnsafePgQueryIO r) a #

Monad (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Functor (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

fmap :: (a -> b) -> UnsafePgQueryIO r a -> UnsafePgQueryIO r b #

(<$) :: a -> UnsafePgQueryIO r b -> UnsafePgQueryIO r a #

Applicative (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

MonadIO (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

liftIO :: IO a -> UnsafePgQueryIO r a #

MonadThrow (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

throwM :: Exception e => e -> UnsafePgQueryIO r a #

PgQueryEnv r => MonadLogger (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> UnsafePgQueryIO r () #

PgQueryEnv r => MonadLoggerIO (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

MonadMask (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

mask :: ((forall a. UnsafePgQueryIO r a -> UnsafePgQueryIO r a) -> UnsafePgQueryIO r b) -> UnsafePgQueryIO r b #

uninterruptibleMask :: ((forall a. UnsafePgQueryIO r a -> UnsafePgQueryIO r a) -> UnsafePgQueryIO r b) -> UnsafePgQueryIO r b #

generalBracket :: UnsafePgQueryIO r a -> (a -> ExitCase b -> UnsafePgQueryIO r c) -> (a -> UnsafePgQueryIO r b) -> UnsafePgQueryIO r (b, c) #

MonadCatch (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

Methods

catch :: Exception e => UnsafePgQueryIO r a -> (e -> UnsafePgQueryIO r a) -> UnsafePgQueryIO r a #

PgQueryEnv r => HasPostgres (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

TransactionSafe (UnsafePgQueryIO r) Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

type StM (UnsafePgQueryIO r) a Source # 
Instance details

Defined in Database.PostgreSQL.Tx.Query.Internal

type StM (UnsafePgQueryIO r) a = StM (ReaderT r IO) a

type Logger = Logger Source #

Re-export of Logger.

Since: 0.1.0.0

type PgQueryM a = forall r. PgQueryEnv r => TxM r a Source #

Monad type alias for running postgresql-query via postgresql-tx.

Since: 0.2.0.0

type PgQueryEnv r = TxEnvs '[Connection, Logger] r :: Constraint Source #

Runtime environment needed to run postgresql-query via postgresql-tx.

Since: 0.2.0.0