-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Please see the README on GitHub at -- https://github.com/iand675/multipool-postgresql-simple#readme @package multipool-postgresql-simple @version 0.2.0.0 module Data.MultiPool.PostgreSQLSimple class Monad m => MultiPoolBackend (m :: Type -> Type) backend where { type family Primaries backend :: Type; type family Replicas backend :: Type; type family LocalPrimary backend :: Type; type family LocalReplica backend :: Type; type family PrimaryConnection backend :: Type; type family ReplicaConnection backend :: Type; type family PrimaryIdentifier backend :: Type; type family ReplicaIdentifier backend :: Type; } runWriteAny :: MultiPoolBackend m backend => MultiPool backend -> ReaderT (PrimaryConnection backend) m a -> m a runWrite :: MultiPoolBackend m backend => MultiPool backend -> PrimaryIdentifier backend -> ReaderT (PrimaryConnection backend) m a -> m a runReadPrimary :: MultiPoolBackend m backend => MultiPool backend -> PrimaryIdentifier backend -> ReaderT (ReplicaConnection backend) m a -> m a runReadAnyPrimary :: MultiPoolBackend m backend => MultiPool backend -> ReaderT (ReplicaConnection backend) m a -> m a runReadAny :: MultiPoolBackend m backend => MultiPool backend -> ReaderT (ReplicaConnection backend) m a -> m a runRead :: MultiPoolBackend m backend => MultiPool backend -> ReplicaIdentifier backend -> ReaderT (ReplicaConnection backend) m a -> m a takePrimary :: MultiPoolBackend m backend => MultiPool backend -> PrimaryIdentifier backend -> m (PrimaryConnection backend, LocalPrimary backend) putPrimary :: MultiPoolBackend m backend => MultiPool backend -> LocalPrimary backend -> PrimaryConnection backend -> m () takeReplica :: MultiPoolBackend m backend => MultiPool backend -> ReplicaIdentifier backend -> m (ReplicaConnection backend, LocalReplica backend) putReplica :: MultiPoolBackend m backend => MultiPool backend -> LocalReplica backend -> ReplicaConnection backend -> m () initMultiPool :: MonadUnliftIO m => ByteString -> Int -> [(InstanceName Connection, ByteString, Int)] -> m (MultiPool Connection) initMultiPool' :: MonadUnliftIO m => (MultiPool Connection -> IO (Maybe (InstanceName Connection))) -> ByteString -> Int -> [(InstanceName Connection, ByteString, Int)] -> m (MultiPool Connection) instance Control.Monad.IO.Unlift.MonadUnliftIO m => Data.MultiPool.MultiPoolBackend m Database.PostgreSQL.Simple.Internal.Connection