| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Database.PostgreSQL.Tx.Query
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