Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type PgQueryEnv r = TxEnvs '[Connection, Logger] r :: Constraint
- type PgQueryM a = forall r. PgQueryEnv r => TxM r a
- type Logger = Logger
- pgWithTransaction :: (PgQueryEnv r, HasCallStack) => r -> (HasCallStack => TxM r a) -> IO a
- pgWithTransactionMode :: (PgQueryEnv r, HasCallStack) => TransactionMode -> r -> (HasCallStack => TxM r a) -> IO a
- pgWithTransactionSerializable :: (PgQueryEnv r, HasCallStack) => r -> (HasCallStack => TxM r a) -> IO a
- pgWithTransactionModeRetry :: (PgQueryEnv r, Exception e, HasCallStack) => TransactionMode -> (e -> Bool) -> r -> (HasCallStack => TxM r a) -> IO a
- pgWithSavepoint :: (HasCallStack => PgQueryM a) -> PgQueryM a
- pgQuery :: (ToSqlBuilder q, FromRow r, HasCallStack) => q -> PgQueryM [r]
- pgQueryWithMasker :: (ToSqlBuilder q, FromRow r, HasCallStack) => LogMasker -> q -> PgQueryM [r]
- pgExecute :: (ToSqlBuilder q, HasCallStack) => q -> PgQueryM Int64
- pgExecuteWithMasker :: (ToSqlBuilder q, HasCallStack) => LogMasker -> q -> PgQueryM Int64
- module Database.PostgreSQL.Tx.Query.Internal.Reexport
Documentation
type PgQueryEnv r = TxEnvs '[Connection, Logger] r :: Constraint Source #
Runtime environment needed to run postgresql-query
via postgresql-tx
.
Since: 0.2.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
pgWithTransaction :: (PgQueryEnv r, HasCallStack) => r -> (HasCallStack => TxM r a) -> IO a Source #
Analogue of pgWithTransaction
.
Since: 0.1.0.0
pgWithTransactionMode :: (PgQueryEnv r, HasCallStack) => TransactionMode -> r -> (HasCallStack => TxM r a) -> IO a Source #
Analogue of pgWithTransactionMode
.
Since: 0.1.0.0
pgWithTransactionSerializable :: (PgQueryEnv r, HasCallStack) => r -> (HasCallStack => TxM r a) -> IO a Source #
Analogue of pgWithTransactionSerializable
Unlike postgresql-query
, uses shouldRetryTx
to also retry
on deadlock_detected
, not just serialization_failure
.
Note that any IO
that occurs inside the TxM
may be executed multiple times.
Since: 0.2.0.0
pgWithTransactionModeRetry :: (PgQueryEnv r, Exception e, HasCallStack) => TransactionMode -> (e -> Bool) -> r -> (HasCallStack => TxM r a) -> IO a Source #
Analogue of pgWithTransactionModeRetry
.
You should generally prefer pgWithTransactionSerializable
.
Note that any IO
that occurs inside the TxM
may be executed multiple times.
Since: 0.2.0.0
pgWithSavepoint :: (HasCallStack => PgQueryM a) -> PgQueryM a Source #
Analogue of pgWithSavepoint
.
Since: 0.2.0.0
pgQuery :: (ToSqlBuilder q, FromRow r, HasCallStack) => q -> PgQueryM [r] Source #
Analogue of pgQuery
.
Since: 0.1.0.0
pgQueryWithMasker :: (ToSqlBuilder q, FromRow r, HasCallStack) => LogMasker -> q -> PgQueryM [r] Source #
Analogue of pgQueryWithMasker
.
Since: 0.2.0.0
pgExecute :: (ToSqlBuilder q, HasCallStack) => q -> PgQueryM Int64 Source #
Analogue of pgExecute
.
Since: 0.1.0.0
pgExecuteWithMasker :: (ToSqlBuilder q, HasCallStack) => LogMasker -> q -> PgQueryM Int64 Source #
Analogue of pgExecuteWithMasker
.
Since: 0.2.0.0