Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data KillCommand = KillCommand
- newtype PoolConn = PoolConn {}
- data ConnectionClients = ConnectionClients {}
- data Pools = Pools {}
- connectionSettings :: DbConfig -> Settings
- dbError :: Maybe ByteString -> DbConnectionError
- withActive :: Member (AtomicState Pools) r => (Int -> Map ConnectionTag ConnectionClients -> Sem r a) -> Sem r (Maybe a)
- acquireNative :: Members [Stop DbConnectionError, Embed IO] r => DbConfig -> Sem r Connection
- acquire :: Members [AtomicState Pools, Stop DbConnectionError, Embed IO] r => DbConfig -> ConnectionTag -> Sem r Connection
- reuseOrAcquire :: Members [AtomicState Pools, Stop DbConnectionError, Log, Embed IO] r => DbConfig -> ConnectionTag -> Sem r Connection
- releaseNative :: Members [Stop DbConnectionError, Embed IO] r => Connection -> Sem r ()
- release :: Members [AtomicState Pools, Stop DbConnectionError, Embed IO] r => ConnectionTag -> Sem r ()
- removeActive :: ConnectionTag -> Pools -> (Pools, Maybe Connection)
- catchingKill :: Members [Stop DbConnectionError, Final IO] r => Sem r a -> Sem r a
- withRegisteredClient :: Members [AtomicState Pools, Stop DbConnectionError, Resource, Embed IO, Final IO] r => ConnectionTag -> Sem r a -> Sem r a
- releaseAll :: Members [AtomicState Pools, Log, Resource, Embed IO, Final IO] r => Sem r ()
- handleDbConnectionPool :: Members [AtomicState Pools, Stop DbConnectionError, Log, Resource, Embed IO, Final IO] r => DbConfig -> DbConnectionPool m a -> Tactical e m r a
- interpretDbConnectionPool :: Members [Log, Resource, Embed IO, Final IO] r => DbConfig -> Maybe Int -> Maybe Int -> InterpreterFor (DbConnectionPool !! DbConnectionError) r
- handleDbConnectionPoolSingle :: Members [AtomicState (Maybe Connection), Stop DbConnectionError, Embed IO] r => DbConfig -> DbConnectionPool m a -> Tactical e m r a
- interpretDbConnectionPoolSingle :: Member (Embed IO) r => DbConfig -> InterpreterFor (DbConnectionPool !! DbConnectionError) r
Documentation
data KillCommand Source #
Instances
Exception KillCommand Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool | |
Show KillCommand Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool showsPrec :: Int -> KillCommand -> ShowS # show :: KillCommand -> String # showList :: [KillCommand] -> ShowS # |
Instances
Generic PoolConn Source # | |
Show PoolConn Source # | |
type Rep PoolConn Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool type Rep PoolConn = D1 ('MetaData "PoolConn" "Polysemy.Hasql.Interpreter.DbConnectionPool" "polysemy-hasql-0.0.1.0-J57ntdmSXbcGQB3s2TvhBu" 'True) (C1 ('MetaCons "PoolConn" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPoolConn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Connection))) |
data ConnectionClients Source #
Instances
Generic ConnectionClients Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool type Rep ConnectionClients :: Type -> Type # from :: ConnectionClients -> Rep ConnectionClients x # to :: Rep ConnectionClients x -> ConnectionClients # | |
Show ConnectionClients Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool showsPrec :: Int -> ConnectionClients -> ShowS # show :: ConnectionClients -> String # showList :: [ConnectionClients] -> ShowS # | |
type Rep ConnectionClients Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool type Rep ConnectionClients = D1 ('MetaData "ConnectionClients" "Polysemy.Hasql.Interpreter.DbConnectionPool" "polysemy-hasql-0.0.1.0-J57ntdmSXbcGQB3s2TvhBu" 'False) (C1 ('MetaCons "ConnectionClients" 'PrefixI 'True) (S1 ('MetaSel ('Just "connection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PoolConn) :*: S1 ('MetaSel ('Just "clients") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ThreadId Int)))) |
Pools | |
|
Instances
Generic Pools Source # | |
Show Pools Source # | |
type Rep Pools Source # | |
Defined in Polysemy.Hasql.Interpreter.DbConnectionPool type Rep Pools = D1 ('MetaData "Pools" "Polysemy.Hasql.Interpreter.DbConnectionPool" "polysemy-hasql-0.0.1.0-J57ntdmSXbcGQB3s2TvhBu" 'False) (C1 ('MetaCons "Pools" 'PrefixI 'True) ((S1 ('MetaSel ('Just "maxActive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "maxAvailable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int))) :*: (S1 ('MetaSel ('Just "active") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ConnectionTag ConnectionClients)) :*: S1 ('MetaSel ('Just "available") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq PoolConn))))) |
withActive :: Member (AtomicState Pools) r => (Int -> Map ConnectionTag ConnectionClients -> Sem r a) -> Sem r (Maybe a) Source #
acquireNative :: Members [Stop DbConnectionError, Embed IO] r => DbConfig -> Sem r Connection Source #
acquire :: Members [AtomicState Pools, Stop DbConnectionError, Embed IO] r => DbConfig -> ConnectionTag -> Sem r Connection Source #
reuseOrAcquire :: Members [AtomicState Pools, Stop DbConnectionError, Log, Embed IO] r => DbConfig -> ConnectionTag -> Sem r Connection Source #
releaseNative :: Members [Stop DbConnectionError, Embed IO] r => Connection -> Sem r () Source #
release :: Members [AtomicState Pools, Stop DbConnectionError, Embed IO] r => ConnectionTag -> Sem r () Source #
removeActive :: ConnectionTag -> Pools -> (Pools, Maybe Connection) Source #
Remove the connection used by ctag
from the active pool if it exists.
Store it for reuse if maxAvailable
is Nothing
or larger than the currently stored number, otherwise return the
connection for release.
catchingKill :: Members [Stop DbConnectionError, Final IO] r => Sem r a -> Sem r a Source #
withRegisteredClient :: Members [AtomicState Pools, Stop DbConnectionError, Resource, Embed IO, Final IO] r => ConnectionTag -> Sem r a -> Sem r a Source #
handleDbConnectionPool :: Members [AtomicState Pools, Stop DbConnectionError, Log, Resource, Embed IO, Final IO] r => DbConfig -> DbConnectionPool m a -> Tactical e m r a Source #
interpretDbConnectionPool :: Members [Log, Resource, Embed IO, Final IO] r => DbConfig -> Maybe Int -> Maybe Int -> InterpreterFor (DbConnectionPool !! DbConnectionError) r Source #
handleDbConnectionPoolSingle :: Members [AtomicState (Maybe Connection), Stop DbConnectionError, Embed IO] r => DbConfig -> DbConnectionPool m a -> Tactical e m r a Source #
interpretDbConnectionPoolSingle :: Member (Embed IO) r => DbConfig -> InterpreterFor (DbConnectionPool !! DbConnectionError) r Source #