postgresql-tx-0.2.0.0: src/Database/PostgreSQL/Tx/Unsafe.hs
module Database.PostgreSQL.Tx.Unsafe
( -- * Introduction
-- $intro
-- ** Operations
unsafeRunIOInTxM
, unsafeWithRunInIOTxM
-- ** For adaptor libraries
, unsafeUnTxM
, unsafeRunTxM
, unsafeMkTxM
, unsafeMksTxM
, unsafeLookupTxEnvIO
, unsafeMkTxException
) where
import Database.PostgreSQL.Tx.Internal
-- $intro
--
-- @postgresql-tx@ discourages performing arbitrary 'IO' within a database
-- transaction, but sometimes performing this 'IO' is necessary. This module
-- provides operations and infrastructure for performing "unsafe" 'IO' actions
-- within 'TxM' or a specific database library implementation monad. It also
-- provides utilities for use in adaptor libraries.
--
-- Clients must explicitly import this module to perform 'IO' in 'TxM' or a
-- specific database library implementation monad. All functions this module
-- provides are prefixed with @unsafe*@. These two factors serve as annotation
-- to simplify understanding exactly which parts of transactional database code
-- are performing arbitary 'IO'.